to1.1.php

来自「一款基于PHP的网络日记程序。WikyBlog支持:多用户的 BLOG」· PHP 代码 · 共 104 行

PHP
104
字号
<?php//	Can I just update the database?//		..no! because the primary key for `pages` won't be right .. we'll get a duplicate entry for `file_id`//class to11 extends fromSkeleton{	var $MySQL41;	function to11($updateObj=null,$versionNum=null){		$this->updateObj = $updateObj;		$this->versionNum = $versionNum;	}		function go($MySQL41){		$this->MySQL41 = $MySQL41;				$_GET += array('cmd'=>'');		switch( $_GET['cmd']){			case 'start':				$this->alterHistoryTable();				message('<a href="?cmd=second">Second</a>');			break;						case 'second':				$this->done = true;			break;									default:				message('<a href="?cmd=start">Start</a>');			break;		}	}		function alterHistoryTable(){		global $dbInfo;				//A		//		`file_id`,`revision` will be changed later.. need primary key and auto_increment		//		$query = 'CREATE TABLE '.$wbTables['all_history'].' ( ';		$query .= ' `file_id` int(8) unsigned NOT NULL default \'0\', ';		$query .= ' `revision` smallint(6) unsigned NOT NULL, ';		$query .= '`modified` timestamp NOT NULL default \'0000-00-00 00:00:00\', ';		$query .= ' `instructions` blob NOT NULL, ';		$query .= '	`username` varchar(20) default NULL, ';		$query .= ' `ip` varchar(15) NOT NULL default \'\', ';		$query .= ' `summary` varchar(200) default NULL ';		$query .= '	) ENGINE=MyISAM ';		if( $this->MySQL41 ){			$query .= ' DEFAULT CHARSET=utf8';		}		$result = wbDB::runQuery($query);		if( !$result ){			message($query. '<br/>'.mysql_error());			return false;		}							foreach($dbInfo as $info){			if(!isset($info['dbHistoryTable'])){				continue;			}						//A			//Insert into all_history			//			$query = 'INSERT INTO '.$wbTables['all_history'];			$query .= ' SELECT '.$info['dbTable'].'.`file_id`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`revision`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`modified`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`instructions`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`username`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`ip`, ';			$query .=  ' '.$info['dbHistoryTable'].'.`summary` ';			//			$query .= ' FROM '.$info['dbHistoryTable'].' INNER JOIN '.$info['dbTable'];			$query .= ' on ';			$whereA = array();			foreach($info['keys'] as $key => $null){				$whereA[]= $info['dbTable'].'.`'.$key.'` = '.$info['dbHistoryTable'].'.`'.$key.'` ';			}			$query .= implode(' AND ',$whereA);			$query .= ' AND '.$info['dbTable'].'.`file_id` IS NOT NULL  ';			$result = wbDB::runQuery($query);			if( !$result){				message($query. '<br/>'.mysql_error());				return false;			}			//B			//Delete old history table			$query = 'DROP TABLE '.$info['dbHistoryTable'];			wbDB::runQuery($query);		}	}}

⌨️ 快捷键说明

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