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

📄 index.php

📁 一款基于PHP的网络日记程序。WikyBlog支持:多用户的 BLOG
💻 PHP
字号:
<?php////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 				Start////		need authentication	$autoStart = false;	@set_time_limit(30);	require_once('../../wiki.php');	require_once('../wiki2.php');	@ini_set( "display_errors", true ); //overwrite	error_reporting( E_ALL );	restore_error_handler();	includeFile('maintenance/Versions.php');	$upgrade = new upgradeSoftware();	class upgradeSoftware{		var $done = false;		var $MySQL41 = false;				function upgradeSoftware(){			global $packageVersion;			wbDB::connect();									ob_start();			wbData::getConfig(true);									// Which Mysql Version			//			$query = 'SHOW VARIABLES LIKE "VERSION"';			$result = wbDB::runQuery($query);			$row = mysql_fetch_assoc($result);			if( version_compare($row['Value'],'4.1','>=') ){				//message('MySQL 4.1 or greater was found.');				$this->MySQL41 = true;			}							session_cache_expire(30);			session_start();			$_POST += array('cmd'=>'');			if( $_POST['cmd'] == 'Log In'){				$this->login();			}						includeFile('admin/CheckPrivs.php');			if( !checkPrivs::isGranted() ){							}elseif( !isset($_SESSION['maintenance']) ){				$this->loginForm();			}else{				$this->upgradeRun();			}									$text = wb::get_clean();			echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>WikyBlog Upgrade</TITLE></HEAD>';			echo '<body>';			echo '<h2>Upgrade WikyBlog</h2>';			echo returnMessages();			echo $text;					}				function upgradeRun(){			global $packageVersion,$wbDirPrefix;						if( empty($GLOBALS['wbConfig']['version']) ){				echo 'Please download and upgrade to version 0.11 before trying to upgrade to '.$packageVersion.'.';				return;			}			if(version_compare($GLOBALS['wbConfig']['version'],'0.11','<')){				echo 'Please download and upgrade to version 0.11 before trying to upgrade to '.$packageVersion.'.';				return;			}						if(version_compare($GLOBALS['wbConfig']['version'],$packageVersion,'eq')){				echo 'This software appears to be up to date.';				echo ' ... <a href="'.$wbDirPrefix.'/">Home</a>';				return;			}									// 			has to be updated from V0.11			// $scripts['1.0'] = array('to1.0.php','to10');			// $scripts['1.1'] = array('to1.1.php','to11');			// $scripts['1.2.1'] = array('','fromSkeleton');			// $scripts['1.3'] = array('to1.3.php','to13');			// $scripts['1.4.0'] = array('to1.4.php','to14');			$scripts = versions::getVersions();						foreach($scripts as $versionNum => $data){				if( !is_array($data) ){					continue;				}				if(version_compare($versionNum,$GLOBALS['wbConfig']['version'],'<=')){					continue;				}				if( !empty($data[0]) ){					includeFile('maintenance/'.$data[0]);				}				if( empty($data[1]) ){					trigger_error('No class defined');					die();				}								$updateClass = new $data[1]($this,$versionNum);				$updateClass->header();				$updateClass->go($this->MySQL41);								$this->done = $updateClass->done;								if( $this->done ){					message('<h3>Checking MySQL Database</h3>');					$this->updateDB();				}				if( $this->done ){					$this->finish($versionNum);				}				return;			}		}		function continueLink($array=array(),$label='Continue'){			$linkA = array();			foreach($array as $key => $value){				$linkA[]=$key.'='.$value;			}			message('<a href="?'.implode('&',$linkA).'" accesskey="c" title="Continue [alt-c]">'.$label.'</a>');					}		function updateDB(){			global $wbTablePrefix;			includeFile('installDB.php');			$alterDb = new dbAlter();			$done = $alterDb->go($wbTablePrefix);			$this->done = $this->done && $done;		}				function finish($version){			global $wbTables;						$query = 'UPDATE '.$wbTables['config'].' SET `modified`=`modified`, `version`="'.wbDB::escape($version).'"';			message($query);			$done = @mysql_query($query);						if( $done ){				message('Finished upgrading to version '.$version);			}else{				message('Problem upgrading to version '.$version);			}			$this->continueLink();			return;		}						function loginForm(){			$_POST += array('username'=>'username');			echo '<form method="post">';			echo '<div style="padding-top:4em;text-align:center">';			echo '<table border=0 style="margin-left:auto;margin-right:auto;">';			echo '<tr><td colspan=2><h3>Admin Login</h3></td></tr>';			echo '<tr><td colspan=2>'.returnMessages().'</td></tr>';			echo '<tr><td>Username:</td><td> <input size="12" type="text" name="username" value="'.htmlspecialchars($_POST['username']).'" class="input" /></td></tr>';			echo '<tr><td>Password:</td><td> <input size="12" type="password"	name="password" value="" class="input" /></td></tr>';						echo '<tr><td></td><td><input type="submit" name="cmd" value="Log In" /></td></tr>';						echo '<tr><td colspan=2 style="font-size:80%;padding-top:3em;">To upgrade the WikyBlog software, please enter<br/> the administrator\'s username and password.</td></tr>';			echo '</table>';			echo '<div style="margin-top:5em;"><b>Always backup your data before performing a software update.</b></div>';			echo '</div>';			echo '</form>';					}		function login(){			global $wbTables;						$query = 'SELECT username FROM '.$wbTables['users'].' ';			$query .= ' WHERE username = "'. wbDB::escape($_POST['username']) .'" ';			$query .= ' AND password = "'. md5($_POST['password']) .'" ';			$query .= ' LIMIT 1';			$result = wbDB::runQuery($query);			$num = mysql_num_rows($result);			if( $num === 1){				message('Logged In');				$_SESSION['maintenance'] = true;				return true;			}else{				message('Log In Failed');				return false;			}		}		// 		function updateConfig(){// 			global $wbTables;// 			// 			$query = 'SELECT revision, data FROM '.$wbTables['config'].' ORDER BY revision DESC LIMIT 1'; // 			$result = @mysql_query($query); //use mysql_query here because I don't want to report any errors here// 			if( !$result ){// 				echo 'Please download and upgrade to version 0.7 before trying to upgrade to '.$packageVersion.'.';// 				return;// 			}// 			// 			$row = mysql_fetch_assoc($result);// 			$temp = unserialize($row['data']); // serialize is faster than exec()// 		// 			//neither of these merging operations works for some reason// 			//$GLOBALS = $temp + $GLOBALS;// 			//$GLOBALS = array_merge($GLOBALS,$temp);// 			foreach($temp as $key => $value){// 				$GLOBALS[$key] = $value;// 			}// 			// 			// 			$_GET += array('cmd'=>'');// 			if( $_GET['cmd'] === 'updateconfig'){// 				$this->updateDB();// 				$query = 'UPDATE '.$wbTables['config'].' SET `modified`=`modified`, `version`="'.wbDB::escape($GLOBALS['wbConfig']['version']).'"';// 				message($query);// 				$this->done = @mysql_query($query);// 			}// 			// 			if( !$this->done ){// 				$this->continueLink(array('cmd'=>'updateconfig'),'Update Database Structure');// 			}else{// 				$this->continueLink(array(),'Continue');// 			}// 				// 		}			}		//	//	//	////////////////////////////////////////////////////////////////////////////////////////////////////	////////////////////////////////////////////////////////////////////////////////////////////////////	////////////////////////////////////////////////////////////////////////////////////////////////////	//	//		fromSkeleton	//		class fromSkeleton{		var $updateObj;		var $done = false;		var $versionNum;				function fromSkeleton($updateObj,$versionNum){			$this->updateObj = $updateObj;			$this->versionNum = $versionNum;		}		function header(){			message('<h3>Upgrading to Version '.$this->versionNum.'</h3>');		}							function go(){						$_GET += array('cmd'=>'');			switch( $_GET['cmd']){				case 'start':					if( $this->updateDB() ){						$this->done = true;						return;					}				default:					message('<a href="?cmd=start">Start</a>');				break;			}		}				//		function updateDB(){			global $wbTablePrefix;			includeFile('installDB.php');			$alterDb = new dbAlter();						$done = $alterDb->go($wbTablePrefix);						return $done;		}	}

⌨️ 快捷键说明

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