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

📄 upgrade11.php

📁 Discuz_7.0.0 是一款社区程序源码!! 国内80 的站长使用此程序
💻 PHP
📖 第 1 页 / 共 5 页
字号:
<?php

error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_magic_quotes_runtime(0);
@set_time_limit(0);

define('DISCUZ_ROOT', getcwd().'/');
define('IN_DISCUZ', TRUE);
$PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);

if(!function_exists('file_put_contents')) {
	define('FILE_APPEND', 'FILE_APPEND');
	if(!defined('LOCK_EX')) {
		define('LOCK_EX', 'LOCK_EX');
	}

	function file_put_contents($file, $data, $flags = '') {
		$contents = (is_array($data)) ? implode('', $data) : $data;

		$mode = ($flags == 'FILE_APPEND') ? 'ab+' : 'wb';

		if(($fp = @fopen($file, $mode)) === false) {
			return false;
		} else {
			$bytes = fwrite($fp, $contents);
			fclose($fp);
			return $bytes;
		}
	}
}

$lang = array(
	'error_message' => '错误信息',
	'message_return' => '返回',
	'old_step' => '上一步',
	'new_step' => '下一步',
	'uc_appname' => '论坛',
	'uc_appreg' => '注册',
	'uc_appreg_succeed' => '到 UCenter 成功,',
	'uc_continue' => '点击这里继续',
	'uc_setup' => '<font color="red">如果没有安装过,点击这里安装 UCenter</font>',
	'uc_title_ucenter' => '请填写 UCenter 的相关信息',
	'uc_url' => 'UCenter 的 URL',
	'uc_ip' => 'UCenter 的 IP',
	'uc_admin' => 'UCenter 的管理员帐号',
	'uc_adminpw' => 'UCenter 的管理员密码',
	'uc_title_app' => '相关信息',
	'uc_app_name' => '的名称',
	'uc_app_url' => '的 URL',
	'uc_app_ip' => '的 IP',
	'uc_app_ip_comment' => '当主机 DNS 有问题时需要设置,默认请保留为空',
	'uc_connent_invalid1' => '连接服务器',
	'uc_connent_invalid2' => ' 失败,请返回检查。',
	'error_message' => '提示信息',
	'error_return' => '返回',

	'tagtemplates_subject' => '标题',
	'tagtemplates_uid' => '用户 ID',
	'tagtemplates_username' => '发帖者',
	'tagtemplates_dateline' => '日期',
	'tagtemplates_url' => '主题地址',
);

$msglang = array(
	'redirect_msg' => '浏览器会自动跳转页面,无需人工干预。除非当您的浏览器长时间没有自动跳转时,请点击这里',
	'uc_url_empty' => '您没有填写 UCenter 的 URL,请返回填写。',
	'uc_url_invalid' => 'UCenter 的 URL 格式不合法,正常的格式为: http://www.domain.com ,请返回检查。',
	'uc_ip_invalid' => '<font color="red">无法连接 UCenter 所在的 Web 服务器,请填写 UCenter 服务器的IP,如果 UCenter 与论坛在同一台服务器,可以尝试填写:127.0.0.1。</font>',
	'uc_admin_invalid' => '<font color="red">登录 UCenter 的管理员帐号密码错误。</font>',
	'uc_data_invalid' => 'UCenter 获取数据失败,请返回检查 UCenter URL、管理员帐号、密码。 ',
);

require DISCUZ_ROOT.'./include/db_mysql.class.php';
@include DISCUZ_ROOT.'./config.inc.php';

$version['old'] = 'Discuz! 6.1.0 正式版';
$version['new'] = 'Discuz! 7.0.0 正式版';
$lock_file = DISCUZ_ROOT.'./forumdata/upgrade11.lock';

if(!$dbhost || !$dbname || !$dbuser) {
	instmsg('论坛数据库的主机,数据库名,用户名为空。');
}

$db = new dbstuff();
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);
function get_charset($tablename) {
	global $db;
	$tablestruct = $db->fetch_first("show create table $tablename");
	preg_match("/CHARSET=(\w+)/", $tablestruct['Create Table'], $m);
	return $m[1];
}

if($db->version() > '4.1.0') {
	$tablethreadcharset = get_charset($tablepre.'threads');
	$dbcharset = strtolower($dbcharset);
	$tablethreadcharset = strtolower($tablethreadcharset);
	if($dbcharset && $dbcharset !=  $tablethreadcharset) {
		instmsg("您的配置文件 (./config.inc.php) 中的字符集 ($dbcharset) 与表的字符集 ($tablethreadcharset) 不匹配。");
	}
}

$upgrade1 = <<<EOT

DROP TABLE IF EXISTS cdb_tasks;
CREATE TABLE cdb_tasks (
  taskid smallint(6) unsigned NOT NULL auto_increment,
  relatedtaskid smallint(6) unsigned NOT NULL default '0',
  available tinyint(1) NOT NULL default '0',
  `name` varchar(50) NOT NULL default '',
  description text NOT NULL,
  icon varchar(150) NOT NULL default '',
  applicants mediumint(8) unsigned NOT NULL default '0',
  achievers mediumint(8) unsigned NOT NULL default '0',
  tasklimits mediumint(8) unsigned NOT NULL default '0',
  applyperm text NOT NULL,
  scriptname varchar(50) NOT NULL default '',
  starttime int(10) unsigned NOT NULL default '0',
  endtime int(10) unsigned NOT NULL default '0',
  period int(10) unsigned NOT NULL default '0',
  reward enum('credit','magic','medal','invite','group') NOT NULL default 'credit',
  prize varchar(15) NOT NULL default '',
  bonus int(10) NOT NULL default '0',
  displayorder smallint(6) unsigned NOT NULL default '0',
  version varchar(15) NOT NULL default '',
  PRIMARY KEY  (taskid)
) TYPE=MyISAM;

DROP TABLE IF EXISTS cdb_taskvars;
CREATE TABLE cdb_taskvars (
  taskvarid mediumint(8) unsigned NOT NULL auto_increment,
  taskid smallint(6) unsigned NOT NULL default '0',
  sort enum('apply','complete','setting') NOT NULL DEFAULT 'complete',
  `name` varchar(100) NOT NULL default '',
  description varchar(255) NOT NULL default '',
  variable varchar(40) NOT NULL default '',
  `type` varchar(20) NOT NULL default 'text',
  `value` text NOT NULL,
  extra text NOT NULL,
  PRIMARY KEY  (taskvarid),
  KEY taskid (taskid)
) TYPE=MyISAM;

DROP TABLE IF EXISTS cdb_mytasks;
CREATE TABLE cdb_mytasks (
  uid mediumint(8) unsigned NOT NULL,
  username char(15) NOT NULL default '',
  taskid smallint(6) unsigned NOT NULL,
  `status` tinyint(1) NOT NULL default '0',
  csc char(255) NOT NULL default '',
  dateline int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (uid,taskid),
  KEY parter (taskid, dateline)
) TYPE=MyISAM;

DROP TABLE IF EXISTS cdb_navs;
CREATE TABLE cdb_navs (
  id smallint(6) unsigned NOT NULL auto_increment,
  parentid smallint(6) unsigned NOT NULL default '0',
  name char(50) NOT NULL,
  title char(255) NOT NULL,
  url char(255) NOT NULL,
  target tinyint(1) NOT NULL default '0',
  type tinyint(1) NOT NULL default '0',
  available tinyint(1) NOT NULL default '0',
  displayorder tinyint(3) NOT NULL,
  highlight tinyint(1) NOT NULL DEFAULT '0',
  level tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

EOT;

$upgradetable = array(

	array('forums', 'ADD', 'allowfeed', "TINYINT(1) NOT NULL DEFAULT '1' AFTER alloweditrules"),
	array('forums', 'CHANGE', 'displayorder', "displayorder SMALLINT(6) NOT NULL DEFAULT '0'"),

	array('threads', 'DROP', 'blog', ""),
	array('threads', 'INDEX', '', "DROP INDEX blog"),
	array('threads', 'ADD', 'sortid', "SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0' AFTER typeid"),
	array('threads', 'INDEX', '', "ADD INDEX (sortid)"),

	array('forumfields', 'ADD', 'threadsorts', "TEXT NOT NULL AFTER threadtypes"),

	array('threadtypes', 'CHANGE', 'displayorder', "displayorder smallint(6) NOT NULL DEFAULT '0'"),

	array('typeoptionvars', 'CHANGE', 'typeid', "sortid SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0'"),
	array('typeoptionvars', 'INDEX', '', "ADD INDEX sortid (sortid)"),
	array('typeoptionvars', 'INDEX', '', "DROP INDEX typeid"),

	array('typevars', 'CHANGE', 'typeid', "sortid SMALLINT(6) NOT NULL DEFAULT '0'"),
	array('typevars', 'INDEX', '', "DROP INDEX typeid"),
	array('typevars', 'INDEX', '', "ADD INDEX sortid (sortid)"),
	array('typevars', 'INDEX', '', "DROP INDEX optionid"),
	array('typevars', 'INDEX', '', "ADD UNIQUE optionid (sortid,optionid)"),
	array('attachments', 'INDEX', '', "ADD INDEX dateline (dateline, isimage, downloads)"),
	array('warnings', 'INDEX', '', "ADD INDEX authorid (authorid)"),

	array('searchindex', 'CHANGE', 'threadtypeid', "threadsortid SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0'"),

	array('tradeoptionvars', 'CHANGE', 'typeid', "sortid SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0'"),
	array('tradeoptionvars', 'INDEX', '', "ADD INDEX sortid (sortid)"),
	array('tradeoptionvars', 'INDEX', '', "DROP INDEX typeid"),

	array('polls', 'ADD', 'overt', "tinyint(1) NOT NULL DEFAULT '0'"),

	array('forumlinks', 'CHANGE', 'logo', "logo VARCHAR(255) NOT NULL"),
	array('forumlinks', 'CHANGE', 'url', "url VARCHAR(255) NOT NULL"),

	array('admincustom', 'CHANGE', 'title', "title VARCHAR(255) NOT NULL"),

	array('advertisements', 'CHANGE', 'title', "title VARCHAR(255) NOT NULL"),

	array('announcements', 'CHANGE', 'subject', "subject VARCHAR(255) NOT NULL"),

	array('itempool', 'CHANGE', 'answer', "answer VARCHAR(255) NOT NULL"),

	array('medals', 'CHANGE', 'image', "image VARCHAR(255) NOT NULL"),

	array('members', 'CHANGE', 'newpm', "prompt tinyint(1) NOT NULL default '0'"),
	array('memberfields', 'CHANGE', 'msn', "msn VARCHAR(100) NOT NULL default ''"),

	array('attachments', 'ADD', 'width', "SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0'"),

	array('bbcodes', 'ADD', 'type', "TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER available"),
	array('bbcodes', 'ADD', 'displayorder', "TINYINT(3) NOT NULL DEFAULT '0'"),

	array('forums', 'ADD', 'allowglobalstick', "TINYINT(1) NOT NULL default '1'"),
	array('usergroups', 'ADD', 'allowsendpm', "TINYINT(1) NOT NULL DEFAULT '1'"),
	array('imagetypes', 'ADD', 'available', "TINYINT(1) NOT NULL DEFAULT '0' AFTER typeid"),
);

$upgrade3 = <<<EOT
DROP TABLE IF EXISTS cdb_buddys;
DROP TABLE IF EXISTS cdb_pms;
DROP TABLE IF EXISTS cdb_pmsearchindex;
DELETE FROM cdb_settings WHERE variable IN ('jsmenustatus', 'pluginjsmenu', 'regadvance', 'hottags', 'maxbiotradesize', 'tradeimagewidth', 'tradeimageheight', 'bbinsert', 'smileyinsert');
REPLACE INTO cdb_settings (variable, value) VALUES ('sigviewcond', 0);
REPLACE INTO cdb_settings (variable, value) VALUES ('swfupload', 1);
REPLACE INTO cdb_settings (variable, value) VALUES ('sitemessage', '');
REPLACE INTO cdb_settings (variable, value) VALUES ('magicdiscount', '85');
REPLACE INTO cdb_settings (variable, value) VALUES ('ucactivation', '1');
REPLACE INTO cdb_stats (type, variable, `count`) VALUES ('browser', 'Firefox', 0);
REPLACE INTO cdb_stats (type, variable, `count`) VALUES ('browser', 'Safari', 0);
REPLACE INTO cdb_navs VALUES ('1', '0', '论坛', '', '#', '0', '0', '1', '1', '0', '0');
REPLACE INTO cdb_navs VALUES ('2', '0', '搜索', '', 'search.php', '0', '0', '1', '2', '0', '0');
REPLACE INTO cdb_navs VALUES ('3', '0', '插件', '', '#', '0', '0', '1', '4', '0', '0');
REPLACE INTO cdb_navs VALUES ('4', '0', '帮助', '', 'faq.php', '0', '0', '1', '5', '0', '0');
REPLACE INTO cdb_navs VALUES ('5', '0', '导航', '', '#', '0', '0', '1', '6', '0', '0');
REPLACE INTO cdb_settings (variable, value) VALUES ('allowfloatwin', 1);
REPLACE INTO cdb_settings (variable, value) VALUES ('creditnotice', 1);
REPLACE INTO cdb_settings (variable, value) VALUES ('pwdsafety', '');
REPLACE INTO cdb_settings (variable, value) VALUES ('dateconvert', '1');
REPLACE INTO cdb_settings (variable, value) VALUES ('authoronleft', '1');
REPLACE INTO cdb_settings (variable, value) VALUES ('statcode', '');
REPLACE INTO cdb_settings (variable, value) VALUES ('google', '1');
REPLACE INTO cdb_settings (variable, value) VALUES ('avatarmethod', '0');
REPLACE INTO cdb_settings (variable, value) VALUES ('newbietask', '');
REPLACE INTO cdb_settings (variable, value) VALUES ('taskon', '0');
REPLACE INTO cdb_settings (variable, value) VALUES ('msn', '');
UPDATE cdb_imagetypes SET available='1';
DELETE FROM cdb_admincustom WHERE sort='0';
EOT;

$upgradesql_bbcodes = <<<EOT
INSERT INTO cdb_bbcodes VALUES ('1', '2','1','b i u', 'popup_simple', '', '', '粗体 斜体 下划线', '1', '', '1', '0');
INSERT INTO cdb_bbcodes VALUES ('2', '1','1','font', 'popup_fontname', '', '', '字体', '1', '', '1', '1');
INSERT INTO cdb_bbcodes VALUES ('3', '2','1','size', 'popup_fontsize', '', '', '大小', '1', '', '1', '2');
INSERT INTO cdb_bbcodes VALUES ('4', '2','1','color', 'popup_forecolor', '', '', '颜色', '1', '', '1', '3');
INSERT INTO cdb_bbcodes VALUES ('5', '2','1','align', 'popup_justify', '', '', '对齐', '1', '', '1', '4');
INSERT INTO cdb_bbcodes VALUES ('6', '2','1','url', 'cmd_createlink', '', '', '链接', '1', '', '1', '5');
INSERT INTO cdb_bbcodes VALUES ('7', '1','1','email', 'cmd_email', '', '', 'Email', '1', '', '1', '6');
INSERT INTO cdb_bbcodes VALUES ('8', '2','1','img', 'cmd_insertimage', '', '', '图片', '1', '', '1', '7');
INSERT INTO cdb_bbcodes VALUES ('9', '2','1','media', 'popup_media', '', '', '多媒体', '1', '', '1', '8');
INSERT INTO cdb_bbcodes VALUES ('10', '2','1','quote', 'cmd_quote', '', '', '引用', '1', '', '1', '9');
INSERT INTO cdb_bbcodes VALUES ('11', '2','1','code', 'cmd_code', '', '', '代码', '1', '', '1', '10');
INSERT INTO cdb_bbcodes VALUES ('12', '2','1','list', 'popup_list', '', '', '列表', '1', '', '1', '11');
INSERT INTO cdb_bbcodes VALUES ('13', '2','1','indent outdent', 'popup_dent', '', '', '缩进', '1', '', '1', '12');
INSERT INTO cdb_bbcodes VALUES ('14', '1','1','float', 'popup_float', '', '', '浮动', '1', '', '1', '13');
INSERT INTO cdb_bbcodes VALUES ('15', '2','1','table', 'cmd_table', '', '', '表格', '1', '', '1', '14');
INSERT INTO cdb_bbcodes VALUES ('16', '1','1','free', 'cmd_free', '', '', '免费信息', '1', '', '1', '15');
INSERT INTO cdb_bbcodes VALUES ('17', '2','1','hide', 'cmd_hide', '', '', '隐藏内容', '1', '', '1', '16');
INSERT INTO cdb_bbcodes VALUES ('18', '2','1','smilies', 'popup_smilies', '', '', '表情', '1', '', '1', '17');
INSERT INTO cdb_bbcodes VALUES ('19', '2','1','tools', 'popup_tools', '', '', '工具', '1', '', '1', '99');
EOT;

$upgradesql_smiles = <<<EOT
INSERT INTO cdb_imagetypes VALUES ('{typeid,1}', '1','酷猴','smiley','2','coolmonkey');
INSERT INTO cdb_imagetypes VALUES ('{typeid,2}', '1','呆呆男','smiley','3','grapeman');

INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','1','smiley','[m:01]','01.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','2','smiley','[m:02]','02.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','3','smiley','[m:03]','03.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','4','smiley','[m:04]','04.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','5','smiley','[m:05]','05.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','6','smiley','[m:06]','06.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','7','smiley','[m:07]','07.gif');
INSERT INTO cdb_smilies (typeid, displayorder, type, code, url) VALUES ('{typeid,1}','8','smiley','[m:08]','08.gif');

⌨️ 快捷键说明

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