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

📄 d60to70.php

📁 Discuz_7.0.0 是一款社区程序源码!! 国内80 的站长使用此程序
💻 PHP
📖 第 1 页 / 共 5 页
字号:
	$db->select_db($dbname);
	//mysql_query("SET character_set_connection=latin1, character_set_results=binary, character_set_client=latin1", $ucdb->link);

	$query = $db->query("SELECT * FROM {$tablepre}pms LIMIT $start, $limit");
	if($total == 0 || $total <= $start || $db->errno() == 1146) {
		instmsg(' 处理短消息完毕。', '?step=5');
	}
	if($ucdb->version() > '4.1' && $ucdb == $db && $dbname != UC_DBNAME) {
		$ucdb->query("SET NAMES ".UC_DBCHARSET);
	}
	while($data = $db->fetch_array($query)) {
		$data['subject'] = addslashes($data['subject']);
		$data['message'] = addslashes($data['message']);
		$ucdb->query("INSERT INTO ".UC_DBTABLEPRE."pms SET msgfrom='$data[msgfrom]',
			msgfromid='$data[msgfromid]',msgtoid='$data[msgtoid]',folder='$data[folder]',new='$data[new]',subject='$data[subject]',
			dateline='$data[dateline]',message='$data[message]',delstatus='$data[delstatus]',related='0'", 'SILENT');
	}
	$end = $start + $limit;
	instmsg("正在处理短消息 $start / $total", '?step=4&commonpm=1&start='.$end.'&total='.$total);
	instfooter();

} elseif($step == 5) {

	echo "<h4>新增数据表</h4>";

	dir_clear('./forumdata/cache');
	dir_clear('./forumdata/templates');

	runquery($upgrade1);
	instmsg("新增数据表处理完毕。", '?step=6');
	instfooter();

} elseif($step == 6) {

	$start = isset($_GET['start']) ? intval($_GET['start']) : 0;

	echo "<h4>调整论坛数据表结构</h4>";
	if(isset($upgradetable[$start]) && $upgradetable[$start][0]) {

		echo "升级数据表 [ $start ] {$tablepre}{$upgradetable[$start][0]} {$upgradetable[$start][3]}:";
		$successed = upgradetable($upgradetable[$start]);

		if($successed === TRUE) {
			echo ' <font color=green>OK</font><br />';
		} elseif($successed === FALSE) {
			//echo ' <font color=red>ERROR</font><br />';
		} elseif($successed == 'TABLE NOT EXISTS') {
			echo '<span class=red>数据表不存在</span>升级无法继续,请确认您的论坛版本是否正确!</font><br />';
			instfooter();
			exit;
		}
	}

	$start ++;
	if(isset($upgradetable[$start]) && $upgradetable[$start][0]) {
		instmsg("请等待 ...", "?step=6&start=$start");
	}
	instmsg("论坛数据表结构调整完毕。", "?step=7");
	instfooter();

} elseif($step == 7) {

	echo "<h4>更新部分数据</h4>";
	runquery($upgrade3);
	upg_bbcodes();
	upg_smiles();
	upg_icons();
	$typeids = $comma = '';
	$query = $db->query("SELECT typeid FROM {$tablepre}imagetypes WHERE type='smiley' AND (directory='coolmonkey' OR directory='grapeman')");
	while($type = $db->fetch_array($query)) {
		$typeids .= $comma.$type['typeid'];
		$comma = ',';
	}
	if($typeids) {
		$db->query("UPDATE {$tablepre}smilies SET code=CONCAT('{:', typeid, '_', id, ':}') WHERE typeid IN ($typeids)");
	}
	$tasktypes = array(
	  'promotion' =>
	  array (
	    'name' => '论坛推广任务',
	    'version' => '1.0',
	  ),
	  'gift' =>
	  array (
	    'name' => '红包类任务',
	    'version' => '1.0',
	  ),
	  'avatar' =>
	  array (
	    'name' => '头像类任务',
	    'version' => '1.0',
	  )
	);
	$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('tasktypes', '".addslashes(serialize($tasktypes))."')");
	upg_adminactions();
	upg_insenz();
	upg_js();
	instmsg("部分数据更新完毕。", "?step=8");
	instfooter();

} elseif($step == 8) {

	echo "<h4>处理图片附件</h4>";
	$total = getgpc('total');
	$start = intval(getgpc('start'));
	$limit = 100;
	if(!$total) {
		$total = $db->result_first("SELECT count(*) FROM {$tablepre}attachments WHERE isimage=1");
	}

	if(!$total || $total <= $start) {
		instmsg("图片附件处理完毕。", "?step=9");
	}

	$query = $db->query("SELECT attachment,aid FROM {$tablepre}attachments WHERE isimage=1 LIMIT $start, $limit");
	$attachdir = $db->result_first("SELECT value FROM {$tablepre}settings WHERE variable='attachdir'");
	while($attachments = $db->fetch_array($query)) {
		$target		= $attachdir.'/'.$attachments['attachment'];
		$attachinfo	= @getimagesize($target);
		$img_w		= $attachinfo[0];
		if($img_w) {
			$db->query("UPDATE {$tablepre}attachments SET width='$img_w' WHERE aid='$attachments[aid]'", 'UNBUFFERED');
		}
	}
	$end = $start + $limit;
	instmsg("图片附件已处理 $start / $total ...", "?step=8&start=$end&total=$total");

} elseif($step == 9) {

	echo "<h4>处理安全提问</h4>";
	$total = getgpc('total');
	$start = intval(getgpc('start'));
	$limit = 1000;
	if(!$total) {
		$total = $db->result_first("SELECT COUNT(*) FROM {$tablepre}members");
	}

	if(!$total || $total <= $start) {
		instmsg("安全提问处理完毕。", "?step=10");
	}

	$query = $db->query("SELECT uid, secques FROM {$tablepre}members ORDER BY uid LIMIT $start, $limit");

	$uc_db = new dbstuff();
	$uc_db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, UC_DBCHARSET);

	while($member = $db->fetch_array($query)) {
		$uid = $member['uid'];
		$secques = $member['secques'];
		$uc_db->query("UPDATE ".UC_DBTABLEPRE."members SET secques='$secques' WHERE uid='$uid'", 'UNBUFFERED');
	}
	$end = $start + $limit;
	instmsg("安全提问已处理 $start / $total ...", "?step=9&start=$end&total=$total");

} elseif($step == 10) {

	echo "<h4>处理分类信息</h4>";
	$total = getgpc('total');
	$start = intval(getgpc('start'));
	$limit = 1000;

	if(!$total) {
		$total = $db->result_first("SELECT COUNT(DISTINCT(tid)) FROM {$tablepre}typeoptionvars");
	}

	if(!$total || $total <= $start) {
		instmsg("分类信息处理完毕。", "?step=11");
	}

	$query = $db->query("SELECT DISTINCT(tid), sortid FROM {$tablepre}typeoptionvars LIMIT $start, $limit");
	while($sort = $db->fetch_array($query)) {
		$tid = $sort['tid'];
		$sortid = $sort['sortid'];
		$db->query("UPDATE {$tablepre}threads SET sortid='$sortid', typeid='0' WHERE tid='$tid'", 'UNBUFFERED');
	}

	$end = $start + $limit;
	instmsg("分类信息已处理 $start / $total ...", "?step=10&start=$end&total=$total");

} elseif($step == 11) {

	echo "<h4>处理分类信息版块数据转换</h4>";
	$threadtypes = $threadsorts = array();
	$query = $db->query("SELECT fid, threadtypes FROM {$tablepre}forumfields");
	while($thread = $db->fetch_array($query)) {
		if($thread['threadtypes']) {
			$threadtypes[$thread['fid']] = unserialize($thread['threadtypes']);
		}
	}

	if($threadtypes) {
		foreach($threadtypes as $fid => $thread) {
			if($thread['types']) {
				foreach($thread['types'] as $typeid => $name) {
					if($sortname = $db->result_first("SELECT name FROM {$tablepre}threadtypes WHERE typeid='$typeid' AND special='1'")) {
						$threadsorts[$fid]['types'][$typeid] = $threadsorts[$fid]['flat'][$typeid] = $name;
					}
				}
			}
			$threadsorts[$fid]['listable'] = $threadsorts[$fid]['prefix'] = 1;
			$threadsorts[$fid]['required'] = $threadsorts[$fid]['selectbox'] = '';
		}
	}

	if($threadsorts) {
		foreach($threadsorts as $fid => $data) {
			$db->query("UPDATE {$tablepre}forumfields SET threadsorts='".addslashes(serialize($data))."' WHERE fid='$fid'");
		}
	}

	instmsg("分类信息处理完毕。", "?step=12");
	instfooter();

} elseif($step == 12) {

	echo "<h4>处理论坛风格</h4>";
	$db->query("REPLACE INTO {$tablepre}styles VALUES ('1','默认风格','1','1')");
	$db->query("DELETE FROM {$tablepre}stylevars WHERE styleid='1'");
	$db->query("REPLACE INTO {$tablepre}stylevars (styleid, variable, substitute) VALUES
		('1', 'stypeid', '1'),
		('1', 'available', ''),
		('1', 'boardimg', 'logo.gif'),
		('1', 'imgdir', ''),
		('1', 'styleimgdir', ''),
		('1', 'font', 'Verdana, Helvetica, Arial, sans-serif'),
		('1', 'fontsize', '12px'),
		('1', 'smfont', 'Verdana, Helvetica, Arial, sans-serif'),
		('1', 'smfontsize', '0.83em'),
		('1', 'tabletext', '#444'),
		('1', 'midtext', '#666'),
		('1', 'lighttext', '#999'),
		('1', 'link', '#000'),
		('1', 'highlightlink', '#09C'),
		('1', 'noticetext', '#F60'),
		('1', 'msgfontsize', '14px'),
		('1', 'msgbigsize', '16px'),
		('1', 'bgcolor', '#0D2345 bodybg.gif repeat-x 0 90px'),
		('1', 'sidebgcolor', '#FFF sidebg.gif repeat-y 100% 0'),
		('1', 'headerborder', '1px'),
		('1', 'headerbordercolor', '#00B2E8'),
		('1', 'headerbgcolor', '#00A2D2 header.gif repeat-x 0 100%'),
		('1', 'headertext', '#97F2FF'),
		('1', 'footertext', '#8691A2'),
		('1', 'menuborder', '#B0E4EF'),
		('1', 'menubgcolor', '#EBF4FD mtabbg.gif repeat-x 0 100%'),
		('1', 'menutext', '#666'),
		('1', 'menuhover', '#1E4B7E'),
		('1', 'menuhovertext', '#C3D3E4'),
		('1', 'wrapwidth', '960px'),
		('1', 'wrapbg', '#FFF'),
		('1', 'wrapborder', '0'),
		('1', 'wrapbordercolor', ''),
		('1', 'contentwidth', '600px'),
		('1', 'contentseparate', '#D3E8F2'),
		('1', 'inputborder', '#CCC'),
		('1', 'inputborderdarkcolor', '#999'),
		('1', 'inputbg', '#FFF'),
		('1', 'commonborder', '#E6E7E1'),
		('1', 'commonbg', '#F7F7F7'),
		('1', 'specialborder', '#E3EDF5'),
		('1', 'specialbg', '#EBF2F8'),
		('1', 'interleavecolor', '#F5F5F5'),
		('1', 'dropmenuborder', '#7FCAE2'),
		('1', 'dropmenubgcolor', '#FEFEFE'),
		('1', 'floatmaskbgcolor', '#7FCAE2'),
		('1', 'floatbgcolor', '#F1F5FA');");
	$db->query("UPDATE {$tablepre}settings SET value='1' WHERE variable='styleid'");
	$db->query("UPDATE {$tablepre}members SET styleid='0'");
	$db->query("UPDATE {$tablepre}styles SET available='0' WHERE styleid<>'$newstyleid'");
	$db->query("UPDATE {$tablepre}settings SET value='8' WHERE variable='smcols' AND value<'8'");
	$db->query("UPDATE {$tablepre}settings SET value='5' WHERE variable='smrows' AND value<'5'");
	instmsg("论坛风格处理完毕。", "?step=13");
	instfooter();

} else {

	require_once DISCUZ_ROOT.'./uc_client/client.php';
	$uc_input = uc_api_input("action=updatecache");

	dir_clear('./forumdata/cache');
	dir_clear('./forumdata/templates');
	@touch($lock_file);
	if(!@unlink('d60to70.php')) {
		echo '<br />恭喜您论坛数据升级成功,接下来请您:<ol><li><b>必删除本程序</b>';
	} else {
		echo '<br />恭喜您论坛数据升级成功,接下来请您:<ol>';
	}
	echo '<li><b><font color="red">您的论坛头像因为机制的变化没有办法升级过来,如果您需要升级头

⌨️ 快捷键说明

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