www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/update_090525.php

    <?
//升级日期:2009-05-25
//适用于2009-5-25之前下载的所有08CMS v2009正式版的安装包

include_once './include/general.inc.php';
include_once M_ROOT.'./include/common.fun.php';
include_once M_ROOT.'./include/cache.fun.php';

!$curuser->isadmin() && message(lang('nopermission'));

//修正arecents表
$db->query("ALTER TABLE {$tblprefix}arecents ADD comments int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD orders int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD ordersum int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD favorites int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD praises int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD debases int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD downs int(10) unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}arecents ADD plays int(10) unsigned NOT NULL default '0'",'SILENT');

//删除subsites中的sptpls的字段
$db-> query("ALTER TABLE {$tblprefix}subsites DROP sptpls",'SILENT');

//在fields及mfields中增加istxt的字段
$db->query("ALTER TABLE {$tblprefix}fields ADD istxt tinyint(1) unsigned NOT NULL default '0'",'SILENT');

//为管理后台菜单预留100个系统菜单位
$db->query("ALTER TABLE {$tblprefix}menus ADD isbk tinyint(1) unsigned NOT NULL default '0'",'SILENT');
for($i = 1000;$i < 1100;$i ++){
	$db->query("INSERT INTO {$tblprefix}menus SET mnid='$i',isbk='1'",'SILENT');
}
$db->query("UPDATE {$tblprefix}menus SET title = '".lang('fieldtotxt')."',url = '?entry=fieldtotxt',mtid  = '33',isbk = '0' WHERE mnid='1000'",'SILENT');
$db->query("UPDATE {$tblprefix}menus SET title = '".lang('database dict')."',url = '?entry=dbdict',mtid  = '33',isbk = '0' WHERE mnid='1001'",'SILENT');

//currencys表的处理//archive,freeinfo,comment,purchase,answer,favorite,commu,vote,pm,search
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE archive archive float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE freeinfo freeinfo float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE comment comment float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE purchase purchase float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE answer answer float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE favorite favorite float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE commu commu float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE vote vote float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE pm pm float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}currencys CHANGE search search float unsigned NOT NULL default '0'",'SILENT');
//members表中增加currency0字段,根据currencys,更改已有的currency字段
$db->query("ALTER TABLE {$tblprefix}members ADD currency0 float NOT NULL default '0' AFTER lastactive",'SILENT');
load_cache('currencys');
foreach($currencys as $k => $v) $db->query("ALTER TABLE {$tblprefix}members CHANGE currency$k currency$k float NOT NULL default '0'",'SILENT');
//fields表中ename为price的记录的datatype-float,length-0,mlimit-''
$db->query("UPDATE {$tblprefix}fields SET datatype='float',length='0',mlimit='' WHERE ename='price'",'SILENT');
//orders表中的处理//是否要处理原表中的一些数据?//orderfee、shipingfee、totalfee
$db->query("ALTER TABLE {$tblprefix}orders ADD checked tinyint(1) unsigned NOT NULL default '0' AFTER createdate",'SILENT');
$db->query("ALTER TABLE {$tblprefix}orders ADD payed float unsigned  NOT NULL default '0' AFTER createdate",'SILENT');
$db->query("ALTER TABLE {$tblprefix}orders ADD cuid smallint(6) unsigned NOT NULL default '0' AFTER ordersn",'SILENT');
$db->query("ALTER TABLE {$tblprefix}orders CHANGE orderfee orderfee float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}orders CHANGE shipingfee shipingfee float unsigned NOT NULL default '0'",'SILENT');
$db->query("ALTER TABLE {$tblprefix}orders CHANGE totalfee totalfee float unsigned NOT NULL default '0'",'SILENT');
//archives表中price改为float
$db->query("ALTER TABLE {$tblprefix}archives CHANGE price price float unsigned NOT NULL default '0'",'SILENT');
//crprices表中的crvalue字段改为float字段
$db->query("ALTER TABLE {$tblprefix}crprices CHANGE crvalue crvalue float NOT NULL default '0'",'SILENT');
//cradminlogs 表中的value字段改为float字段
$db->query("ALTER TABLE {$tblprefix}cradminlogs CHANGE value value float NOT NULL default '0'",'SILENT');
//purchases中的price改为float unsigned,删除subject,chid,caid
$db->query("ALTER TABLE {$tblprefix}purchases CHANGE price price float unsigned NOT NULL default '0'",'SILENT');
$db-> query("ALTER TABLE {$tblprefix}purchases DROP subject",'SILENT');
$db-> query("ALTER TABLE {$tblprefix}purchases DROP chid",'SILENT');
$db-> query("ALTER TABLE {$tblprefix}purchases DROP caid",'SILENT');

//在mconfigs表中删除shopcrid,cashscale的记录
$db->query("DELETE FROM {$tblprefix}mconfigs WHERE varname='shopcrid'",'SILENT');
$db->query("DELETE FROM {$tblprefix}mconfigs WHERE varname='cashscale'",'SILENT');

//修正新建模型中字段设置错误
$db->query("UPDATE {$tblprefix}mfields SET tbl='sub' WHERE issystem=0 AND tbl='main'",'SILENT');

$db->query("DROP TABLE IF EXISTS {$tblprefix}dbdict");
$db->query("CREATE TABLE {$tblprefix}dbfields (
  dfid mediumint(8) unsigned not null auto_increment,
  ddtable varchar(64) not null default '',
  ddfield varchar(64) not null default '',
  ddcomment varchar(255) not null default '',
  PRIMARY KEY  (dfid))".(mysql_get_server_info() > '4.1' ? " ENGINE=MYISAM DEFAULT CHARSET=$dbcharset" : " TYPE=MYISAM"),'SILENT');

//修正commus表中的提示url值 
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}praise.php?aid={$aid}'."' WHERE cclass='praise'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}debase.php?aid={$aid}'."' WHERE cclass='debase'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}report.php?aid={$aid}'."' WHERE cclass='report'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}favorite.php?aid={$aid}'."' WHERE cclass='favorite'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}comments.php?aid={$aid}'."' WHERE cclass='comment'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}answers.php?aid={$aid}'."' WHERE cclass='answer'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}purchase.php?aid={$aid}'."' WHERE cclass='purchase'",'SILENT');
$db->query("UPDATE {$tblprefix}fields SET url='".'{$cms_abs}subscribe.php?aid={$aid}'."' WHERE cclass='subscribe'",'SILENT');

$db->query("DELETE FROM {$tblprefix}mconfigs WHERE varname='archtmldir'",'SILENT');

//已安装的子站子站的附属信息模型字段中缺少subject字段
foreach($fchannels as $k => $v){
	if(!$db->result_one("SELECT COUNT(*) FROM {$tblprefix}ffields WHERE chid='$k' AND ename='subject'")){
		$db->query("INSERT INTO {$tblprefix}ffields SET ename='subject',cname='".lang('message title')."',chid='$k',issystem='1',length='255',datatype='text',notnull='1'",'SILENT');
	}
}

$db->query("UPDATE {$tblprefix}userurls SET url='?entry=gmissions&action=gmissionsedit' WHERE mnid='122'",'SILENT');

//重建缓存
rebuild_cache('-1');
message(lang('updatesucceed').'update_090525.php');

?>