First commit
This commit is contained in:
15000
install/data/common_district_1.sql
Normal file
15000
install/data/common_district_1.sql
Normal file
File diff suppressed because it is too large
Load Diff
15000
install/data/common_district_2.sql
Normal file
15000
install/data/common_district_2.sql
Normal file
File diff suppressed because it is too large
Load Diff
15771
install/data/common_district_3.sql
Normal file
15771
install/data/common_district_3.sql
Normal file
File diff suppressed because it is too large
Load Diff
208
install/data/group_index.xml
Normal file
208
install/data/group_index.xml
Normal file
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<root>
|
||||
<item id="spacecss"><![CDATA[#portal_block_1 .dxb_bc {margin-left:0px !important;}#portal_block_2 .dxb_bc {font-size:14px !important;margin-left:10px !important;}]]></item>
|
||||
<item id="layoutdata">
|
||||
<item id="diy1"><![CDATA[]]></item>
|
||||
<item id="diycontenttop"><![CDATA[]]></item>
|
||||
<item id="diy5">
|
||||
<item id="frame`framez4HEbL">
|
||||
<item id="attr">
|
||||
<item id="name"><![CDATA[framez4HEbL]]></item>
|
||||
<item id="moveable"><![CDATA[true]]></item>
|
||||
<item id="className"><![CDATA[frame move-span cl frame-1-1]]></item>
|
||||
<item id="titles"><![CDATA[]]></item>
|
||||
</item>
|
||||
<item id="column`framez4HEbL_left">
|
||||
<item id="attr">
|
||||
<item id="name"><![CDATA[framez4HEbL_left]]></item>
|
||||
<item id="className"><![CDATA[column frame-1-1-l]]></item>
|
||||
</item>
|
||||
<item id="block`portal_block_1">
|
||||
<item id="attr">
|
||||
<item id="name"><![CDATA[portal_block_1]]></item>
|
||||
<item id="className"><![CDATA[block move-span]]></item>
|
||||
<item id="titles"><![CDATA[]]></item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
<item id="column`framez4HEbL_center">
|
||||
<item id="attr">
|
||||
<item id="name"><![CDATA[framez4HEbL_center]]></item>
|
||||
<item id="className"><![CDATA[column frame-1-1-r]]></item>
|
||||
</item>
|
||||
<item id="block`portal_block_2">
|
||||
<item id="attr">
|
||||
<item id="name"><![CDATA[portal_block_2]]></item>
|
||||
<item id="className"><![CDATA[block move-span]]></item>
|
||||
<item id="titles"><![CDATA[]]></item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
<item id="diycommendtop"><![CDATA[]]></item>
|
||||
<item id="diycategorytop"><![CDATA[]]></item>
|
||||
<item id="diycontentbottom"><![CDATA[]]></item>
|
||||
<item id="diysidetop"><![CDATA[]]></item>
|
||||
<item id="diysidemiddle"><![CDATA[]]></item>
|
||||
<item id="diysidebottom"><![CDATA[]]></item>
|
||||
<item id="diy4"><![CDATA[]]></item>
|
||||
</item>
|
||||
<item id="style"><![CDATA[]]></item>
|
||||
<item id="blockdata">
|
||||
<item id="block">
|
||||
<item id="1">
|
||||
<item id="bid"><![CDATA[1]]></item>
|
||||
<item id="blockclass"><![CDATA[group_thread]]></item>
|
||||
<item id="blocktype"><![CDATA[0]]></item>
|
||||
<item id="name"><![CDATA[]]></item>
|
||||
<item id="title"><![CDATA[]]></item>
|
||||
<item id="classname"><![CDATA[]]></item>
|
||||
<item id="summary"><![CDATA[]]></item>
|
||||
<item id="uid"><![CDATA[1]]></item>
|
||||
<item id="username"><![CDATA[admin]]></item>
|
||||
<item id="styleid"><![CDATA[0]]></item>
|
||||
<item id="blockstyle">
|
||||
<item id="name"><![CDATA[]]></item>
|
||||
<item id="blockclass"><![CDATA[group_thread]]></item>
|
||||
<item id="makethumb"><![CDATA[1]]></item>
|
||||
<item id="getpic"><![CDATA[1]]></item>
|
||||
<item id="getsummary"><![CDATA[0]]></item>
|
||||
<item id="settarget"><![CDATA[1]]></item>
|
||||
<item id="fields">
|
||||
<item id="0"><![CDATA[url]]></item>
|
||||
<item id="1"><![CDATA[pic]]></item>
|
||||
<item id="2"><![CDATA[title]]></item>
|
||||
</item>
|
||||
<item id="template">
|
||||
<item id="raw"><![CDATA[<div class="module cl slidebox">
|
||||
<ul class="slideshow">
|
||||
[loop]
|
||||
<li style="width: {picwidth}px; height: {picheight}px;"><a href="{url}"{target}><img src="{pic}" width="{picwidth}" height="{picheight}" /></a><span class="title">{title}</span></li>
|
||||
[/loop]
|
||||
</ul>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
runslideshow();
|
||||
</script>]]></item>
|
||||
<item id="footer"><![CDATA[]]></item>
|
||||
<item id="header"><![CDATA[]]></item>
|
||||
<item id="indexplus">
|
||||
</item>
|
||||
<item id="index">
|
||||
</item>
|
||||
<item id="orderplus">
|
||||
</item>
|
||||
<item id="order">
|
||||
</item>
|
||||
<item id="loopplus">
|
||||
</item>
|
||||
<item id="loop"><![CDATA[<li style="width: {picwidth}px; height: {picheight}px;"><a href="{url}"{target}><img src="{pic}" width="{picwidth}" height="{picheight}" /></a><span class="title">{title}</span></li>]]></item>
|
||||
</item>
|
||||
<item id="hash"><![CDATA[7af6727c]]></item>
|
||||
</item>
|
||||
<item id="picwidth"><![CDATA[339]]></item>
|
||||
<item id="picheight"><![CDATA[215]]></item>
|
||||
<item id="target"><![CDATA[blank]]></item>
|
||||
<item id="dateformat"><![CDATA[Y-m-d]]></item>
|
||||
<item id="dateuformat"><![CDATA[0]]></item>
|
||||
<item id="script"><![CDATA[groupthread]]></item>
|
||||
<item id="param">
|
||||
<item id="gtids">
|
||||
<item id="0"><![CDATA[0]]></item>
|
||||
</item>
|
||||
<item id="rewardstatus"><![CDATA[0]]></item>
|
||||
<item id="titlelength"><![CDATA[40]]></item>
|
||||
<item id="summarylength"><![CDATA[80]]></item>
|
||||
<item id="startrow"><![CDATA[0]]></item>
|
||||
<item id="items"><![CDATA[4]]></item>
|
||||
<item id="special">
|
||||
<item id="0"><![CDATA[0]]></item>
|
||||
</item>
|
||||
<item id="picrequired"><![CDATA[1]]></item>
|
||||
</item>
|
||||
<item id="shownum"><![CDATA[4]]></item>
|
||||
<item id="cachetime"><![CDATA[0]]></item>
|
||||
<item id="punctualupdate"><![CDATA[0]]></item>
|
||||
<item id="hidedisplay"><![CDATA[0]]></item>
|
||||
<item id="dateline"><![CDATA[1308275841]]></item>
|
||||
<item id="notinherited"><![CDATA[0]]></item>
|
||||
<item id="isblank"><![CDATA[0]]></item>
|
||||
</item>
|
||||
<item id="2">
|
||||
<item id="bid"><![CDATA[2]]></item>
|
||||
<item id="blockclass"><![CDATA[group_thread]]></item>
|
||||
<item id="blocktype"><![CDATA[0]]></item>
|
||||
<item id="name"><![CDATA[]]></item>
|
||||
<item id="title"><![CDATA[]]></item>
|
||||
<item id="classname"><![CDATA[]]></item>
|
||||
<item id="summary"><![CDATA[]]></item>
|
||||
<item id="uid"><![CDATA[1]]></item>
|
||||
<item id="username"><![CDATA[admin]]></item>
|
||||
<item id="styleid"><![CDATA[24]]></item>
|
||||
<item id="blockstyle"><![CDATA[]]></item>
|
||||
<item id="picwidth"><![CDATA[0]]></item>
|
||||
<item id="picheight"><![CDATA[0]]></item>
|
||||
<item id="target"><![CDATA[blank]]></item>
|
||||
<item id="dateformat"><![CDATA[Y-m-d]]></item>
|
||||
<item id="dateuformat"><![CDATA[0]]></item>
|
||||
<item id="script"><![CDATA[groupthreadspecial]]></item>
|
||||
<item id="param">
|
||||
<item id="gtids">
|
||||
<item id="0"><![CDATA[0]]></item>
|
||||
</item>
|
||||
<item id="rewardstatus"><![CDATA[0]]></item>
|
||||
<item id="picrequired"><![CDATA[0]]></item>
|
||||
<item id="titlelength"><![CDATA[40]]></item>
|
||||
<item id="summarylength"><![CDATA[80]]></item>
|
||||
<item id="items"><![CDATA[10]]></item>
|
||||
</item>
|
||||
<item id="shownum"><![CDATA[10]]></item>
|
||||
<item id="cachetime"><![CDATA[3600]]></item>
|
||||
<item id="punctualupdate"><![CDATA[0]]></item>
|
||||
<item id="hidedisplay"><![CDATA[0]]></item>
|
||||
<item id="dateline"><![CDATA[1308275761]]></item>
|
||||
<item id="notinherited"><![CDATA[0]]></item>
|
||||
<item id="isblank"><![CDATA[0]]></item>
|
||||
</item>
|
||||
</item>
|
||||
<item id="style">
|
||||
<item id="24">
|
||||
<item id="styleid"><![CDATA[24]]></item>
|
||||
<item id="blockclass"><![CDATA[group_thread]]></item>
|
||||
<item id="name"><![CDATA[[内置]文章标题]]></item>
|
||||
<item id="template">
|
||||
<item id="raw"><![CDATA[<div class="module cl xl xl1">
|
||||
<ul>
|
||||
[loop]
|
||||
<li><a href="{url}" title="{title}"{target}>{title}</a></li>
|
||||
[/loop]
|
||||
</ul>
|
||||
</div>]]></item>
|
||||
<item id="footer"><![CDATA[]]></item>
|
||||
<item id="header"><![CDATA[]]></item>
|
||||
<item id="indexplus">
|
||||
</item>
|
||||
<item id="index">
|
||||
</item>
|
||||
<item id="orderplus">
|
||||
</item>
|
||||
<item id="order">
|
||||
</item>
|
||||
<item id="loopplus">
|
||||
</item>
|
||||
<item id="loop"><![CDATA[<li><a href="{url}" title="{title}"{target}>{title}</a></li>]]></item>
|
||||
</item>
|
||||
<item id="hash"><![CDATA[176fcc68]]></item>
|
||||
<item id="getpic"><![CDATA[0]]></item>
|
||||
<item id="getsummary"><![CDATA[0]]></item>
|
||||
<item id="makethumb"><![CDATA[0]]></item>
|
||||
<item id="settarget"><![CDATA[1]]></item>
|
||||
<item id="fields">
|
||||
<item id="0"><![CDATA[url]]></item>
|
||||
<item id="1"><![CDATA[title]]></item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
</item>
|
||||
</root>
|
0
install/data/index.htm
Normal file
0
install/data/index.htm
Normal file
4161
install/data/install.sql
Normal file
4161
install/data/install.sql
Normal file
File diff suppressed because it is too large
Load Diff
1121
install/data/install_data.sql
Normal file
1121
install/data/install_data.sql
Normal file
File diff suppressed because it is too large
Load Diff
0
install/include/index.htm
Normal file
0
install/include/index.htm
Normal file
49
install/include/install_extvar.php
Normal file
49
install/include/install_extvar.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
||||
* This is NOT a freeware, use is subject to license terms
|
||||
*
|
||||
* $Id: install_extvar.php 31245 2012-07-31 02:54:24Z liulanbo $
|
||||
*/
|
||||
|
||||
if(!defined('IN_COMSENZ')) {
|
||||
exit('Access Denied');
|
||||
}
|
||||
$settings = array(
|
||||
'extcredits' => array(
|
||||
1 => array('title' => $lang['init_credits_money'], 'ratio' => 0, 'available' => 1),
|
||||
2 => array('title' => $lang['init_credits_karma'], 'ratio' => 0, 'available' => 1),
|
||||
),
|
||||
'postnocustom' => array(
|
||||
0 => $lang['init_postno0'], 1 => $lang['init_postno1'], 2 => $lang['init_postno2'], 3 => $lang['init_postno3']
|
||||
),
|
||||
|
||||
'recommendthread' => array(
|
||||
'status' => '1',
|
||||
'addtext' => $lang['init_support'],
|
||||
'subtracttext' => $lang['init_opposition'],
|
||||
'defaultshow' => '1',
|
||||
'daycount' => '0',
|
||||
'ownthread' => '0',
|
||||
'iconlevels' => '0,100,200',
|
||||
),
|
||||
|
||||
'tasktypes' => array(
|
||||
'promotion' => array(
|
||||
'name' => $lang['init_promotion_task'],
|
||||
'version' => '1.0',
|
||||
),
|
||||
'gift' => array(
|
||||
'name' => $lang['init_gift_task'],
|
||||
'version' => '1.0',
|
||||
),
|
||||
'avatar' => array(
|
||||
'name' => $lang['init_avatar_task'],
|
||||
'version' => '1.0',
|
||||
),
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
?>
|
2306
install/include/install_function.php
Normal file
2306
install/include/install_function.php
Normal file
File diff suppressed because it is too large
Load Diff
389
install/include/install_lang.php
Normal file
389
install/include/install_lang.php
Normal file
@@ -0,0 +1,389 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
||||
* This is NOT a freeware, use is subject to license terms
|
||||
*
|
||||
* $Id: install_lang.php 36287 2016-12-12 03:59:05Z nemohou $
|
||||
*/
|
||||
|
||||
if(!defined('IN_COMSENZ')) {
|
||||
exit('Access Denied');
|
||||
}
|
||||
|
||||
define('UC_VERNAME', '中文版');
|
||||
$lang = array(
|
||||
'SC_UTF8' => '简体中文 UTF8 版',
|
||||
'TC_UTF8' => '繁体中文 UTF8 版',
|
||||
|
||||
'title_install' => SOFT_NAME.' 安装向导',
|
||||
'agreement_yes' => '同意',
|
||||
'agreement_no' => '取消',
|
||||
'notset' => '不限制',
|
||||
'enable' => '开启',
|
||||
'disable' => '关闭',
|
||||
|
||||
'message_title' => '提示信息',
|
||||
'error_message' => '错误信息',
|
||||
'message_return' => '返回',
|
||||
'return' => '返回',
|
||||
'install_wizard' => '安装向导',
|
||||
'config_nonexistence' => '配置文件不存在',
|
||||
'nodir' => '目录不存在',
|
||||
'redirect' => '浏览器会自动跳转页面,无需人工干预。<br>除非当您的浏览器没有自动跳转时,请点击这里',
|
||||
'auto_redirect' => '浏览器会自动跳转页面,无需人工干预',
|
||||
'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' => '无法连接数据库,请检查数据库用户名或者密码是否正确',
|
||||
'database_connect_error' => '数据库连接错误',
|
||||
'run_sql_error' => 'Discuz! Database Error',
|
||||
|
||||
'step_title_1' => '检查安装环境',
|
||||
'step_title_2' => '设置运行环境',
|
||||
'step_title_3' => '创建数据库',
|
||||
'step_title_4' => '安装',
|
||||
'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' => '填写管理员信息',
|
||||
'step_ext_info_title' => '安装成功。',
|
||||
'step_ext_info_comment' => '点击进入登录',
|
||||
|
||||
'ext_info_succ' => '安装成功。',
|
||||
'install_submit' => '提交',
|
||||
'install_locked' => '安装锁定,已经安装过了,如果您确定要重新安装,请到服务器上删除<br /> '.str_replace(ROOT_PATH, '', $lockfile),
|
||||
'error_stuck_msg' => '安装进程已经很久没有进展了,可能相关请求已经因网络超时或服务器严重错误而异常退出',
|
||||
'error_quit_msg' => '您必须解决以上问题,安装才可以继续',
|
||||
'error_reinstall_msg' => '您的数据库可能InnoDB性能不佳,请调高PHP超时时间,刷新页面尝试重新安装',
|
||||
|
||||
'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_dns_get_record' => '该函数需要 PHP 支持 DNS 查询,PHP 默认自带。错误的编译安装或缺少组件等原因容易引起此问题。请联系服务商,确定开启了此项功能',
|
||||
'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 函数开启。请联系服务商,确定开启了此项功能',
|
||||
|
||||
'ucurl' => 'UCenter 的 URL',
|
||||
'ucpw' => 'UCenter 创始人密码',
|
||||
'ucip' => 'UCenter 的 IP 地址',
|
||||
'ucenter_ucip_invalid' => '格式错误,请填写正确的 IP 地址',
|
||||
'ucip_comment' => '绝大多数情况下您可以不填',
|
||||
|
||||
'tips_siteinfo' => '请填写站点信息',
|
||||
'sitename' => '站点名称',
|
||||
'siteurl' => '站点 URL',
|
||||
|
||||
'forceinstall' => '强制安装',
|
||||
'dbinfo_forceinstall_invalid' => '当前数据库当中已经含有同样表前缀的数据表,您可以修改“表名前缀”来避免删除旧的数据,或者选择强制安装。强制安装会删除旧数据,且无法恢复',
|
||||
'dbinfo_myisam2innodb_invalid' => 'InnoDB性能不佳,安装超时失败的,可以尝试这种方式强制安装',
|
||||
|
||||
'click_to_back' => '点击返回上一步',
|
||||
'adminemail' => '系统信箱 Email',
|
||||
'adminemail_comment' => '用于发送程序错误报告',
|
||||
'dbhost_comment' => '一般为 127.0.0.1 或 localhost',
|
||||
'dbname_comment' => '用于安装 Discuz! 的数据库',
|
||||
'dbuser_comment' => '您的数据库用户名',
|
||||
'dbpw_comment' => '您的数据库密码',
|
||||
'tablepre_comment' => '同一数据库运行多个论坛时,请修改前缀',
|
||||
'forceinstall_check_label' => '我要删除数据,强制安装 !!!',
|
||||
'myisam2innodb_check_label' => '以MyISAM方式安装,再转换为InnoDB',
|
||||
'initdbresult_succ' => '数据库表创建完成',
|
||||
'initdbdataresult_succ' => '数据库数据初始化完成',
|
||||
'initdbinnodbresult_succ' => 'InnoDB数据表转换完成',
|
||||
'initsys' => '正在系统初始化',
|
||||
|
||||
'uc_url_empty' => '您没有填写 UCenter 的 URL,请返回填写',
|
||||
'uc_url_invalid' => 'URL 格式错误',
|
||||
'uc_url_unreachable' => 'UCenter 的 URL 地址可能填写错误,可能原因有:<br />1. UCenter 路径不正确或状态异常<br />2. 应用查询 UCenter 状态请求无法发起或被拦截<br />3. UCenter 后台 “ 通过 URL 添加应用功能 ” 未开启',
|
||||
'uc_ip_invalid' => '无法解析该域名,请填写站点的 IP',
|
||||
'uc_admin_invalid' => 'UCenter 创始人密码校验未通过, 可能原因有:<br />1. UCenter 创始人密码不正确<br />2. 多次错误输入密码导致创始人用户和 IP 地址被锁定<br />3. UCenter 后台 “ 通过 URL 添加应用功能 ” 未开启',
|
||||
'uc_data_invalid' => '通信失败,请检查 UCenter 的URL 地址是否正确 ',
|
||||
'uc_dbcharset_incorrect' => 'UCenter 数据库字符集与当前应用字符集不一致',
|
||||
'uc_api_add_app_error' => '向 UCenter 添加应用错误',
|
||||
'uc_dns_error' => 'UCenter DNS解析错误,请返回填写一下 UCenter 的 IP地址',
|
||||
|
||||
'ucenter_ucurl_invalid' => 'UCenter 的URL为空,或者格式错误,请检查',
|
||||
'ucenter_ucpw_invalid' => 'UCenter 的创始人密码为空,或者格式错误,请检查',
|
||||
'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_password_invalid' => '管理员密码为空,请填写',
|
||||
'admininfo_password2_invalid' => '两次密码不一致,请检查',
|
||||
|
||||
'install_dzstandalone' => '<div class="selradio"><input type="radio" id="install_ucenter_standalone" name="install_ucenter" value="standalone" onclick="if(this.checked)$(\'form_items_2\').style.display=\'none\';" /><label for="install_ucenter_standalone">全新安装 Discuz! X (独立模式安装)</label></div>',
|
||||
'install_dzfull' => '<div class="selradio"><input type="radio" id="install_ucenter_yes"'.(getgpc('install_ucenter') != 'no' ? ' checked="checked"' : '').' name="install_ucenter" value="yes" onclick="if(this.checked)$(\'form_items_2\').style.display=\'none\';" /><label for="install_ucenter_yes">全新安装 Discuz! X 与 UCenter Server</label></div>',
|
||||
'install_dzonly' => '<div class="selradio"><input type="radio" id="install_ucenter_no"'.(getgpc('install_ucenter') == 'no' ? ' checked="checked"' : '').' name="install_ucenter" value="no" onclick="if(this.checked)$(\'form_items_2\').style.display=\'\';" /><label for="install_ucenter_no">仅安装 Discuz! X (连接到已经安装的 UCenter Server)</label></div>',
|
||||
|
||||
'username' => '管理员账号',
|
||||
'email' => '管理员 Email',
|
||||
'password' => '管理员密码',
|
||||
'password_comment' => '管理员密码不能为空',
|
||||
'password2' => '重复密码',
|
||||
|
||||
'admininfo_invalid' => '管理员信息不完整,请检查管理员账号,密码,邮箱',
|
||||
'dbname_invalid' => '数据库名为空,请填写数据库名称',
|
||||
'tablepre_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' => '安装成功,点击进入',
|
||||
|
||||
'init_credits_karma' => '威望',
|
||||
'init_credits_money' => '金钱',
|
||||
|
||||
'init_postno0' => '楼主',
|
||||
'init_postno1' => '沙发',
|
||||
'init_postno2' => '板凳',
|
||||
'init_postno3' => '地板',
|
||||
|
||||
'init_support' => '支持',
|
||||
'init_opposition' => '反对',
|
||||
|
||||
'init_group_0' => '会员',
|
||||
'init_group_1' => '管理员',
|
||||
'init_group_2' => '超级版主',
|
||||
'init_group_3' => '版主',
|
||||
'init_group_4' => '禁止发言',
|
||||
'init_group_5' => '禁止访问',
|
||||
'init_group_6' => '禁止 IP',
|
||||
'init_group_7' => '游客',
|
||||
'init_group_8' => '等待验证会员',
|
||||
'init_group_9' => '乞丐',
|
||||
'init_group_10' => '新手上路',
|
||||
'init_group_11' => '注册会员',
|
||||
'init_group_12' => '中级会员',
|
||||
'init_group_13' => '高级会员',
|
||||
'init_group_14' => '金牌会员',
|
||||
'init_group_15' => '论坛元老',
|
||||
|
||||
'init_rank_1' => '新生入学',
|
||||
'init_rank_2' => '小试牛刀',
|
||||
'init_rank_3' => '实习记者',
|
||||
'init_rank_4' => '自由撰稿人',
|
||||
'init_rank_5' => '特聘作家',
|
||||
|
||||
'init_cron_1' => '清空今日发帖数',
|
||||
'init_cron_2' => '清空本月在线时间',
|
||||
'init_cron_3' => '每日数据清理',
|
||||
'init_cron_4' => '生日统计与邮件祝福',
|
||||
'init_cron_5' => '主题回复通知',
|
||||
'init_cron_6' => '每日公告清理',
|
||||
'init_cron_7' => '限时操作清理',
|
||||
'init_cron_8' => '论坛推广清理',
|
||||
'init_cron_9' => '每月主题清理',
|
||||
'init_cron_10' => '每日 X-Space更新用户',
|
||||
'init_cron_11' => '每周主题更新',
|
||||
|
||||
'init_bbcode_1' => '使内容横向滚动,这个效果类似 HTML 的 marquee 标签,注意:这个效果只在 Internet Explorer 浏览器下有效。',
|
||||
'init_bbcode_2' => '嵌入 Flash 动画',
|
||||
'init_bbcode_3' => '显示 QQ 在线状态,点这个图标可以和他(她)聊天',
|
||||
'init_bbcode_4' => '上标',
|
||||
'init_bbcode_5' => '下标',
|
||||
'init_bbcode_6' => '嵌入 Windows media 音频',
|
||||
'init_bbcode_7' => '嵌入 Windows media 音频或视频',
|
||||
|
||||
'init_qihoo_searchboxtxt' =>'输入关键词,快速搜索本论坛',
|
||||
'init_threadsticky' =>'全局置顶,分类置顶,本版置顶',
|
||||
|
||||
'init_default_style' => '默认风格',
|
||||
'init_default_forum' => '默认版块',
|
||||
'init_default_template' => '默认模板套系',
|
||||
'init_default_template_copyright' => 'Discuz!',
|
||||
|
||||
'init_dataformat' => 'Y-n-j',
|
||||
'init_modreasons' => '广告/SPAM\r\n恶意灌水\r\n违规内容\r\n文不对题\r\n重复发帖\r\n\r\n我很赞同\r\n精品文章\r\n原创内容',
|
||||
'init_userreasons' => '很给力!\r\n神马都是浮云\r\n赞一个!\r\n山寨\r\n淡定',
|
||||
'init_link' => 'Discuz! 官方论坛',
|
||||
'init_link_note' => '提供最新 Discuz! 产品新闻、软件下载与技术交流',
|
||||
|
||||
'init_promotion_task' => '网站推广任务',
|
||||
'init_gift_task' => '红包类任务',
|
||||
'init_avatar_task' => '头像类任务',
|
||||
|
||||
'copyright' => '© 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>感谢您选择腾讯云产品。希望我们的努力能为您提供一个高效快速、强大的站点解决方案,和强大的社区论坛解决方案。产品官方讨论社区网址为 https://www.dismall.com。产品官方应用中心网址为:https://addon.dismall.com。开源代码网址为 https://code.dismall.com。</p>
|
||||
|
||||
<p>腾讯云产品的 Discuz! X 项目内所包含的官方应用中心由合肥贰道网络科技有限公司承接运营。Discuz! X 开源项目由合肥贰道网络科技有限公司承接维护,Discuz! X 开源代码由项目开源管理委员会及社区开发者共同维护。除以上服务外,均由腾讯云提供服务。</p>
|
||||
|
||||
<p>用户须知:本协议是您与腾讯云公司之间关于您使用腾讯云公司提供的各种软件产品及服务的法律协议。无论您是个人或组织、盈利与否、用途如何(包括以学习和研究为目的),均需仔细阅读本协议,包括免除或者限制腾讯云责任的免责条款及对您的权利限制。请您审阅并接受或不接受本服务条款。如您不同意本服务条款及/或腾讯云随时对其的修改,您应不使用或主动取消腾讯云公司提供的腾讯云产品。否则,您的任何对腾讯云产品中的相关服务的注册、登陆、下载、查看等使用行为将被视为您对本服务条款全部的完全接受,包括接受腾讯云对服务条款随时所做的任何修改。</p>
|
||||
<p>本服务条款一旦发生变更, 腾讯云将在网页上公布修改内容。修改后的服务条款一旦在网站管理后台上公布即有效代替原来的服务条款。您可随时登录开源代码网址查阅最新版服务条款。如果您选择接受本条款,即表示您同意接受协议各项条件的约束。如果您不同意本服务条款,则不能获得使用本服务的权利。您若有违反本条款规定,腾讯云公司有权随时中止或终止您对腾讯云产品的使用资格并保留追究相关法律责任的权利。</p>
|
||||
<p>在理解、同意、并遵守本协议的全部条款后,方可开始使用腾讯云产品。您可能与腾讯云公司直接签订另一书面协议,以补充或者取代本协议的全部或者任何部分。</p>
|
||||
|
||||
<p>腾讯云拥有本软件的全部知识产权。本软件只供许可协议,并非出售。腾讯云只允许您在遵守本协议各项条款的情况下复制、下载、安装、使用或者以其他方式受益于本软件的功能或者知识产权。</p>
|
||||
|
||||
<h3>I. 协议许可的权利</h3>
|
||||
<ol>
|
||||
<li>您可以在完全遵守本许可协议的基础上,将本软件应用于非商业用途或商业用途使用(局限于本协议所适配许可的情况下),而不必支付软件版权许可费用。</li>
|
||||
<li>您可以在协议规定的约束和限制范围内修改腾讯云产品源代码(如果被提供的话)或界面风格以适应您的网站要求。</li>
|
||||
<li>您拥有使用本软件构建的网站中全部会员资料、文章及相关信息的所有权,并独立承担与使用本软件构建的网站内容的审核、注意义务,确保其不侵犯任何人的合法权益,独立承担因使用腾讯云软件和服务带来的全部责任,若造成腾讯云公司或用户损失的,您应予以全部赔偿。</li>
|
||||
<li>若您需将腾讯云软件或服务用户商业用途,必须遵守中国人民共和国相关法律。若需提供技术支持方式或技术支持内容,请向官方(https://www.discuz.vip/)获取技术支持服务。</li>
|
||||
<li>您可以从腾讯云提供的应用中心服务中下载适合您网站的应用程序,但应向应用程序开发者/所有者支付相应的费用。</li>
|
||||
</ol>
|
||||
|
||||
<h3>II. 协议规定的约束和限制</h3>
|
||||
<ol>
|
||||
<li>不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。</li>
|
||||
<li>无论如何,即无论用途如何、是否经过修改或美化、修改程度如何,只要使用腾讯云产品的整体或任何部分,未经书面许可,页面页脚处的 Powered by Discuz! 及链接(https://www.discuz.vip/)和程序后台官方应用中心的链接(https://addon.dismall.com)都必须保留,而不能清除或修改、替换。</li>
|
||||
<li>禁止在腾讯云产品的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。</li>
|
||||
<li>您从应用中心下载的应用程序,未经应用程序开发者/所有者的书面许可,不得对其进行反向工程、反向汇编、反向编译等,不得擅自复制、修改、链接、转载、汇编、发表、出版、发展与之有关的衍生产品、作品等。</li>
|
||||
<li>如果您未能遵守本协议的条款,您的授权将被终止,所许可的权利将被收回,同时您应承担相应法律责任。</li>
|
||||
</ol>
|
||||
|
||||
<h3>III. 有限担保和免责声明</h3>
|
||||
<ol>
|
||||
<li>本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。</li>
|
||||
<li>用户出于自愿而使用本软件,您必须了解使用本软件的风险,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。</li>
|
||||
<li>腾讯云公司不对使用本软件构建的网站中或者论坛中的文章或信息承担责任,全部责任由您自行承担。</li>
|
||||
<li>官方应用中心无法全面监控由第三方上传至应用中心的应用程序,因此不保证应用程序的合法性、安全性、完整性、真实性或品质等;您从应用中心下载应用程序时,同意自行判断并承担所有风险,而不依赖于腾讯云公司及官方应用中心。但在任何情况下,官方应用中心有权依法停止应用中心服务并采取相应行动,包括但不限于对于相关应用程序进行卸载,暂停服务的全部或部分,保存有关记录,并向有关机关报告。由此对您及第三人可能造成的损失,腾讯云公司及官方应用中心不承担任何直接、间接或者连带的责任。</li>
|
||||
<li>腾讯云公司对腾讯云提供的软件和服务之及时性、安全性、准确性不作担保,由于不可抗力因素、腾讯云公司无法控制的因素(包括黑客攻击、停断电等)等造成软件使用和服务中止或终止,而给您造成损失的,您同意放弃追究腾讯云公司责任的全部权利。 </li>
|
||||
<li>腾讯云公司特别提请您注意,腾讯云公司为了保障公司业务发展和调整的自主权,腾讯云公司拥有随时经或未经事先通知而修改服务内容、中止或终止部分或全部软件使用和服务的权利,修改会公布于腾讯云公司网站相关页面上,一经公布视为通知。 腾讯云公司行使修改或中止、终止部分或全部软件使用和服务的权利而造成损失的,腾讯云公司不需对您或任何第三方负责。</li>
|
||||
</ol>
|
||||
|
||||
<p>有关腾讯云产品最终用户授权协议、商业授权与技术服务的详细内容,均由腾讯云公司独家提供。腾讯云公司拥有在不事先通知的情况下,修改授权协议和服务价目表的权利,修改后的协议或价目表对自改变之日起的新授权用户生效。</p>
|
||||
|
||||
<p>一旦您开始安装腾讯云产品,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权利的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。</p>
|
||||
|
||||
<p>本许可协议条款的解释,效力及纠纷的解决,适用于中华人民共和国大陆法律。</p>
|
||||
|
||||
<p>若您和腾讯云之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,您在此完全同意将纠纷或争议提交腾讯云所在地北京市海淀区人民法院管辖。腾讯云公司拥有对以上各项条款内容的解释权及修改权。</p>
|
||||
|
||||
<p>(正文完)</p>
|
||||
|
||||
<p align="right">Discuz!</p>
|
||||
|
||||
</div>',
|
||||
|
||||
'php8_tips' => '您好,当前产品暂不支持 PHP 9 安装,请降级到至少 PHP 8.0 后再试!',
|
||||
'no_utf8_tips' => '您好,您使用的版本为 GBK / BIG-5 等本地化编码版本,此版本已经不作为主推版本,如果您计划建设新站点【强烈】建议您使用最新正式 UTF-8 版本安装。',
|
||||
'no_latest_tips' => '您好,您使用的版本较老,可能存在 Bug 以及安全隐患,如无特殊情况建议您改用最新正式 UTF-8 版本安装。',
|
||||
'unstable_tips' => '您好,您使用的版本为非正式版本,可能存在未知的 Bug 或缺陷,如果您计划正式建站或购买插件建议您使用最新正式 UTF-8 版本安装。',
|
||||
'next_tips' => '\r\n点击【确定】跳转到最新正式 UTF-8 版本下载页面,点击【取消】继续安装(不推荐)',
|
||||
|
||||
'uc_installed' => '您已经安装过 UCenter,如果需要重新安装,请删除 data/install.lock 文件',
|
||||
'i_agree' => '我已仔细阅读,并同意上述条款中的所有内容',
|
||||
'supportted' => '支持',
|
||||
'unsupportted' => '不支持',
|
||||
'max_size' => '支持/最大尺寸',
|
||||
'project' => '项目',
|
||||
'ucenter_required' => 'Discuz! 所需配置',
|
||||
'ucenter_best' => 'Discuz! 最佳',
|
||||
'curr_server' => '当前服务器',
|
||||
'env_check' => '环境检查',
|
||||
'os' => '操作系统',
|
||||
'php' => 'PHP 版本',
|
||||
'attachmentupload' => '附件上传',
|
||||
'unlimit' => '不限制',
|
||||
'version' => '版本',
|
||||
'gdversion' => 'GD 库',
|
||||
'allow' => '允许 ',
|
||||
'unix' => '类Unix',
|
||||
'diskspace' => '磁盘空间',
|
||||
'opcache' => 'OPcache',
|
||||
'curl' => 'cURL 库',
|
||||
'priv_check' => '目录、文件权限检查',
|
||||
'func_depend' => '函数依赖性检查',
|
||||
'func_name' => '函数名称',
|
||||
'check_result' => '检查结果',
|
||||
'suggestion' => '建议',
|
||||
'advice_mysqli' => '请检查 mysqli 模块是否正确加载',
|
||||
'advice_fopen' => '该函数需要 php.ini 中 allow_url_fopen 选项开启。请联系服务商,确定开启了此项功能',
|
||||
'advice_xml' => '该函数需要 PHP 支持 XML。请联系服务商,确定开启了此项功能',
|
||||
'none' => '无',
|
||||
'undefine_func' => '不存在的函数',
|
||||
'mysqli_unsupport' => '请检查 mysqli 模块是否正确加载',
|
||||
|
||||
'dbhost' => '数据库服务器地址',
|
||||
'dbuser' => '数据库用户名',
|
||||
'dbpw' => '数据库密码',
|
||||
'dbname' => '数据库名',
|
||||
'tablepre' => '数据表前缀',
|
||||
|
||||
'ucfounderpw' => '创始人密码',
|
||||
'ucfounderpw2' => '重复创始人密码',
|
||||
|
||||
'clear_dir' => '清空目录',
|
||||
'innodb' => 'InnoDB数据表转换',
|
||||
'select_db' => '选择数据库',
|
||||
'create_table' => '建立数据表',
|
||||
'succeed' => '成功',
|
||||
'failed' => '失败',
|
||||
|
||||
'init_table_data' => '正在初始化数据表中的数据',
|
||||
'install_data' => '正在安装数据',
|
||||
'install_test_data' => '正在安装附加数据',
|
||||
|
||||
'method_undefined' => '未定义方法',
|
||||
'database_nonexistence' => '数据库操作对象不存在',
|
||||
'skip_current' => '跳过本步',
|
||||
'topic' => '专题',
|
||||
'install_finish' => '站点安装完成,感谢您的支持!',
|
||||
'install_finish_next' => '接下来您可以:',
|
||||
'finish_btn_admin' => '进入管理后台',
|
||||
'finish_btn_cloudaddon' => '安装插件模板',
|
||||
'finish_btn_direct' => '直接访问站点',
|
||||
|
||||
);
|
||||
|
||||
$msglang = array(
|
||||
'config_nonexistence' => '您的 config.inc.php 不存在, 无法继续安装, 请用 FTP 将该文件上传后再试。',
|
||||
);
|
||||
|
||||
?>
|
145
install/include/install_mysqli.php
Normal file
145
install/include/install_mysqli.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
||||
* This is NOT a freeware, use is subject to license terms
|
||||
*
|
||||
* $Id: install_mysql.php 6758 2010-03-25 09:05:10Z cnteacher $
|
||||
*/
|
||||
|
||||
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);
|
||||
|
||||
$this->link = new mysqli();
|
||||
if(!$this->link->real_connect($dbhost, $dbuser, $dbpw, $dbname, null, null, MYSQLI_CLIENT_COMPRESS)) {
|
||||
$this->halt('Can not connect to MySQL server');
|
||||
}
|
||||
|
||||
if (version_compare($this->version(), '5.5.3', '<')) {
|
||||
$this->halt('MySQL version must be 5.5.3 or greater');
|
||||
}
|
||||
|
||||
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('SQL:', $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.$sql.'<br /> Error:'.$this->error().'<br />Errno:'.$this->errno(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
421
install/include/install_var.php
Normal file
421
install/include/install_var.php
Normal file
@@ -0,0 +1,421 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
||||
* This is NOT a freeware, use is subject to license terms
|
||||
*
|
||||
* $Id: install_var.php 36324 2016-12-22 01:01:16Z nemohou $
|
||||
*/
|
||||
|
||||
if(!defined('IN_COMSENZ')) {
|
||||
exit('Access Denied');
|
||||
}
|
||||
|
||||
define('SOFT_NAME', 'Discuz!');
|
||||
|
||||
define('INSTALL_LANG', 'SC_UTF8');
|
||||
|
||||
define('CONFIG', './config/config_global.php');
|
||||
define('CONFIG_UC', './config/config_ucenter.php');
|
||||
|
||||
$sqlfile = ROOT_PATH.((file_exists(ROOT_PATH.'./install/data/install_dev.sql')) ? './install/data/install_dev.sql' : './install/data/install.sql');
|
||||
$lockfile = ROOT_PATH.'./data/install.lock';
|
||||
|
||||
@include ROOT_PATH.CONFIG;
|
||||
|
||||
define('CHARSET', 'utf-8');
|
||||
define('DBCHARSET', 'utf8mb4');
|
||||
|
||||
define('ORIG_TABLEPRE', 'pre_');
|
||||
|
||||
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', 'dns_get_record');
|
||||
|
||||
$filesock_items = array('fsockopen', 'pfsockopen', 'stream_socket_client', 'curl_init');
|
||||
|
||||
$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' => 30 * 1048576, 'b' => 'notset'),
|
||||
);
|
||||
|
||||
$dirfile_items = array
|
||||
(
|
||||
|
||||
'config' => array('type' => 'file', 'path' => CONFIG),
|
||||
'ucenter config' => array('type' => 'file', 'path' => CONFIG_UC),
|
||||
'config_dir' => array('type' => 'dir', 'path' => './config'),
|
||||
'data' => array('type' => 'dir', 'path' => './data'),
|
||||
'cache' => array('type' => 'dir', 'path' => './data/cache'),
|
||||
'avatar' => array('type' => 'dir', 'path' => './data/avatar'),
|
||||
'plugindata' => array('type' => 'dir', 'path' => './data/plugindata'),
|
||||
'plugindownload' => array('type' => 'dir', 'path' => './data/download'),
|
||||
'addonmd5' => array('type' => 'dir', 'path' => './data/addonmd5'),
|
||||
'ftemplates' => array('type' => 'dir', 'path' => './data/template'),
|
||||
'threadcache' => array('type' => 'dir', 'path' => './data/threadcache'),
|
||||
'attach' => array('type' => 'dir', 'path' => './data/attachment'),
|
||||
'attach_album' => array('type' => 'dir', 'path' => './data/attachment/album'),
|
||||
'attach_category' => array('type' => 'dir', 'path' => './data/attachment/category'),
|
||||
'attach_common' => array('type' => 'dir', 'path' => './data/attachment/common'),
|
||||
'attach_forum' => array('type' => 'dir', 'path' => './data/attachment/forum'),
|
||||
'attach_group' => array('type' => 'dir', 'path' => './data/attachment/group'),
|
||||
'attach_portal' => array('type' => 'dir', 'path' => './data/attachment/portal'),
|
||||
'attach_profile' => array('type' => 'dir', 'path' => './data/attachment/profile'),
|
||||
'attach_swfupload' => array('type' => 'dir', 'path' => './data/attachment/swfupload'),
|
||||
'attach_temp' => array('type' => 'dir', 'path' => './data/attachment/temp'),
|
||||
|
||||
'logs' => array('type' => 'dir', 'path' => './data/log'),
|
||||
'uccache' => array('type' => 'dir', 'path' => './uc_client/data/cache'),
|
||||
|
||||
'uc_server_data' => array('type' => 'dir', 'path' => './uc_server/data/'),
|
||||
'uc_server_data_cache' => array('type' => 'dir', 'path' => './uc_server/data/cache'),
|
||||
'uc_server_data_avatar' => array('type' => 'dir', 'path' => './uc_server/data/avatar'),
|
||||
'uc_server_data_backup' => array('type' => 'dir', 'path' => './uc_server/data/backup'),
|
||||
'uc_server_data_logs' => array('type' => 'dir', 'path' => './uc_server/data/logs'),
|
||||
'uc_server_data_tmp' => array('type' => 'dir', 'path' => './uc_server/data/tmp'),
|
||||
'uc_server_data_view' => array('type' => 'dir', 'path' => './uc_server/data/view'),
|
||||
);
|
||||
|
||||
|
||||
$form_app_reg_items = array
|
||||
(
|
||||
'ucenter' => array
|
||||
(
|
||||
'ucurl' => array('type' => 'text', 'required' => 1, 'reg' => '/^https?:\/\//', 'value' => array('type' => 'var', 'var' => 'ucapi')),
|
||||
'ucip' => array('type' => 'text', 'required' => 0, 'reg' => '/^\d+\.\d+\.\d+\.\d+$/'),
|
||||
'ucpw' => array('type' => 'password', 'required' => 1, 'reg' => '/^.*$/')
|
||||
),
|
||||
'siteinfo' => array
|
||||
(
|
||||
'sitename' => array('type' => 'text', 'required' => 1, 'reg' => '/^.*$/', 'value' => array('type' => 'constant', 'var' => 'SOFT_NAME')),
|
||||
'siteurl' => array('type' => 'text', 'required' => 1, 'reg' => '/^https?:\/\//', 'value' => array('type' => 'var', 'var' => 'default_appurl'))
|
||||
)
|
||||
);
|
||||
|
||||
$form_db_init_items = array
|
||||
(
|
||||
'dbinfo' => array
|
||||
(
|
||||
'dbhost' => array('type' => 'text', 'required' => 1, 'reg' => '/^.+$/', 'value' => array('type' => 'var', 'var' => 'dbhost')),
|
||||
'dbname' => array('type' => 'text', 'required' => 1, 'reg' => '/^.+$/', 'value' => array('type' => 'var', 'var' => 'dbname')),
|
||||
'dbuser' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*$/', 'value' => array('type' => 'var', 'var' => 'dbuser')),
|
||||
'dbpw' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*$/', 'value' => array('type' => 'var', 'var' => 'dbpw')),
|
||||
'tablepre' => array('type' => 'text', 'required' => 0, 'reg' => '/^.*+/', 'value' => array('type' => 'var', 'var' => 'tablepre')),
|
||||
'adminemail' => array('type' => 'text', 'required' => 1, 'reg' => '/@/', 'value' => array('type' => 'var', 'var' => 'adminemail')),
|
||||
),
|
||||
'admininfo' => array
|
||||
(
|
||||
'username' => array('type' => 'text', 'required' => 1, 'reg' => '/^.*$/', 'value' => array('type' => 'constant', 'var' => 'admin')),
|
||||
'password' => array('type' => 'password', 'required' => 1, 'reg' => '/^.*$/'),
|
||||
'password2' => array('type' => 'password', 'required' => 1, 'reg' => '/^.*$/'),
|
||||
'email' => array('type' => 'text', 'required' => 1, 'reg' => '/@/', 'value' => array('type' => 'var', 'var' => 'adminemail')),
|
||||
)
|
||||
);
|
||||
|
||||
$serialize_sql_setting = array (
|
||||
'extcredits' =>
|
||||
array (
|
||||
1 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '威望',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => '1',
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '金钱',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => '1',
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '贡献',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => '1',
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => NULL,
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => NULL,
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => NULL,
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => NULL,
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
'img' => '',
|
||||
'title' => '',
|
||||
'unit' => '',
|
||||
'ratio' => 0,
|
||||
'available' => NULL,
|
||||
'showinthread' => NULL,
|
||||
'allowexchangein' => NULL,
|
||||
'allowexchangeout' => NULL,
|
||||
),
|
||||
),
|
||||
'postnocustom' =>
|
||||
array (
|
||||
0 => '楼主',
|
||||
1 => '沙发',
|
||||
2 => '板凳',
|
||||
3 => '地板',
|
||||
),
|
||||
'recommendthread' =>
|
||||
array (
|
||||
'status' => '0',
|
||||
'addtext' => '支持',
|
||||
'subtracttext' => '反对',
|
||||
'defaultshow' => '1',
|
||||
'daycount' => '0',
|
||||
'ownthread' => '0',
|
||||
'iconlevels' => '50,100,200',
|
||||
),
|
||||
'seotitle' =>
|
||||
array (
|
||||
'portal' => '门户',
|
||||
'forum' => '论坛',
|
||||
'group' => '圈子',
|
||||
'home' => '家园',
|
||||
),
|
||||
'activityfield' =>
|
||||
array (
|
||||
'realname' => '真实姓名',
|
||||
'mobile' => '手机',
|
||||
'qq' => 'QQ号',
|
||||
),
|
||||
'article_tags' =>
|
||||
array (
|
||||
1 => '原创',
|
||||
2 => '热点',
|
||||
3 => '组图',
|
||||
4 => '爆料',
|
||||
5 => '头条',
|
||||
6 => '幻灯',
|
||||
7 => '滚动',
|
||||
8 => '推荐',
|
||||
),
|
||||
'verify' =>
|
||||
array (
|
||||
6 =>
|
||||
array (
|
||||
'title' => '实名认证',
|
||||
'available' => '0',
|
||||
'showicon' => '0',
|
||||
'viewrealname' => '0',
|
||||
'field' =>
|
||||
array (
|
||||
'realname' => 'realname',
|
||||
),
|
||||
'icon' => false,
|
||||
),
|
||||
'enabled' => false,
|
||||
1 =>
|
||||
array (
|
||||
'icon' => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'icon' => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'icon' => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'icon' => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'icon' => '',
|
||||
),
|
||||
),
|
||||
'focus' =>
|
||||
array (
|
||||
'title' => '站长推荐',
|
||||
'data' =>
|
||||
array (
|
||||
),
|
||||
'cookie' => '1',
|
||||
),
|
||||
'profilegroup' =>
|
||||
array (
|
||||
'base' =>
|
||||
array (
|
||||
'available' => 1,
|
||||
'displayorder' => 0,
|
||||
'title' => '基本资料',
|
||||
'field' =>
|
||||
array (
|
||||
'realname' => 'realname',
|
||||
'gender' => 'gender',
|
||||
'birthday' => 'birthday',
|
||||
'birthcity' => 'birthcity',
|
||||
'residecity' => 'residecity',
|
||||
'residedist' => 'residedist',
|
||||
'affectivestatus' => 'affectivestatus',
|
||||
'lookingfor' => 'lookingfor',
|
||||
'bloodtype' => 'bloodtype',
|
||||
'field1' => 'field1',
|
||||
'field2' => 'field2',
|
||||
'field3' => 'field3',
|
||||
'field4' => 'field4',
|
||||
'field5' => 'field5',
|
||||
'field6' => 'field6',
|
||||
'field7' => 'field7',
|
||||
'field8' => 'field8',
|
||||
),
|
||||
),
|
||||
'contact' =>
|
||||
array (
|
||||
'title' => '联系方式',
|
||||
'available' => '1',
|
||||
'displayorder' => '1',
|
||||
'field' =>
|
||||
array (
|
||||
'telephone' => 'telephone',
|
||||
'mobile' => 'mobile',
|
||||
'icq' => 'icq',
|
||||
'qq' => 'qq',
|
||||
'yahoo' => 'yahoo',
|
||||
'msn' => 'msn',
|
||||
'taobao' => 'taobao',
|
||||
),
|
||||
),
|
||||
'edu' =>
|
||||
array (
|
||||
'available' => 1,
|
||||
'displayorder' => 2,
|
||||
'title' => '教育情况',
|
||||
'field' =>
|
||||
array (
|
||||
'graduateschool' => 'graduateschool',
|
||||
'education' => 'education',
|
||||
),
|
||||
),
|
||||
'work' =>
|
||||
array (
|
||||
'available' => 1,
|
||||
'displayorder' => 3,
|
||||
'title' => '工作情况',
|
||||
'field' =>
|
||||
array (
|
||||
'occupation' => 'occupation',
|
||||
'company' => 'company',
|
||||
'position' => 'position',
|
||||
'revenue' => 'revenue',
|
||||
),
|
||||
),
|
||||
'info' =>
|
||||
array (
|
||||
'title' => '个人信息',
|
||||
'available' => '1',
|
||||
'displayorder' => '4',
|
||||
'field' =>
|
||||
array (
|
||||
'idcardtype' => 'idcardtype',
|
||||
'idcard' => 'idcard',
|
||||
'address' => 'address',
|
||||
'zipcode' => 'zipcode',
|
||||
'site' => 'site',
|
||||
'bio' => 'bio',
|
||||
'interest' => 'interest',
|
||||
'sightml' => 'sightml',
|
||||
'customstatus' => 'customstatus',
|
||||
'timeoffset' => 'timeoffset',
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
?>
|
0
install/static/index.htm
Normal file
0
install/static/index.htm
Normal file
139
install/static/style.css
Normal file
139
install/static/style.css
Normal file
@@ -0,0 +1,139 @@
|
||||
/* based on acrylic_vision.css (c) popcorner MIT License */
|
||||
/* common */
|
||||
html, body { width: 100%; min-height: 100%; margin: 0; padding: 0; }
|
||||
html { background: #c8e2fb; background-image: linear-gradient(45deg, #8fc1f1, #fde2ba); background-attachment: fixed; }
|
||||
body { display: flex; justify-content: center; font-size: 16px; min-width: 960px; }
|
||||
ul, dl, dd, p, h1, h2, h3, h4, h5, h6, form, fieldset { margin: 0; padding: 0; }
|
||||
input, select, button { line-height: 1.5; padding: 7px 11px; border: 1px solid #ccc; border-radius: 5px; font-size: 16px; }
|
||||
input:focus, select:focus, button:focus { outline: none; border-color: #2b7acd; box-shadow: 0 0 3px 2px rgba(43, 122, 205, 0.4); }
|
||||
button { margin-bottom: 0; border-color: #2b7acd; background: #2b7acd; color: #fff; cursor: pointer; }
|
||||
|
||||
/* container */
|
||||
.container { display: flex; width: 900px; flex-direction: column; overflow: hidden; border-radius: 30px; position: relative; margin: 35px; }
|
||||
.header { background: #2b7acd; color: #fff; display: flex; justify-content: space-between; align-items: center; padding: 3px 50px 60px 50px; }
|
||||
.nostep .header { padding-bottom: 5px; }
|
||||
.header h1 { font-size: 30px; font-weight: 400; margin: 20px 0; }
|
||||
.header h1 span { font-weight: 700; margin-right: 14px; }
|
||||
.main { background: linear-gradient(135deg, #fff, rgba(255, 255, 255, 0.5) 50%); padding: 180px 25px 15px 25px; color: #35435c; }
|
||||
.nostep .main { padding-top: 25px; }
|
||||
.footer { text-align: center; font-size: 12px; color: #93a3bb; }
|
||||
.footer a { color: #93a3bb; }
|
||||
|
||||
/* step */
|
||||
.setup { position: absolute; width: 100%; top: 80px; }
|
||||
.setup > div { margin: 0 30px; padding: 10px 25px; border-radius: 30px; background: #aacaeb; background-image: linear-gradient(0deg, #fff 40%, #aacaeb); display: flex; box-shadow: 0 0 20px rgba(43, 122, 205, 0.15); flex-direction: column; align-items: center; }
|
||||
.setup .step { display: flex; align-items: center; height: 100px; }
|
||||
.stepnum { display: flex; font-size: 40px; height: 60px; width: 60px; justify-content: center; align-items: center; border-radius: 30px; font-weight: 700; background: #2b7acd; background-image: linear-gradient(0deg, #2b99cd, #2b7acd); color: #fff; box-shadow: -6px -6px 6px rgba(255, 255, 255, 0.3), 6px 6px 6px rgba(43, 122, 205, 0.25), 0 0 0 8px rgba(255, 255, 255, 0.5); margin-right: 30px; }
|
||||
.step h2 { color: #35435c; margin-bottom: 8px; font-size: 28px; }
|
||||
.step p { color: #72767c; }
|
||||
.stepstat { position: relative; width: 100%; height: 50px; overflow: hidden; background: #ffe7db; border-radius: 20px; margin: 20px 0; }
|
||||
.stepstat .stepstattxt { position: absolute; width: 100%; display: flex; height: 50px; align-items: center; font-size: 14px; }
|
||||
.stepstat .stepstattxt > div { flex-basis: 0; flex-grow: 1; margin: 0 10px; text-align: center; color: #fff; }
|
||||
.stepstatbg { height: 50px; background: #f7a659; border-radius: 0 20px 20px 0; }
|
||||
.stepstat .stepstattxt > div.unactivated { color: #956334; }
|
||||
.stepstat1 { width: 25%; }
|
||||
.stepstat2 { width: 50%; }
|
||||
.stepstat3 { width: 75%; }
|
||||
.stepstat4 { width: 100%; border-radius: 0; }
|
||||
|
||||
/* license */
|
||||
.licenseblock { margin-bottom: 25px; padding: 15px; height: 360px; background: #fff; overflow: scroll; overflow-x: hidden; }
|
||||
.license { color: #35435c; }
|
||||
.license h1 { padding-bottom: 10px; font-size: 18px; text-align: center; }
|
||||
.license h3 { margin: 0; }
|
||||
.license p { margin: 10px 0; text-indent: 25px; }
|
||||
.license li { margin: 5px 0; }
|
||||
.license ol { margin: 0; }
|
||||
|
||||
/* button */
|
||||
.btnbox { text-align: center; margin-bottom: 20px; }
|
||||
.btnbox input { margin: 0 2px; }
|
||||
.btnbox textarea { margin-bottom: 10px; height: 150px; }
|
||||
.btnbox .inputbox { width: 50%; margin: 0 auto; }
|
||||
.btn { margin-top: 10px; cursor: pointer; background: #2b7acd; color: #fff; border-color: #2b7acd; padding: 10px 16px; font-size: 20px; border-radius: 15px; text-decoration: none; }
|
||||
.btn:hover { background-image: linear-gradient(0deg, rgba(11, 65, 120, 0.2), transparent); }
|
||||
.btn.oldbtn { background: #fff; border-color: #fff; color: #35435c; margin-right: 15px; }
|
||||
.btn.oldbtn:hover { background-image: linear-gradient(0deg, rgba(124, 169, 217, 0.1), transparent); }
|
||||
.btn:disabled { background-color: #5e96d1; cursor: not-allowed; }
|
||||
.btn:disabled:hover { background-image: none; }
|
||||
|
||||
/* form */
|
||||
.tbopt { flex: 0 0 25%; cursor: pointer; }
|
||||
.txt { flex: 1 0 70%; }
|
||||
.comm { flex: 1 0 70%; margin-left: 25%; font-size: 14px; padding-top: 8px; color: #72767c; }
|
||||
.inputbox { display: flex; align-items: center; flex-wrap: wrap; margin-bottom: 20px; }
|
||||
.inputbox .btn { margin: 0 8px; flex-grow: 1; }
|
||||
.desc { font-size: 20px; margin-bottom: 30px; font-weight: 700; }
|
||||
.selradio { display: flex; align-items: center; }
|
||||
.selradio input { width: 18px; height: 18px; border-radius: 9px; margin: 0; margin-right: 10px; padding: 0; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
|
||||
.selradio input:checked { background-color: #2b7acd; border-color: #2b7acd; background-image: radial-gradient(#fff 30%, #2b7acd 45%); }
|
||||
.selradio label { font-size: 18px; cursor: pointer; }
|
||||
.inputbox .ckb { width: 18px; height: 18px; margin: 0 10px 0 25%; padding: 0; background: #fff; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
|
||||
.inputbox .ckb:checked { background: #2b7acd url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff'%3e%3cpath d='M18.9 4.9L9 14.8l-3.5-3.5-2.8 2.8L9 20.4 21.7 7.7l-2.8-2.8z'/%3e%3c/svg%3e") no-repeat 50% 50%; border-color: #2b7acd; background-size: 14px; }
|
||||
.box > .desc:last-child, .box > .inputbox:last-child { margin-bottom: 0; }
|
||||
.desc .comm { margin: 0; font-weight: 400; }
|
||||
.inputbox.red .txt { border-color: #d31f0d; background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d31f0d'%3e%3cpath d='M1.3 1.3c.4-.4 1-.4 1.4 0L8 6.6l5.3-5.3c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4L9.4 8l5.3 5.3c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L8 9.4l-5.3 5.3c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4L6.6 8 1.3 2.7c-.4-.4-.4-1 0-1.4z'/%3e%3c/svg%3e") no-repeat; background-position: calc(100% - 9px) 50%; background-size: 20px; }
|
||||
.inputbox.red .txt:focus { box-shadow: 0 0 3px 2px rgba(211, 31, 13, 0.4); }
|
||||
.comm.red { color: #d31f0d; }
|
||||
|
||||
/* box */
|
||||
.box { background: #fff; padding: 30px 20px; border-radius: 25px; margin-bottom: 30px; }
|
||||
.box.warnbox { background: #ffd2d2; padding-left: 150px; position: relative; }
|
||||
.box.warnbox::before { content: "\21"; display: flex; width: 50px; height: 50px; border-radius: 25px; background: #d31f0d; left: 50px; position: absolute; align-items: center; justify-content: center; color: #fff; font-size: 36px; font-weight: 700; }
|
||||
.box.warnbox h3 { margin-bottom: 20px; }
|
||||
.box.warnbox .red { color: #d31f0d; }
|
||||
.box.warnbox ul { padding-left: 2em; }
|
||||
h2.title { padding-bottom: 10px; border-bottom: 1px solid #c6d1e3; margin-bottom: 20px; font-size: 20px; }
|
||||
.box.collapse h2.title { padding-bottom: 0; border: 0; margin: 0; cursor: pointer; }
|
||||
.box.valid h2.title { padding-left: 30px; background: no-repeat 0 2px; cursor: pointer; }
|
||||
.box.collapse .tb { display: none; }
|
||||
.box.valid.collapse { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2335435c' viewBox='0 0 16 16'%3e%3cpath d='M1.6 4.6c.2-.2.5-.2.7 0L8 10.3l5.6-5.6c.2-.2.5-.2.7 0s.2.5 0 .7l-6 6c-.2.2-.5.2-.7 0l-6-6c-.1-.3-.1-.6 0-.8z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: calc(100% - 30px) 50%; }
|
||||
|
||||
/* table */
|
||||
.tb { border-spacing: 0; border-collapse: collapse; width: 100%; overflow: auto; }
|
||||
.tb th { font-weight: 600; }
|
||||
.tb th, .tb td { padding: 6px 13px; border: 1px solid #c6d1e3; }
|
||||
.tb tr { background-color: #fff; border-top: 1px solid #c6cbd1; }
|
||||
.tb tr:nth-child(2n) { background-color: #f3f8fd; }
|
||||
.tb td.w, .tb td.nw { padding-left: 35px; background: no-repeat 10px center; }
|
||||
.tb td.w, .box.valid h2.title { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231ca3a6'%3e%3cpath d='M18.9 4.9L9 14.8l-3.5-3.5-2.8 2.8L9 20.4 21.7 7.7l-2.8-2.8z'/%3e%3c/svg%3e"); }
|
||||
.tb td.nw { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23d31f0d'%3e%3cpath d='M20.4 6.4l-2.8-2.8L12 9.2 6.4 3.6 3.6 6.4 9.2 12l-5.6 5.6 2.8 2.8 5.6-5.6 5.6 5.6 2.8-2.8-5.6-5.6 5.6-5.6z'/%3e%3c/svg%3e"); }
|
||||
.tb tr.nwbg { background-color: #ffd2d2; }
|
||||
|
||||
/* install progress */
|
||||
#notice { display: none; overflow-x: hidden; overflow-y: auto; margin: 20px; padding: 15px; border: 1px solid #ddd; height: 300px; text-align: left; line-height: 2; }
|
||||
#lastmsg .red, #notice .red { color: #d31f0d; }
|
||||
#lastmsg .red::before, #notice .red::before { content: "\d7"; margin-right: 10px; }
|
||||
.progress { flex-grow: 0; height: 40px; margin: 0 20px; background: #e6e9e9; border-radius: 15px; position: relative; overflow: hidden; cursor: pointer; }
|
||||
#pgb { width: 0%; height: 100%; background: #32cb92; border-radius: 0 12px 12px 0; position: absolute; bottom: 0; left: 0; transition: 0.2s ease; background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.25) 40%, rgba(255, 255, 255, 0.25) 60%, rgba(255, 255, 255, 0) 100%); background-size: 240px 100%; background-repeat: no-repeat; background-position: -240px 0; }
|
||||
#pgb.move { animation: bar-move 2s linear infinite; }
|
||||
#lastmsg { padding: 0 40px; }
|
||||
.instfail #notice { display: block; }
|
||||
.instfail #pgb { background: #d31f0d; animation: none; }
|
||||
.instfail .progress { cursor: default; }
|
||||
|
||||
/* success page */
|
||||
.inst_success { animation: sinext .5s ease 2s 1; animation-fill-mode: both; }
|
||||
.inst_success .success_icon { width: 200px; height: 200px; border-radius: 100px; background: #1ca3a6; background-size: cover; margin: 30px auto; position: relative; transform: rotate(45deg); animation: sipop .4s ease .5s; animation-fill-mode: backwards; }
|
||||
.success_icon::before { content: ""; display: block; background: #fff; position: absolute; top: 125px; left: 70px; width: 50px; height: 20px; animation: sibefore .2s ease 1.1s 1; animation-fill-mode: both; }
|
||||
.success_icon::after { content: ""; display: block; background: #fff; position: absolute; bottom: 55px; left: 100px; width: 20px; height: 100px; animation: siafter .2s ease 1.3s 1; animation-fill-mode: both; }
|
||||
.inst_success h2 { text-align: center; font-size: 24px; margin-bottom: 60px; }
|
||||
.inst_success p { text-align: center; margin-bottom: 10px; }
|
||||
.inst_success a.btn { display: block; width: 50%; margin: 20px auto; padding: 14px 16px; text-align: center; font-size: 22px; background: #f7a659; }
|
||||
.inst_success a.btn.finish { background: #1ca3a6; }
|
||||
|
||||
/* keyframes */
|
||||
@keyframes bar-move { 0% { background-position: -240px 0; }
|
||||
100% { background-position: calc(100% + 480px) 0; } }
|
||||
@keyframes sipop { 0% { opacity: 0;
|
||||
transform: rotate(45deg) scale(0.5); }
|
||||
80% { opacity: 1;
|
||||
transform: rotate(45deg) scale(1.02); }
|
||||
100% { opacity: 1;
|
||||
transform: rotate(45deg) scale(1); } }
|
||||
@keyframes sibefore { 0% { width: 0px; }
|
||||
100% { width: 50px; } }
|
||||
@keyframes siafter { 0% { height: 0px; }
|
||||
100% { height: 100px; } }
|
||||
@keyframes sinext { 0% { margin-bottom: -335px; }
|
||||
100% { margin-bottom: 0; } }
|
Reference in New Issue
Block a user