📄 d60to70.php
字号:
$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 + -