First commit

This commit is contained in:
2025-06-18 10:24:27 +08:00
commit ebc39cd5dd
3873 changed files with 412712 additions and 0 deletions

View File

@@ -0,0 +1,140 @@
<?php
/*
[Discuz!] (C)2001-2099 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: db.class.php 976 2009-12-03 03:02:44Z zhaoxiongfei $
*/
if(!defined('IN_COMSENZ')) {
exit('Access Denied');
}
class dbstuff {
var $querynum = 0;
var $link;
var $histories;
var $time;
var $tablepre;
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = '', $pconnect = 0, $tablepre='', $time = 0) {
$this->time = $time;
$this->tablepre = $tablepre;
mysqli_report(MYSQLI_REPORT_OFF);
if(!$this->link = new mysqli($dbhost, $dbuser, $dbpw, $dbname)) {
$this->halt('Can not connect to MySQL server');
}
if($dbcharset) {
$this->link->set_charset($dbcharset);
}
$this->link->query("SET sql_mode=''");
$this->link->query("SET character_set_client=binary");
}
function fetch_array($query, $result_type = MYSQLI_ASSOC) {
return $query ? $query->fetch_array($result_type) : null;
}
function result_first($sql, &$data) {
$query = $this->query($sql);
$data = $this->result($query, 0);
}
function fetch_first($sql, &$arr) {
$query = $this->query($sql);
$arr = $this->fetch_array($query);
}
function fetch_all($sql, &$arr) {
$query = $this->query($sql);
while($data = $this->fetch_array($query)) {
$arr[] = $data;
}
}
function cache_gc() {
$this->query("DELETE FROM {$this->tablepre}sqlcaches WHERE expiry<$this->time");
}
function query($sql, $type = '', $cachetime = FALSE) {
$resultmode = $type == 'UNBUFFERED' ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT;
if(!($query = $this->link->query($sql, $resultmode)) && $type != 'SILENT') {
$this->halt('MySQL Query Error', $sql);
}
$this->querynum++;
$this->histories[] = $sql;
return $query;
}
function affected_rows() {
return $this->link->affected_rows;
}
function error() {
return $this->link->error;
}
function errno() {
return $this->link->errno;
}
function result($query, $row) {
if(!$query || $query->num_rows == 0) {
return null;
}
$query->data_seek($row);
$assocs = $query->fetch_row();
return $assocs[0];
}
function num_rows($query) {
$query = $query ? $query->num_rows : 0;
return $query;
}
function num_fields($query) {
return $query ? $query->field_count : 0;
}
function free_result($query) {
return $query ? $query->free() : false;
}
function insert_id() {
return ($id = $this->link->insert_id) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);
}
function fetch_row($query) {
$query = $query ? $query->fetch_row() : null;
return $query;
}
function fetch_fields($query) {
return $query ? $query->fetch_field() : null;
}
function version() {
return $this->link->server_info;
}
function escape_string($str) {
return $this->link->escape_string($str);
}
function close() {
return $this->link->close();
}
function halt($message = '', $sql = '') {
show_error('run_sql_error', $message.'<br /><br />'.$sql.'<br /> '.$this->error(), 0);
}
}
?>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

View File

@@ -0,0 +1,230 @@
<?php
define('UC_VERNAME', '中文版');
$lang = array(
'SC_UTF8' => '简体中文 UTF8 版',
'TC_UTF8' => '繁体中文 UTF8 版',
'title_install' => SOFT_NAME.' 安装向导',
'agreement_yes' => '我同意',
'agreement_no' => '我不同意',
'notset' => '不限制',
'message_title' => '提示信息',
'error_message' => '错误信息',
'message_return' => '返回',
'return' => '返回',
'install_wizard' => '安装向导',
'config_nonexistence' => '配置文件不存在',
'nodir' => '目录不存在',
'short_open_tag_invalid' => '对不起,请将 php.ini 中的 short_open_tag 设置为 On否则无法继续安装。',
'redirect' => '浏览器会自动跳转页面,无需人工干预。<br>除非当您的浏览器没有自动跳转时,请点击这里',
'database_errno_2003' => '无法连接数据库,请检查数据库是否启动,数据库服务器地址是否正确',
'database_errno_1044' => '无法创建新的数据库,请检查数据库名称填写是否正确',
'database_errno_1045' => '无法连接数据库,请检查数据库用户名或者密码是否正确',
'database_errno_1064' => 'SQL 语法错误',
'dbpriv_createtable' => '没有CREATE TABLE权限无法继续安装',
'dbpriv_insert' => '没有INSERT权限无法继续安装',
'dbpriv_select' => '没有SELECT权限无法继续安装',
'dbpriv_update' => '没有UPDATE权限无法继续安装',
'dbpriv_delete' => '没有DELETE权限无法继续安装',
'dbpriv_droptable' => '没有DROP TABLE权限无法安装',
'db_not_null' => '数据库中已经安装过 UCenter, 继续安装会清空原有数据。',
'db_drop_table_confirm' => '继续安装会清空全部原有数据,您确定要继续吗?',
'writeable' => '可写',
'unwriteable' => '不可写',
'old_step' => '上一步',
'new_step' => '下一步',
'database_errno_2003' => '无法连接数据库,请检查数据库是否启动,数据库服务器地址是否正确',
'database_errno_1044' => '无法创建新的数据库,请检查数据库名称填写是否正确',
'database_errno_1045' => '无法连接数据库,请检查数据库用户名或者密码是否正确',
'step_env_check_title' => '开始安装',
'step_env_check_desc' => '环境以及文件目录权限检查',
'step_db_init_title' => '安装数据库',
'step_db_init_desc' => '正在执行数据库安装',
'step1_file' => '目录文件',
'step1_need_status' => '所需状态',
'step1_status' => '当前状态',
'not_continue' => '请将以上红叉部分修正再试',
'tips_dbinfo' => '填写数据库信息',
'tips_dbinfo_comment' => '',
'tips_admininfo' => '填写管理员信息',
'tips_admininfo_comment' => '请牢记 UCenter 创始人密码,凭该密码登陆 UCenter。',
'step_ext_info_title' => '安装成功 ',
'step_ext_info_desc' => '点击进入登陆',
'ext_info_succ' => '安装成功 ',
'install_locked' => '安装锁定,已经安装过了,如果您确定要重新安装,请到服务器上删除<br /> '.str_replace(ROOT_PATH, '', $lockfile),
'error_quit_msg' => '您必须解决以上问题,安装才可以继续',
'step_app_reg_title' => '设置运行环境',
'step_app_reg_desc' => '检测服务器环境以及设置 UCenter',
'tips_ucenter' => '请填写 UCenter 相关信息',
'tips_ucenter_comment' => 'UCenter 是 Comsenz 公司产品的核心服务程序Discuz! Board 的安装和运行依赖此程序。如果您已经安装了 UCenter请填写以下信息。否则请到 <a href="https://www.discuz.vip/" target="blank">Comsenz 产品中心</a> 下载并且安装,然后再继续。',
'advice_mysqli_connect' => '请检查 mysqli 模块是否正确加载',
'advice_xml_parser_create' => '该函数需要 PHP 支持 XML 。请联系服务商,确定开启了此项功能',
'advice_json_encode' => '该函数需要 PHP 支持 JSON 。请联系服务商,确定开启了此项功能',
'advice_fsockopen' => '该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系服务商,确定开启了此项功能',
'advice_pfsockopen' => '该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系服务商,确定开启了此项功能',
'advice_stream_socket_client' => '该函数需要 php.ini 中 stream_socket_client 函数开启。请联系服务商,确定开启了此项功能',
'advice_curl_init' => '该函数需要 php.ini 中 curl_init 函数开启。请联系服务商,确定开启了此项功能',
'undefine_func' => '不存在的函数',
'mysqli_unsupport' => '请检查 mysqli 模块是否正确加载',
'ucurl' => 'UCenter 的 URL',
'ucpw' => 'UCenter 创始人密码',
'tips_siteinfo' => '请填写站点信息',
'sitename' => '站点名称',
'siteurl' => '站点 URL',
'forceinstall' => '强制安装',
'dbinfo_forceinstall_invalid' => '当前数据库当中已经含有同样表前缀的数据表,您可以修改“表名前缀”来避免删除旧的数据,或者选择强制安装。强制安装会删除旧数据,且无法恢复',
'click_to_back' => '点击返回上一步',
'adminemail' => '系统信箱 Email',
'adminemail_comment' => '用于发送程序错误报告',
'dbhost_comment' => '数据库服务器地址, 一般为 localhost',
'tablepre_comment' => '同一数据库运行多个论坛时,请修改前缀',
'forceinstall_check_label' => '我要删除数据,强制安装 !!!',
'uc_url_empty' => '您没有填写 UCenter 的 URL请返回填写',
'uc_url_invalid' => 'URL 格式错误',
'uc_url_unreachable' => 'UCenter 的 URL 地址可能填写错误,请检查',
'uc_ip_invalid' => '无法解析该域名,请填写站点的 IP</font>',
'uc_admin_invalid' => 'UC创始人密码错误请重新填写',
'uc_data_invalid' => '通信失败,请检查 UC的URL 地址是否正确 ',
'ucenter_ucurl_invalid' => 'UC的URL为空或者格式错误请检查',
'ucenter_ucpw_invalid' => 'UC的创始人密码为空或者格式错误请检查',
'siteinfo_siteurl_invalid' => '站点URL为空或者格式错误请检查',
'siteinfo_sitename_invalid' => '站点名称为空,或者格式错误,请检查',
'dbinfo_dbhost_invalid' => '数据库服务器为空,或者格式错误,请检查',
'dbinfo_dbname_invalid' => '数据库名为空,或者格式错误,请检查',
'dbinfo_dbuser_invalid' => '数据库用户名为空,或者格式错误,请检查',
'dbinfo_dbpw_invalid' => '数据库密码为空,或者格式错误,请检查',
'dbinfo_adminemail_invalid' => '系统邮箱为空,或者格式错误,请检查',
'dbinfo_tablepre_invalid' => '表名前缀不能包含字符".",不能以数字开头',
'admininfo_username_invalid' => '管理员用户名为空,或者格式错误,请检查',
'admininfo_email_invalid' => '管理员Email为空或者格式错误请检查',
'admininfo_ucfounderpw_invalid' => '管理员密码为空,请填写',
'admininfo_ucfounderpw2_invalid' => '两次密码不一致,请检查',
'username' => '管理员账号',
'email' => '管理员 Email',
'password' => '管理员密码',
'password_comment' => '管理员密码不能为空',
'password2' => '重复密码',
'admininfo_invalid' => '管理员信息不完整,请检查管理员账号,密码,邮箱',
'dbname_invalid' => '数据库名为空,请填写数据库名称',
'admin_username_invalid' => '非法用户名,用户名长度不应当超过 15 个英文字符,且不能包含特殊字符,一般是中文,字母或者数字',
'admin_password_invalid' => '密码和上面不一致,请重新输入',
'admin_email_invalid' => 'Email 地址错误,此邮件地址已经被使用或者格式无效,请更换为其他地址',
'admin_invalid' => '您的信息管理员信息没有填写完整,请仔细填写每个项目',
'admin_exist_password_error' => '该用户已经存在,如果您要设置此用户为论坛的管理员,请正确输入该用户的密码,或者请更换论坛管理员的名字',
'tagtemplates_subject' => '标题',
'tagtemplates_uid' => '用户 ID',
'tagtemplates_username' => '发帖者',
'tagtemplates_dateline' => '日期',
'tagtemplates_url' => '主题地址',
'uc_version_incorrect' => '您的 UCenter 服务端版本过低,请升级 UCenter 服务端到最新版本并且升级下载地址https://www.discuz.vip/ 。',
'config_unwriteable' => '安装向导无法写入配置文件, 请设置 config.inc.php 程序属性为可写状态(777)',
'install_in_processed' => '正在安装...',
'install_succeed' => '安装用户中心成功,点击进入下一步',
'copyright' => '&copy; 2001-'.date('Y').' <a href="https://code.dismall.com/" target="_blank">Discuz! Team</a>.',
'license' => '<div class="license"><h1>中文版授权协议 适用于中文用户</h1>
<p>版权所有 (c) 2001-'.date('Y').',腾讯云计算(北京)有限责任公司(原北京康盛新创科技有限责任公司)保留所有权利。</p>
<p>感谢您选择 UCenter 产品。希望我们的努力能为您提供一个高效快速和强大的站点解决方案。</p>
<p>北京康盛新创科技有限责任公司为 UCenter 产品的开发商,依法独立拥有 UCenter 产品著作权。UCenter 官方网站网址为 https://www.discuz.vip。</p>
<p>UCenter 著作权已在中华人民共和国国家版权局注册,著作权受到法律和国际公约保护。使用者:无论个人或组织、盈利与否、用途如何(包括以学习和研究为目的),均需仔细阅读本协议,在理解、同意、并遵守本协议的全部条款后,方可开始使用 UCenter 软件。</p>
<p>本授权协议适用且仅适用于 UCenter 1.x 版本,北京康盛新创科技有限责任公司拥有对本授权协议的最终解释权。</p>
<h3>I. 协议许可的权利</h3>
<ol>
<li>您可以在完全遵守本最终用户授权协议的基础上,将本软件应用于非商业用途或商业用途使用(局限于本协议所适配许可的情况下),而不必支付软件版权授权费用。</li>
<li>您可以在协议规定的约束和限制范围内修改 UCenter 源代码(如果被提供的话)或界面风格以适应您的网站要求。</li>
<li>您拥有使用本软件构建的网站中全部会员资料、文章及相关信息的所有权,并独立承担与文章内容的相关法律义务。</li>
<li>将本软件应用于商业用途必须遵守中国人民共和国相关法律。若需提供技术支持方式或技术支持内容请向官方https://www.discuz.vip/)获取技术支持服务。</li>
</ol>
<h3>II. 协议规定的约束和限制</h3>
<ol>
<li>不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。</li>
<li>无论如何,即无论用途如何、是否经过修改或美化、修改程度如何,只要使用 UCenter 的整体或任何部分,未经书面许可,页面页脚处的 UCenter 名称和下属网站https://www.discuz.vip 的链接都必须保留,而不能清除或修改。</li>
<li>禁止在 UCenter 的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。</li>
<li>如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。</li>
</ol>
<h3>III. 有限担保和免责声明</h3>
<ol>
<li>本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。</li>
<li>用户出于自愿而使用本软件,您必须了解使用本软件的风险,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。</li>
<li>北京康盛新创科技有限责任公司不对使用本软件构建的网站中的文章或信息承担责任。</li>
</ol>
<p>有关 UCenter 最终用户授权协议、商业授权与技术服务的详细内容,均由 UCenter 官方网站独家提供。北京康盛新创科技有限责任公司拥有在不事先通知的情况下,修改授权协议和服务价目表的权力,修改后的协议或价目表对自改变之日起的新授权用户生效。</p>
<p>电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始安装 UCenter即被视为完全理解并接受本协议的各项条款在享有上述条款授予的权力的同时受到相关的约束和限制。协议许可范围以外的行为将直接违反本授权协议并构成侵权我们有权随时终止授权责令停止损害并保留追究相关责任的权力。</p></div>',
'uc_installed' => '您已经安装过 UCenter如果需要重新安装请删除 data/install.lock 文件',
'i_agree' => '我已仔细阅读,并同意上述条款中的所有内容',
'supportted' => '支持',
'unsupportted' => '不支持',
'max_size' => '支持/最大尺寸',
'project' => '项目',
'ucenter_required' => 'UCenter 所需配置',
'ucenter_best' => 'UCenter 最佳',
'curr_server' => '当前服务器',
'env_check' => '环境检查',
'os' => '操作系统',
'php' => 'PHP 版本',
'attachmentupload' => '附件上传',
'unlimit' => '不限制',
'version' => '版本',
'gdversion' => 'GD 库',
'allow' => '允许 ',
'unix' => '类Unix',
'diskspace' => '磁盘空间',
'priv_check' => '目录、文件权限检查',
'func_depend' => '函数依赖性检查',
'func_name' => '函数名称',
'check_result' => '检查结果',
'suggestion' => '建议',
'advice_mysqli' => '请检查 mysqli 模块是否正确加载',
'advice_fopen' => '该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系服务商,确定开启了此项功能',
'advice_file_get_contents' => '该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系服务商,确定开启了此项功能',
'advice_xml' => '该函数需要 PHP 支持 XML。请联系服务商确定开启了此项功能',
'none' => '无',
'dbhost' => '数据库服务器',
'dbuser' => '数据库用户名',
'dbpw' => '数据库密码',
'dbname' => '数据库名',
'tablepre' => '数据表前缀',
'ucfounderpw' => '创始人密码',
'ucfounderpw2' => '重复创始人密码',
'create_table' => '建立数据表',
'succeed' => '成功 ',
);

View File

@@ -0,0 +1,83 @@
/*
(C) 2001-2099 Comsenz Inc.
*/
/* common */
*{ word-wrap:break-word; }
body{ padding:5px 0; background:#FFF; text-align:center; }
body, td, input, textarea, select, button{ color:#666; font:12px Verdana, Tahoma, Arial, sans-serif; }
ul, dl, dd, p, h1, h2, h3, h4, h5, h6, form, fieldset { margin:0; padding:0; }
h1, h2, h3, h4, h5, h6{ font-size:12px; }
a{ color:#2366A8; text-decoration:none; }
a:hover { text-decoration:underline; }
a img{ border:none; }
em, cite, strong, th{ font-style:normal; font-weight:normal; }
table{ border-collapse:collapse; }
/* box */
.container{ overflow:hidden; margin:0 auto; width:700px; height:auto !important;text-align:left; border:1px solid #B5CFD9; }
.header{ height:194px; background:url(images/bg_repx.gif) repeat-x; }
.header h1{ text-indent:-9999px; width:270px; height:48px; background:url(images/bg_repno.gif) no-repeat 26px 22px; }
.header span { float: right; padding-right: 10px; }
.main{ padding:20px 20px 0; background:#F7FBFE url(images/bg_repx.gif) repeat-x 0 -194px; }
.main h3{ margin:10px auto; width:75%; color:#6CA1B4; font-weight:700; }
.desc{ margin:0 auto; width:82.6%; line-height:180%; }
.desc ul{ margin-left:20px; }
.desc1{ margin:10px 0; width:100%; }
.desc1 ul{ margin-left:25px; }
.desc1 li{ margin:3px 0; }
.tb, .tb2{ margin:15px 0 15px 67px; }
.tb th{ padding:5px; color:#6CA1B4; font-weight:700; }
.tb td{ padding:3px 5px; }
.tb .w, .tb .nw, .tb .padleft{ padding-left:45px; }
.tb .pdleft1{ padding-left:67px; }
.tb2{}
.tb2 th, .tb2 td{ padding:3px 5px; }
.tbopt{ width:120px; }
.btnbox{ text-align:center; }
.btnbox input{ margin:0 2px; }
.btnbox textarea{ margin-bottom:10px; height:150px; }
.btn{ margin-top:10px; }
.footer{ line-height:40px; text-align:center; background:url(images/bg_footer.gif) repeat-x; font-size:11px; }
/* form */
.txt{ width:200px; }
/* step num */
.setup{ margin:46px 0 0 200px; padding-left:70px; }
.setup h2{ padding-top:0; *padding-top:6px; color:#6CA1B4; font-size:36px; }
.setup p{ margin-left:6px; color:#999; }
.step1{ background:url(images/stepnum.gif) no-repeat 0 8px; }
.step2{ background:url(images/stepnum.gif) no-repeat 0 -92px; }
.step3{ background:url(images/stepnum.gif) no-repeat 0 -192px; }
.step4{ background:url(images/stepnum.gif) no-repeat 0 -292px; }
/* step status */
.stepstat{ position:relative; bottom:-15px; left:80px; *width:593px; height:30px; }
.stepstatbg{ position:absolute; top:18px; z-index:90; width:535px; height:9px; overflow:hidden; background:#81C6F0 url(images/bg_stepstatus.gif) no-repeat; }
.stepstat ul{ position:absolute; top:3px; left:-2px; z-index:100; list-style:none; width:600px; white-space:nowrap; overflow:hidden; }
.stepstat li{ float:left; text-indent:-9999px; width:175px; height:30px; background:url(images/bg_repno.gif) no-repeat 0 -38px; }
.stepstat .current{ background:url(images/bg_repno.gif) no-repeat 0 -71px; }
.stepstat .unactivated{ background:url(images/bg_repno.gif) no-repeat 0 -103px; }
.stepstat .last{ width:20px; }
.stepstat1{ background-position:-750px 0; }
.stepstat2{ background-position:-570px 0; }
.stepstat3{ background-position:-390px 0; }
.stepstat4{ background-position:-210px 0; }
/* file status */
.w{ background:url(images/bg_repno.gif) no-repeat 45px -148px; }
.nw{ background:url(images/bg_repno.gif) no-repeat 45px -197px; }
/* space */
.marginbot{ margin-bottom:20px; }
.margintop{ margin-top:20px; }
.red{ color:red; }
.licenseblock{ margin-bottom:15px; padding:8px; height:280px; border:1px solid #EEE; background:#FFF; overflow:scroll; overflow-x:hidden; }
.license{}
.license h1{ padding-bottom:10px; font-size:14px; text-align:center; }
.license h3{ margin:0; color:#666; }
.license p{ line-height:150%; margin:10px 0; text-indent:25px; }
.license li{ line-height:150%; margin:5px 0; }
.title{ margin:5px 0 -15px 60px; }

433
uc_server/install/uc.sql Normal file
View File

@@ -0,0 +1,433 @@
DROP TABLE IF EXISTS uc_applications;
CREATE TABLE uc_applications (
appid smallint(6) unsigned NOT NULL auto_increment,
`type` varchar(16) NOT NULL default '',
`name` varchar(20) NOT NULL default '',
url varchar(255) NOT NULL default '',
authkey varchar(255) NOT NULL default '',
ip varchar(45) NOT NULL default '',
viewprourl varchar(255) NOT NULL,
apifilename varchar( 30 ) NOT NULL DEFAULT 'uc.php',
charset varchar(8) NOT NULL default '',
dbcharset varchar(8) NOT NULL default '',
synlogin tinyint(1) NOT NULL default '0',
recvnote tinyint(1) DEFAULT '0',
extra text NOT NULL,
tagtemplates text NOT NULL,
allowips text NOT NULL,
PRIMARY KEY (appid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_members;
CREATE TABLE uc_members (
uid mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
username char(15) NOT NULL DEFAULT '',
`password` varchar(255) NOT NULL DEFAULT '',
`secmobicc` varchar(3) NOT NULL DEFAULT '',
`secmobile` varchar(12) NOT NULL DEFAULT '',
email varchar(255) NOT NULL DEFAULT '',
myid char(30) NOT NULL DEFAULT '',
myidkey char(16) NOT NULL DEFAULT '',
regip varchar(45) NOT NULL DEFAULT '',
regdate int(10) unsigned NOT NULL DEFAULT '0',
lastloginip int(10) NOT NULL DEFAULT '0',
lastlogintime int(10) unsigned NOT NULL DEFAULT '0',
salt varchar(20) NOT NULL DEFAULT '',
secques char(8) NOT NULL default '',
PRIMARY KEY(uid),
UNIQUE KEY username(username),
KEY email(email(40)),
KEY secmobile (`secmobile`, `secmobicc`)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_memberfields;
CREATE TABLE uc_memberfields (
uid mediumint(8) unsigned NOT NULL,
blacklist text NOT NULL,
PRIMARY KEY(uid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_memberlogs;
CREATE TABLE uc_memberlogs (
lid int(10) unsigned NOT NULL AUTO_INCREMENT,
uid mediumint(8) unsigned NOT NULL,
action varchar(32) NOT NULL DEFAULT '',
extra varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(lid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_newpm;
CREATE TABLE uc_newpm (
uid mediumint(8) unsigned NOT NULL,
PRIMARY KEY (uid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_friends;
CREATE TABLE uc_friends (
uid mediumint(8) unsigned NOT NULL default '0',
friendid mediumint(8) unsigned NOT NULL default '0',
direction tinyint(1) NOT NULL default '0',
version int(10) unsigned NOT NULL auto_increment,
delstatus tinyint(1) NOT NULL default '0',
comment char(255) NOT NULL default '',
PRIMARY KEY(version),
KEY uid(uid),
KEY friendid(friendid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_tags;
CREATE TABLE uc_tags (
tagname char(20) NOT NULL,
appid smallint(6) unsigned NOT NULL default '0',
data mediumtext,
expiration int(10) unsigned NOT NULL,
KEY tagname (tagname,appid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_sqlcache;
CREATE TABLE uc_sqlcache (
sqlid char(6) NOT NULL default '',
data char(100) NOT NULL,
expiry int(10) unsigned NOT NULL,
PRIMARY KEY (sqlid),
KEY(expiry)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_settings;
CREATE TABLE uc_settings (
`k` varchar(32) NOT NULL default '',
`v` text NOT NULL,
PRIMARY KEY (k)
) ENGINE=InnoDB;
REPLACE INTO uc_settings(k, v) VALUES ('accessemail','');
REPLACE INTO uc_settings(k, v) VALUES ('censoremail','');
REPLACE INTO uc_settings(k, v) VALUES ('censorusername','');
REPLACE INTO uc_settings(k, v) VALUES ('dateformat','y-n-j');
REPLACE INTO uc_settings(k, v) VALUES ('doublee','0');
REPLACE INTO uc_settings(k, v) VALUES ('nextnotetime','0');
REPLACE INTO uc_settings(k, v) VALUES ('timeoffset','28800');
REPLACE INTO uc_settings(k, v) VALUES ('privatepmthreadlimit','25');
REPLACE INTO uc_settings(k, v) VALUES ('chatpmthreadlimit','30');
REPLACE INTO uc_settings(k, v) VALUES ('chatpmmemberlimit','35');
REPLACE INTO uc_settings(k, v) VALUES ('pmfloodctrl','15');
REPLACE INTO uc_settings(k, v) VALUES ('pmcenter','1');
REPLACE INTO uc_settings(k, v) VALUES ('sendpmseccode','1');
REPLACE INTO uc_settings(k, v) VALUES ('pmsendregdays','0');
REPLACE INTO uc_settings(k, v) VALUES ('addappbyurl','0');
REPLACE INTO uc_settings(k, v) VALUES ('insecureoperation','0');
REPLACE INTO uc_settings(k, v) VALUES ('maildefault', 'username@21cn.com');
REPLACE INTO uc_settings(k, v) VALUES ('mailsend', '1');
REPLACE INTO uc_settings(k, v) VALUES ('mailserver', 'smtp.21cn.com');
REPLACE INTO uc_settings(k, v) VALUES ('mailport', '25');
REPLACE INTO uc_settings(k, v) VALUES ('mailtimeout', '30');
REPLACE INTO uc_settings(k, v) VALUES ('mailauth', '1');
REPLACE INTO uc_settings(k, v) VALUES ('mailfrom', 'UCenter <username@21cn.com>');
REPLACE INTO uc_settings(k, v) VALUES ('mailauth_username', 'username@21cn.com');
REPLACE INTO uc_settings(k, v) VALUES ('mailauth_password', 'password');
REPLACE INTO uc_settings(k, v) VALUES ('maildelimiter', '0');
REPLACE INTO uc_settings(k, v) VALUES ('mailusername', '1');
REPLACE INTO uc_settings(k, v) VALUES ('mailsilent', '1');
REPLACE INTO uc_settings(k, v) VALUES ('login_failedtime', '5');
REPLACE INTO uc_settings(k, v) VALUES ('version', '1.7.0');
DROP TABLE IF EXISTS uc_badwords;
CREATE TABLE uc_badwords (
id smallint(6) unsigned NOT NULL auto_increment,
`admin` varchar(15) NOT NULL default '',
find varchar(255) NOT NULL default '',
replacement varchar(255) NOT NULL default '',
findpattern varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_notelist;
CREATE TABLE uc_notelist (
noteid int(10) unsigned NOT NULL auto_increment,
operation char(32) NOT NULL,
closed tinyint(4) NOT NULL default '0',
totalnum smallint(6) unsigned NOT NULL default '0',
succeednum smallint(6) unsigned NOT NULL default '0',
getdata mediumtext NOT NULL,
postdata mediumtext NOT NULL,
dateline int(10) unsigned NOT NULL default '0',
pri tinyint(3) NOT NULL default '0',
PRIMARY KEY (noteid),
KEY closed (closed,pri,noteid),
KEY dateline (dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_domains;
CREATE TABLE uc_domains (
id int(10) unsigned NOT NULL auto_increment,
domain char(40) NOT NULL default '',
ip varchar(45) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_feeds;
CREATE TABLE uc_feeds (
feedid mediumint(8) unsigned NOT NULL auto_increment,
appid varchar(30) NOT NULL default '',
icon varchar(30) NOT NULL default '',
uid mediumint(8) unsigned NOT NULL default '0',
username varchar(15) NOT NULL default '',
dateline int(10) unsigned NOT NULL default '0',
hash_template varchar(32) NOT NULL default '',
hash_data varchar(32) NOT NULL default '',
title_template text NOT NULL default '',
title_data text NOT NULL default '',
body_template text NOT NULL,
body_data text NOT NULL,
body_general text NOT NULL,
image_1 varchar(255) NOT NULL default '',
image_1_link varchar(255) NOT NULL default '',
image_2 varchar(255) NOT NULL default '',
image_2_link varchar(255) NOT NULL default '',
image_3 varchar(255) NOT NULL default '',
image_3_link varchar(255) NOT NULL default '',
image_4 varchar(255) NOT NULL default '',
image_4_link varchar(255) NOT NULL default '',
target_ids varchar(255) NOT NULL default '',
PRIMARY KEY (feedid),
KEY uid (uid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_admins;
CREATE TABLE uc_admins (
uid mediumint(8) unsigned NOT NULL auto_increment,
username char(15) NOT NULL default '',
allowadminsetting tinyint(1) NOT NULL default '0',
allowadminapp tinyint(1) NOT NULL default '0',
allowadminuser tinyint(1) NOT NULL default '0',
allowadminbadword tinyint(1) NOT NULL default '0',
allowadmintag tinyint(1) NOT NULL default '0',
allowadminpm tinyint(1) NOT NULL default '0',
allowadmincredits tinyint(1) NOT NULL default '0',
allowadmindomain tinyint(1) NOT NULL default '0',
allowadmindb tinyint(1) NOT NULL default '0',
allowadminnote tinyint(1) NOT NULL default '0',
allowadmincache tinyint(1) NOT NULL default '0',
allowadminlog tinyint(1) NOT NULL default '0',
PRIMARY KEY (uid),
UNIQUE KEY username (username)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_failedlogins;
CREATE TABLE uc_failedlogins (
ip varchar(45) NOT NULL default '',
count tinyint(3) unsigned NOT NULL default '0',
lastupdate int(10) unsigned NOT NULL default '0',
PRIMARY KEY (ip)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_protectedmembers;
CREATE TABLE uc_protectedmembers (
uid mediumint(8) unsigned NOT NULL default '0',
username char(15) NOT NULL default '',
appid tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
`admin` char(15) NOT NULL default '0',
UNIQUE KEY(username, appid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_mergemembers;
CREATE TABLE uc_mergemembers (
appid smallint(6) unsigned NOT NULL,
username char(15) NOT NULL,
PRIMARY KEY (appid,username)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_vars;
CREATE TABLE uc_vars (
name char(32) NOT NULL default '',
value char(255) NOT NULL default '',
PRIMARY KEY(name)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_mailqueue;
CREATE TABLE uc_mailqueue (
mailid int(10) unsigned NOT NULL auto_increment,
touid mediumint(8) unsigned NOT NULL default '0',
tomail varchar(32) NOT NULL,
frommail varchar(100) NOT NULL,
subject varchar(255) NOT NULL,
message text NOT NULL,
charset varchar(15) NOT NULL,
htmlon tinyint(1) NOT NULL default '0',
level tinyint(1) NOT NULL default '1',
dateline int(10) unsigned NOT NULL default '0',
failures tinyint(3) unsigned NOT NULL default '0',
appid smallint(6) unsigned NOT NULL default '0',
PRIMARY KEY (mailid),
KEY appid (appid),
KEY level (level,failures)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_members;
CREATE TABLE uc_pm_members (
plid mediumint(8) unsigned NOT NULL default '0',
uid mediumint(8) unsigned NOT NULL default '0',
isnew tinyint(1) NOT NULL default '0',
pmnum int(10) unsigned NOT NULL default '0',
lastupdate int(10) unsigned NOT NULL default '0',
lastdateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (plid,uid),
KEY isnew (isnew),
KEY lastdateline (uid,lastdateline),
KEY lastupdate (uid,lastupdate)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_lists;
CREATE TABLE uc_pm_lists (
plid mediumint(8) unsigned NOT NULL auto_increment,
authorid mediumint(8) unsigned NOT NULL default '0',
pmtype tinyint(3) unsigned NOT NULL default '0',
subject varchar(80) NOT NULL,
members smallint(5) unsigned NOT NULL default '0',
min_max varchar(17) NOT NULL,
dateline int(10) unsigned NOT NULL default '0',
lastmessage text NOT NULL,
PRIMARY KEY (plid),
KEY pmtype (pmtype),
KEY min_max (min_max),
KEY authorid (authorid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_indexes;
CREATE TABLE uc_pm_indexes (
pmid mediumint(8) unsigned NOT NULL auto_increment,
plid mediumint(8) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_0;
CREATE TABLE uc_pm_messages_0 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_1;
CREATE TABLE uc_pm_messages_1 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_2;
CREATE TABLE uc_pm_messages_2 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_3;
CREATE TABLE uc_pm_messages_3 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_4;
CREATE TABLE uc_pm_messages_4 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_5;
CREATE TABLE uc_pm_messages_5 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_6;
CREATE TABLE uc_pm_messages_6 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_7;
CREATE TABLE uc_pm_messages_7 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_8;
CREATE TABLE uc_pm_messages_8 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS uc_pm_messages_9;
CREATE TABLE uc_pm_messages_9 (
pmid mediumint(8) unsigned NOT NULL default '0',
plid mediumint(8) unsigned NOT NULL default '0',
authorid mediumint(8) unsigned NOT NULL default '0',
message text NOT NULL,
delstatus tinyint(3) unsigned NOT NULL default '0',
dateline int(10) unsigned NOT NULL default '0',
PRIMARY KEY (pmid),
KEY plid (plid,delstatus,dateline),
KEY dateline (plid,dateline)
) ENGINE=InnoDB;

View File

@@ -0,0 +1,112 @@
<?php
/*
[Discuz!] (C)2001-2099 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: forum.func.php 14122 2008-08-20 06:06:33Z cnteacher $
*/
if(!defined('IN_COMSENZ')) {
exit('Access Denied');
}
define('SOFT_NAME', 'UCenter');
if(defined('UC_SERVER_VERSION')) {
define('SOFT_VERSION', UC_SERVER_VERSION);
define('SOFT_RELEASE', UC_SERVER_RELEASE);
} else {
define('SOFT_VERSION', '0.0.0');
define('SOFT_RELEASE', '19700101');
}
define('INSTALL_LANG', 'SC_UTF8');
define('CONFIG', ROOT_PATH.'./data/config.inc.php');
$sqlfile = ROOT_PATH.'./install/uc.sql';
$lockfile = ROOT_PATH.'./data/install.lock';
define('CHARSET', 'utf-8');
define('DBCHARSET', 'utf8mb4');
define('ORIG_TABLEPRE', 'uc_');
define('METHOD_UNDEFINED', 255);
define('ENV_CHECK_RIGHT', 0);
define('ERROR_CONFIG_VARS', 1);
define('SHORT_OPEN_TAG_INVALID', 2);
define('INSTALL_LOCKED', 3);
define('DATABASE_NONEXISTENCE', 4);
define('PHP_VERSION_TOO_LOW', 5);
define('MYSQL_VERSION_TOO_LOW', 6);
define('UC_URL_INVALID', 7);
define('UC_DNS_ERROR', 8);
define('UC_URL_UNREACHABLE', 9);
define('UC_VERSION_INCORRECT', 10);
define('UC_DBCHARSET_INCORRECT', 11);
define('UC_API_ADD_APP_ERROR', 12);
define('UC_ADMIN_INVALID', 13);
define('UC_DATA_INVALID', 14);
define('DBNAME_INVALID', 15);
define('DATABASE_ERRNO_2003', 16);
define('DATABASE_ERRNO_1044', 17);
define('DATABASE_ERRNO_1045', 18);
define('DATABASE_CONNECT_ERROR', 19);
define('TABLEPRE_INVALID', 20);
define('CONFIG_UNWRITEABLE', 21);
define('ADMIN_USERNAME_INVALID', 22);
define('ADMIN_EMAIL_INVALID', 25);
define('ADMIN_EXIST_PASSWORD_ERROR', 26);
define('ADMININFO_INVALID', 27);
define('LOCKFILE_NO_EXISTS', 28);
define('TABLEPRE_EXISTS', 29);
define('ERROR_UNKNOW_TYPE', 30);
define('ENV_CHECK_ERROR', 31);
define('UNDEFINE_FUNC', 32);
define('MISSING_PARAMETER', 33);
define('LOCK_FILE_NOT_TOUCH', 34);
$func_items = array('mysqli_connect', 'xml_parser_create', 'json_encode');// MySQLi Only, Git新增
$env_items = array
(
'os' => array('c' => 'PHP_OS', 'r' => 'notset', 'b' => 'unix'),
'php' => array('c' => 'PHP_VERSION', 'r' => '5.6', 'b' => '7.4'),
'attachmentupload' => array('r' => 'notset', 'b' => '2M'),
'gdversion' => array('r' => '1.0', 'b' => '2.0'),
'curl' => array('r' => 'notset', 'b' => 'enable'),
'opcache' => array('r' => 'notset', 'b' => 'enable'),
'diskspace' => array('r' => '10M', 'b' => 'notset'),
);
$dirfile_items = array
(
'config' => array('type' => 'file', 'path' => './data/config.inc.php'),
'data' => array('type' => 'dir', 'path' => './data'),
'cache' => array('type' => 'dir', 'path' => './data/cache'),
'view' => array('type' => 'dir', 'path' => './data/view'),
'avatar' => array('type' => 'dir', 'path' => './data/avatar'),
'logs' => array('type' => 'dir', 'path' => './data/logs'),
'backup' => array('type' => 'dir', 'path' => './data/backup'),
'tmp' => array('type' => 'dir', 'path' => './data/tmp')
);
$form_db_init_items = array
(
'dbinfo' => array
(
'dbhost' => array('type' => 'text', 'required' => 1, 'reg' => '/^.*$/', 'value' => array('type' => 'string', 'var' => 'localhost')),
'dbname' => array('type' => 'text', 'required' => 1, 'reg' => '/^.*$/', 'value' => array('type' => 'string', 'var' => 'ucenter')),
'dbuser' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*$/', 'value' => array('type' => 'string', 'var' => 'root')),
'dbpw' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*$/', 'value' => array('type' => 'string', 'var' => '')),
'tablepre' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*$/', 'value' => array('type' => 'string', 'var' => 'uc_')),
),
'admininfo' => array
(
'ucfounderpw' => array('type' => 'password', 'required' => 1, 'reg' => '/^.*$/'),
'ucfounderpw2' => array('type' => 'password', 'required' => 1, 'reg' => '/^.*$/'),
)
);