diff --git a/src/install/index.php b/src/install/index.php
new file mode 100644
index 00000000..056dc6b8
--- /dev/null
+++ b/src/install/index.php
@@ -0,0 +1,319 @@
+ $_v) ${$_k} = RunMagicQuotes($_v);
+}
+
+require_once(DEDEINC.'/common.func.php');
+
+if(file_exists(INSLOCKFILE))
+{
+ exit(" 程序已运行安装,如果你确定要重新安装,请先从FTP中删除 install/install_lock.txt!");
+}
+
+if(empty($step))
+{
+ $step = 1;
+}
+/*------------------------
+使用协议书
+function _1_Agreement()
+------------------------*/
+if($step==1)
+{
+ $arrMsg = array();
+ if (!extension_loaded("openssl")) {
+ $arrMsg[] = "OpenSSL未开启,将无法完成DedeBIZ商业支持";
+ }
+ if (!extension_loaded("sockets")) {
+ $arrMsg[] = "Sockets未开启,将无法安装DedeBIZ商业组件";
+ }
+ if (!function_exists('mysqli_connect')) {
+ $arrMsg[] = "MySQL不支持,将无法使用本系统";
+ }
+ if (!extension_loaded("gd")) {
+ $arrMsg[] = "GD未开启,将无法使用验证码、二维码、图片水印等功能";
+ }
+
+ if(!empty($_SERVER['REQUEST_URI']))
+ $scriptName = $_SERVER['REQUEST_URI'];
+ else
+ $scriptName = $_SERVER['PHP_SELF'];
+
+ $basepath = preg_replace("#\/install(.*)$#i", '', $scriptName);
+
+ if(!empty($_SERVER['HTTP_HOST']))
+ $baseurl = 'http://'.$_SERVER['HTTP_HOST'];
+ else
+ $baseurl = "http://".$_SERVER['SERVER_NAME'];
+
+ $chars='abcdefghigklmnopqrstuvwxwyABCDEFGHIGKLMNOPQRSTUVWXWY0123456789';
+ $rnd_cookieEncode='';
+ $length = rand(28,32);
+ $max = strlen($chars) - 1;
+ for($i = 0; $i < $length; $i++) {
+ $rnd_cookieEncode .= $chars[mt_rand(0, $max)];
+ }
+ $module_local = DEDEDATA.'/module/';
+
+ include('./templates/step-1.html');
+ exit();
+}
+/*------------------------
+普通安装
+function _2_Setup()
+------------------------*/
+else if($step==2)
+{
+ if ( $dbtype == 'sqlite' )
+ {
+ $db = new SQLite3(DEDEDATA.'/'.$dbname.'.db');
+ } else {
+ $dbtype = 'mysql';
+ $conn = mysql_connect($dbhost,$dbuser,$dbpwd) or die("");
+
+ mysql_query("CREATE DATABASE IF NOT EXISTS `".$dbname."`;",$conn);
+
+ mysql_select_db($dbname, $conn) or die("");
+
+ //获得数据库版本信息
+ $rs = mysql_query("SELECT VERSION();",$conn);
+ $row = mysql_fetch_array($rs);
+ $mysqlVersions = explode('.',trim($row[0]));
+ $mysqlVersion = $mysqlVersions[0].".".$mysqlVersions[1];
+
+ mysql_query("SET NAMES '$dblang',character_set_client=binary,sql_mode='';",$conn);
+ }
+
+
+ $fp = fopen(dirname(__FILE__)."/common.inc.php","r");
+ $configStr1 = fread($fp,filesize(dirname(__FILE__)."/common.inc.php"));
+ fclose($fp);
+
+ $fp = fopen(dirname(__FILE__)."/config.cache.inc.php","r");
+ $configStr2 = fread($fp,filesize(dirname(__FILE__)."/config.cache.inc.php"));
+ fclose($fp);
+
+ //common.inc.php
+ $configStr1 = str_replace("~dbtype~",$dbtype,$configStr1);
+ $configStr1 = str_replace("~dbhost~",$dbhost,$configStr1);
+ $configStr1 = str_replace("~dbname~",$dbname,$configStr1);
+ $configStr1 = str_replace("~dbuser~",$dbuser,$configStr1);
+ $configStr1 = str_replace("~dbpwd~",$dbpwd,$configStr1);
+ $configStr1 = str_replace("~dbprefix~",$dbprefix,$configStr1);
+ $configStr1 = str_replace("~dblang~",$dblang,$configStr1);
+
+ @chmod(DEDEDATA,0777);
+ $fp = fopen(DEDEDATA."/common.inc.php","w") or die("");
+ fwrite($fp,$configStr1);
+ fclose($fp);
+
+ //config.cache.inc.php
+ $cmspath = trim(preg_replace("#\/{1,}#", '/', $cmspath));
+ if($cmspath!='' && !preg_match("#^\/#", $cmspath)) $cmspath = '/'.$cmspath;
+
+ if($cmspath=='') $indexUrl = '/';
+ else $indexUrl = $cmspath;
+
+ $configStr2 = str_replace("~baseurl~",$baseurl,$configStr2);
+ $configStr2 = str_replace("~basepath~",$cmspath,$configStr2);
+ $configStr2 = str_replace("~indexurl~",$indexUrl,$configStr2);
+ $configStr2 = str_replace("~cookieEncode~",$cookieencode,$configStr2);
+ $configStr2 = str_replace("~webname~",$webname,$configStr2);
+ $configStr2 = str_replace("~adminmail~",$adminmail,$configStr2);
+
+ $fp = fopen(DEDEDATA.'/config.cache.inc.php','w');
+ fwrite($fp,$configStr2);
+ fclose($fp);
+
+ $fp = fopen(DEDEDATA.'/config.cache.bak.php','w');
+ fwrite($fp,$configStr2);
+ fclose($fp);
+
+ if($mysqlVersion >= 4.1)
+ {
+ $sql4tmp = "ENGINE=MyISAM DEFAULT CHARSET=".$dblang;
+ }
+
+ //创建数据表
+ $query = '';
+ $fp = fopen(dirname(__FILE__).'/sql-dftables.txt','r');
+ while(!feof($fp))
+ {
+ $line = rtrim(fgets($fp,1024));
+ if(preg_match("#;$#", $line))
+ {
+ $query .= $line."\n";
+ $query = str_replace('#@__',$dbprefix,$query);
+ if ( $dbtype == 'sqlite' )
+ {
+ $query = preg_replace('/character set (.*?) /i','',$query);
+ $query = str_replace('unsigned','',$query);
+ $query = str_replace('TYPE=MyISAM','',$query);
+
+ $query = preg_replace ('/TINYINT\(([\d]+)\)/i','INTEGER',$query);
+ $query = preg_replace ('/mediumint\(([\d]+)\)/i','INTEGER',$query);
+ $query = preg_replace ('/smallint\(([\d]+)\)/i','INTEGER',$query);
+ $query = preg_replace('/int\(([\d]+)\)/i','INTEGER',$query);
+ $query = preg_replace('/auto_increment/i','PRIMARY KEY AUTOINCREMENT',$query);
+ $query = preg_replace('/, KEY(.*?)MyISAM;/','',$query);
+ $query = preg_replace('/, KEY(.*?);/',');',$query);
+ $query = preg_replace('/, UNIQUE KEY(.*?);/',');',$query);
+ $query = preg_replace('/set\(([^\)]*?)\)/','varchar',$query);
+ $query = preg_replace('/enum\(([^\)]*?)\)/','varchar',$query);
+ if ( preg_match("/PRIMARY KEY AUTOINCREMENT/",$query) )
+ {
+ $query = preg_replace('/,([\t\s ]+)PRIMARY KEY \(`([0-9a-zA-Z]+)`\)/i','',$query);
+ $query = str_replace(', PRIMARY KEY (`id`)','',$query);
+ }
+ $db->exec($query);
+ } else {
+ if($mysqlVersion < 4.1)
+ {
+ $rs = mysql_query($query,$conn);
+ } else {
+ if(preg_match('#CREATE#i', $query))
+ {
+ $rs = mysql_query(preg_replace("#TYPE=MyISAM#i",$sql4tmp,$query),$conn);
+ }
+ else
+ {
+ $rs = mysql_query($query,$conn);
+ }
+ }
+ }
+
+ $query='';
+ } else if(!preg_match("#^(\/\/|--)#", $line))
+ {
+ $query .= $line;
+ }
+ }
+ fclose($fp);
+
+ //导入默认数据
+ $query = '';
+ $fp = fopen(dirname(__FILE__).'/sql-dfdata.txt','r');
+ while(!feof($fp))
+ {
+ $line = rtrim(fgets($fp, 1024));
+ if(preg_match("#;$#", $line))
+ {
+ if ( $dbtype == 'sqlite' )
+ {
+ $query .= $line;
+ $query = str_replace('#@__',$dbprefix,$query);
+ $query = str_replace("\'","\"",$query);
+ $db->exec($query);
+ } else {
+ $query .= $line;
+ $query = str_replace('#@__',$dbprefix,$query);
+ if($mysqlVersion < 4.1) $rs = mysql_query($query,$conn);
+ else $rs = mysql_query(str_replace('#~lang~#',$dblang,$query),$conn);
+ }
+
+ $query='';
+ } else if(!preg_match("#^(\/\/|--)#", $line))
+ {
+ $query .= $line;
+ }
+ }
+ fclose($fp);
+
+ //更新配置
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$baseurl}' WHERE varname='cfg_basehost';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$cmspath}' WHERE varname='cfg_cmspath';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$indexUrl}' WHERE varname='cfg_indexurl';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$cookieencode}' WHERE varname='cfg_cookie_encode';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$webname}' WHERE varname='cfg_webname';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+ $cquery = "UPDATE `{$dbprefix}sysconfig` SET value='{$adminmail}' WHERE varname='cfg_adminemail';";
+ $dbtype == 'sqlite'? $db->exec($cquery) : mysql_query($cquery,$conn);
+
+ //增加管理员帐号
+ $adminquery = "INSERT INTO `{$dbprefix}admin` VALUES (1, 10, '$adminuser', '".substr(md5($adminpwd),5,20)."', 'admin', '', '', 0, '".time()."', '127.0.0.1');";
+ $dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
+
+ //关连前台会员帐号
+ $adminquery = "INSERT INTO `{$dbprefix}member` (`mid`,`mtype`,`userid`,`pwd`,`uname`,`sex`,`rank`,`money`,`email`,
+ `scores` ,`matt` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip` )
+ VALUES ('1','个人','$adminuser','".md5($adminpwd)."','$adminuser','男','100','0','','10000','10','','0','','".time()."','','0',''); ";
+ $dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
+
+ $adminquery = "INSERT INTO `{$dbprefix}member_person` (`mid`,`onlynet`,`sex`,`uname`,`qq`,`msn`,`tel`,`mobile`,`place`,`oldplace`,`birthday`,`star`,
+ `income` , `education` , `height` , `bodytype` , `blood` , `vocation` , `smoke` , `marital` , `house` ,`drink` , `datingtype` , `language` , `nature` , `lovemsg` , `address`,`uptime`)
+ VALUES ('1', '1', '男', '{$adminuser}', '', '', '', '', '0', '0','1980-01-01', '1', '0', '0', '160', '0', '0', '0', '0', '0', '0','0', '0', '', '', '', '','0'); ";
+ $dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
+
+ $adminquery = "INSERT INTO `{$dbprefix}member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`)
+ VALUES ('1','0','0','0','0','0','0','0','0'); ";
+ $dbtype == 'sqlite'? $db->exec($adminquery): mysql_query($adminquery,$conn);
+
+ $adminquery = "INSERT INTO `{$dbprefix}member_space`(`mid` ,`pagesize` ,`matt` ,`spacename` ,`spacelogo` ,`spacestyle`, `sign` ,`spacenews`)
+ VALUES('1','10','0','{$adminuser}的空间','','person','',''); ";
+ $dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
+
+ //锁定安装程序
+ $fp = fopen($insLockfile,'w');
+ fwrite($fp,'ok');
+ fclose($fp);
+ header('Location:dede/index.php');
+ exit();
+}
+/*------------------------
+检测数据库是否有效
+function _10_TestDbPwd()
+------------------------*/
+else if($step==10)
+{
+ header("Pragma:no-cache\r\n");
+ header("Cache-Control:no-cache\r\n");
+ header("Expires:0\r\n");
+ $conn = @mysql_connect($dbhost,$dbuser,$dbpwd);
+ if($conn)
+ {
+ if(empty($dbname)){
+ echo "信息正确";
+ }else{
+ $info = mysql_select_db($dbname,$conn)?"数据库已经存在,系统将覆盖数据库":"数据库不存在,系统将自动创建";
+ echo $info;
+ }
+ }
+ else
+ {
+ echo "数据库连接失败!";
+ }
+ @mysql_close($conn);
+ exit();
+}
diff --git a/src/install/modulescache.php b/src/install/modulescache.php
deleted file mode 100755
index ae5fe8b4..00000000
--- a/src/install/modulescache.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
\ No newline at end of file
diff --git a/src/install/templates/step-1.html b/src/install/templates/step-1.html
index 2b5b9f0b..c702b724 100755
--- a/src/install/templates/step-1.html
+++ b/src/install/templates/step-1.html
@@ -1,107 +1,124 @@
-
+
+
-
-安装程序 - 织梦内容管理系统
-
-
-
-
-
-
-
+
+ 安装程序 - DedeCMSV6 - DedeBIZ技术支持
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
- - 安装步骤
- -
-
- - 许可协议
- - 环境检测
- - 参数配置
- - 正在安装
- - 安装完成
-
-
-
-
-
-
阅读许可协议
-
-
感谢您选择由上海穆云智能科技有限公司开发的DedeCMSV6内容管理系统(著作登记号:2020SR1514155),DedeBIZ商业站点管理(以下简称“DedeBIZ”)为该系统唯一商业授权管理平台,域名为:www.dedebiz.com,DedeBIZ致力于为DedeCMSV6系统客户提供更丰富完善的技术支持,让建站变得更高效、安全、便捷。
-
电子文本形式的许可协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始确认本协议并安装、使用、修改或分发本软件(或任何基于本软件的衍生著作),则表示您已经完全接受本许可协议的所有的条件和条款。如果您有任何违反本许可协议的行为,上海穆云智能科技有限公司有权收回对您的许可授权,责令停止损害,并追究您的相关法律及经济责任。
-
当前协议仅限于DedeCMSV6系统及基于DedeCMSV6系统升级的相应版本。
-
如果您不同意本协议中的条款,请勿复制、下载、安装或以其他方式使用DedeCMSV6。
-
一、软件名称
-
本软件名称为DedeCMSV6,软件服务商为DedeBIZ,由上海穆云智能科技有限公司统一开发、管理、运行的软件产品,软件著作权登记号:2020SR1514155。
-
二、协议许可的权利
-
1、“个人非商业用途”定义:指个人在非团体机构中使用本“软件”并用于非商业目的。
-
2、“商业用途”定义:指个人用于任何商业目的或者团体机构(例如公司、政府、学校、军队、社会团体等各类组织)出于任何目的使用本“软件”(任何目的包括商业目的或非盈利目的)。
-
本软件未授权情况下仅供给个人用户非商业使用。如果您是个人用户,那么您可以在完全遵守本用户许可协议的基础上,将本软件应用于非商业用途,而不必支付软件授权许可费用。
-
您可以在本协议规定的约束和限制范围内修改本软件的源代码和界面风格以适应您的网站要求。
-
您可以在本协议规定的约束和限制范围内通过任何的媒介和渠道复制与分发本软件的源代码的副本(要求是逐字拷贝的副本)。
-
您拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。
-
用户必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。
-
三、免费用户许可协议
-
未经授权之前,不得将本软件用于商业用途,不得用于任何非个人所有的项目之中,例如属于企业、政府单位所有的网站。
-
未经授权之前,不得以任何形式提供与本软件相关的收费服务,包括但不限于以下行为:为用户提供本软件的相关咨询或培训服务并收费一定费用;用本软件为他人建站并收取一定费用;用本软件提供SaaS(软件作为服务)服务。
-
任何人不得以DedeCMSV6名义对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。
-
未经授权用于商业用途者,我们将有权要求网站方停止使用并追究网站方及制作方的法律责任。
-
禁止任何以获利为目的的分发本软件的行为。
-
禁止在本软件的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。
-
四、授权用户许可协议
-
用户在按本协议条款支付费用后方可将本软件源代码应用于商业用途。
-
DedeCMSV6商业站点授权分为个人用户及团体机构两类,均需提供相应的资质证明(包括但不限于个人用户身份证信息、团体机构营业执照信息等)。购买商业授权的个人用户,若发现实际使用人为团体机构,上海穆云智能科技有限公司将告知用户以团体机构名义重新购买商业授权,并保留收回授权的权利以及追究相关人员的法律责任。
-
对于源代码使用过程中出现的错误或技术问题,我们提供远程或电话技术咨询支持。
-
用户可以对DedeCMSV6源代码进行任何修改(包括其网站界面风格)以适应甲方网站的需要。
-
用户拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。
-
用户禁止在各类电商(B2B、B2C)网站出售DedeCMSV6任何程序,但不包括自已制作的模板页面和插件。
-
用户不得再以DedeCMSV6任何名义直接转手出售、抵押、免费开源下载或发放子许可证。
-
购买商业授权的团体机构用户可对DedeCMSV6进行二次开发或包装成自己的产品,仅限于出售给自己直接客户使用,所销售对象需承诺不再转手出售。
-
技术服务期限过期后,如不再进行续费,您的网站授权版本将会停留在服务有效时间最后的升级版本号,不再享受升级服务。
-
自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。购买商业授权的用户均可反映并提出意见建议,相关意见将被考虑,但没有一定被采纳的承诺或保证。
-
如甲方未能遵守本协议的条款,所被许可的权利将被收回,并承担相应法律责任。
-
五、无担保及免责声明
-
用户出于自愿而使用本软件,您必须了解使用本软件的风险,且同意自己承担使用本软件的风险。
-
用户利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果与上海穆云智能科技有限公司无关,上海穆云智能科技有限公司对此不承担任何责任。
-
在任何情况下,对于因使用或无法使用本软件而导致的任何损失(包括但不仅限于商业利润损失、业务中断或业务信息丢失),上海穆云智能科技有限公司概不承担任何责任,即使上海穆云智能科技有限公司已被告知可能会造成此类损失。
-
有关本软件最终用户授权协议、商业授权与技术服务的详细内容,均由DedeBIZ官方网站https://www.dedebiz.com
提供唯一的解释和官方价目表。上海穆云智能科技有限公司拥有在不提前通知的情况下,修改授权协议和授权服务价格的权利,修改后的协议或价目表对自改变之日起的新授权用户生效。
-
六、协议终止
-
您一旦开始安装本软件,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的许可权利同时,也受到相关的约束和限制,本协议许可范围以外的行为,将直接违反本授权协议并构成侵权。一旦您违反本协议的条款,上海穆云智能科技有限公司随时可能终止本“协议”、收回授权,并要求您承担相应法律责任。
-
上海穆云智能科技有限公司
-
2020年10月1日
+
+ 0){
+ foreach($arrMsg as $msg){
+ ?>
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+