⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 history1.php

📁 一款基于PHP的网络日记程序。WikyBlog支持:多用户的 BLOG
💻 PHP
📖 第 1 页 / 共 2 页
字号:
}//end function////					SINGLE REVISIONS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////					COMPARISON//function compareRevisions(){	global $page,$dbObject;		if( isset($_GET['revNum1']) ){		$revNum1 = $_GET['revNum1'];		$revNum2 = $page->cmdArg[0];	}else{		$revNum1 = $_GET['rev1'];		$revNum2 = $_GET['rev2'];	}		////////	1)	Make sure times are set		if( empty($revNum1) || empty($revNum2) ){			message('SELECT_TWO_VERSIONS');			return;		}elseif( $revNum1 == $revNum2){			message('SELECT_TWO_VERSIONS');			return;		}			////////	2)	Find Min and Max times => get their events		if( (wbStrtolower($revNum1) == 'current') ){			$max = $revNum1;			$min = $revNum2;		}else{			$max = max($revNum1,$revNum2);			$min = min($revNum1,$revNum2);		}				getRevision($max);		$newObject = php4_clone($dbObject);				if( !$newObject){			return false;		}				getRevision($min);		if( !$dbObject){			return false;		}		////////	Do Comparison		compareTwo($dbObject,$newObject);}function compareTwo(&$oldObject,&$newObject,$title='',$oldHeader=false,$newHeader=false){	global $page,$dbObject,$lang;	$page->css2 = true;	includeFile('tool/DifferenceEngine.php');	ob_start();		if( empty($title) ){		$title = toDisplay($dbObject->title).' ('.$oldObject->revision.$lang['vs'].$newObject->revision.')';		$page->displayTitle = $title;	}		if( $oldObject->distanceToCurrent === 1){		$title = $lang['diff'];		$dbObject->links[$title] = '/Edit'.$dbObject->uniqLink.'?cmd=difference';	//for compatibility with changelog links	}elseif($oldObject->distanceToCurrent == 0){		//case when comparing current changes	}else{		$dbObject->links[$title] = '/Edit'.$dbObject->uniqLink.'?cmd=compare&rev1='.$oldObject->revision.'&rev2='.$newObject->revision;	}			//Top of Differences	//	//	echo '<table cellspacing="3" cellpadding="1" border="0" width="98%">';	echo '<tr><td></td><td style="text-align:center;width:50%">';	$isOwner = isOwner();			//	Old Header		//		$editLink = false;		if( $oldHeader ){			echo $oldHeader;		}else{			if( $oldObject->revision == 'current'){				echo '<h4 class="heading">'.wbLinks::local($dbObject->uniqLink,$lang['current_revision']).'</h4>';			}else{					echo '<h4 class="heading">';				$temp = wbLang::text('revision_num_as_of',$oldObject->revision,dbFromDate($oldObject->modified,3));				echo wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=show&revNum='.$oldObject->revision,$temp);				echo '</h4>';								if( $isOwner ){					$editLink = wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=editRevision&revNum='.$oldObject->revision,$lang['edit_revision']);				}			}						if( !empty($oldObject->username) ){				echo wbLinks::local('/'.$oldObject->username.'/Home',$oldObject->username);				$user = $oldObject->username;			}else{				echo $oldObject->ip;				$user = $oldObject->username;			}			if( isset($_SESSION['username']) && ($_SESSION['username'] != $oldObject->username) ){				echo ' <span class="sm">('.wbLinks::special('Permissions?guest='.$user,'user permissions','title="'.$lang['SET_USER_PERMISSIONS'].$user.'"',$_SESSION['username']).')</span> ';			}			echo '<br/>&nbsp;'.$oldObject->summary;						if( $editLink ){				echo '<br/><span class="sm">'.$editLink.'</span>';			}						if( $oldObject->revision > 1){				echo '<br/><span class="sm">'.wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=compare&rev1='.($oldObject->revision-1).'&rev2='.$oldObject->revision,$lang['compare_with_prev']).' </span>';			}elseif($oldObject->revision == 'current'){				echo '<br/><span class="sm">'.wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=difference',$lang['compare_with_prev']).' </span>';			}		}					echo '</td><td></td>';	echo '<td style="text-align:center;width:50%">';			//	New Header		//		$editLink = false;		if( $newHeader ){			echo $newHeader;					}else{				if( $newObject->revision == 'current'){				echo '<h4 class="heading">'.wbLinks::local($dbObject->uniqLink,$lang['current_revision']).'</h4>';			}else{					echo '<h4 class="heading">';				$temp = wbLang::text('revision_num_as_of',$newObject->revision,dbFromDate($newObject->modified,3));				echo wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=show&revNum='.$newObject->revision,$temp);				echo '</h4>';								if( $isOwner ){					$editLink = wbLinks::local('/Edit'.$dbObject->uniqLink.'?cmd=editRevision&revNum='.$newObject->revision,$lang['edit_revision']);				}			}									if( !empty($newObject->username) ){				echo wbLinks::local('/'.$newObject->username.'/Home',$newObject->username);				$user = $newObject->username;			}else{				echo $newObject->ip;				$user = $newObject->ip;			}			if( isset($_SESSION['username']) && ($_SESSION['username'] != $newObject->username) ){				echo ' <span class="sm">('.wbLinks::special('Permissions?guest='.$user,'user permissions','title="'.$lang['SET_USER_PERMISSIONS'].$user.'"',$_SESSION['username']).')</span> ';			}						echo '<br/>&nbsp;'.$newObject->summary;						if( $editLink ){				echo '<br/><span class="sm">'.$editLink.'</span>';			}								if( $newObject->distanceToCurrent > 0){				if( $newObject->distanceToCurrent === 1){					echo '<br/><span class="sm">'.wbLinks::local('/Edit'.$newObject->uniqLink.'?cmd=difference',$lang['compare_with_next']).' </span>';					}else{					echo '<br/><span class="sm">'.wbLinks::local('/Edit'.$newObject->uniqLink.'?cmd=compare&rev1='.$newObject->revision.'&rev2='.($newObject->revision+1),$lang['compare_with_next']).' </span>';				}			}		}	echo '</td></tr>';			//	New Difference	//	//		global $diffClasses;	$diffClasses['context'] = 'historyNeut';	$diffClasses['deletedline'] = 'historyDelete';	$diffClasses['addedline'] = 'historyAdd';	$diffClasses['diffchange'] = 'historyChange';		$formatter = new TableDiffFormatter();			$i= 0;	foreach($oldObject->userValues as $key => $nothing){				//	We don't want to show difference when comparing NULL with '' (empty string)		//	NULL != '' also works		//		// if( getType($oldObject->$key) == 'NULL'){		// 	$oldObject->$key = '';		// }		// if( getType($newObject->$key) == 'NULL'){		// 	$newObject->$key = '';		// }				if( $oldObject->$key == $newObject->$key){			continue;		}		$i++;		echo '<tr><td colspan="4">';		echo '<h3 class="heading">';		if( isset($lang[$key]) ){			echo $lang[$key];		}else{			echo $key;		}		echo '</h3><div class="underline"></div>';				echo '</td></tr>';				$oldArray = stringToArray($oldObject->$key);		$newArray = stringToArray($newObject->$key);		$diffs = new Diff( $oldArray,$newArray );		echo $formatter->format( $diffs );	}	if( $i === 0){		echo '<tr><td colspan="4" style="text-align:center">'.$lang['NO_DIFFERENCES'].'</td></tr>';	}	echo '</table>';			$page->contentA[$title] = wb::get_clean();}function getLastDifference(){	global $page, $dbObject,$lang;		$current = php4_clone($dbObject);		if( !getLastRevision() ){		message('NO_REVISIONS');		return false;	}		//compareTwo($dbObject,$current,toDisplay($dbObject->title).' (Diff)');	compareTwo($dbObject,$current,$lang['diff']);}function showLines($array){		$text = '<table border="0" cellpadding="7" ><tr><td><b>'.$lang['lines'].'</b></td><td><b>'.$lang['text'].'</b></td>';		$odd = null;	foreach($array as $key => $value){		$text .= "\n";				if( isset($odd) ){			unset($odd);		}else{			$odd = ' class="row2" ';		}		$text .= "<tr $odd><td>";		$text .= $key;		$text .= '</td><td>';		$text .= htmlspecialchars($value);		$text .= '</td></tr>';	}	$text .= '</table>';	return $text;	}//this needs toolEditPage if it's not an xmlHttp requestfunction showChanges(){	global $dbObject,$lang;		$current = php4_clone($dbObject);		$dbObject->setFromPost();	compareTwo($current,$dbObject,$lang['changes'],false,$lang['your_text'] );		if( !isset($_GET['wb']) ){		includeFile('tool/EditPage.php');	}	}////					COMPARISON////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////					FLOW CONTROL//global $lang;switch( $page->userCmd ){		case 'changes':	case wbStrtolower($lang['changes']):		showChanges();	break;		case 'compare':	case wbStrtolower($lang['compare']);	case 'compare versions':		compareRevisions();	break;		case 'editrevision':		editRevision();	break;		case 'show':	case 'revision':		showRevision();	break;		case 'difference':		getLastDifference();	break;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -