Bladeren bron

调整安装程序,使其更简单明了

tags/6.0.3
llgoer 3 jaren geleden
bovenliggende
commit
cb81d0de69
7 gewijzigde bestanden met toevoegingen van 430 en 577 verwijderingen
  1. +319
    -0
      src/install/index.php
  2. +0
    -18
      src/install/modulescache.php
  3. +111
    -94
      src/install/templates/step-1.html
  4. +0
    -158
      src/install/templates/step-2.html
  5. +0
    -179
      src/install/templates/step-3.html
  6. +0
    -55
      src/install/templates/step-4.html
  7. +0
    -73
      src/install/templates/step-5.html

+ 319
- 0
src/install/index.php Bestand weergeven

@@ -0,0 +1,319 @@
<?php
/**
* @version $Id: index.php 2021-01-03 tianya $
* @package DedeBIZ.Install
* @copyright Copyright (c) 2021, DedeBIZ.COM
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
@set_time_limit(0);
//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);

$verMsg = 'V6';
$dfDbname = 'dedecmsv6';
$errmsg = '';

define('INSLOCKFILE', dirname(__FILE__).'/install_lock.txt');

$moduleCacheFile = dirname(__FILE__).'/modules.tmp.inc';

define('DEDEINC',dirname(__FILE__).'/../include');
define('DEDEDATA',dirname(__FILE__).'/../data');
define('DEDEROOT',preg_replace("#[\\\\\/]install#", '', dirname(__FILE__)));
header("Content-Type: text/html; charset=utf-8");

require_once(DEDEROOT.'/install/install.inc.php');
require_once(DEDEINC.'/zip.class.php');

foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_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未开启,将无法完成<a href='https://www.dedebiz.com' target='_blank'>DedeBIZ商业支持</a>";
}
if (!extension_loaded("sockets")) {
$arrMsg[] = "Sockets未开启,将无法安装<a href='https://www.dedebiz.com/download#dedebiz' target='_blank'>DedeBIZ商业组件</a>";
}
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("<script>alert('数据库服务器或登录密码无效,\\n\\n无法连接数据库,请重新设定!');history.go(-1);</script>");

mysql_query("CREATE DATABASE IF NOT EXISTS `".$dbname."`;",$conn);

mysql_select_db($dbname, $conn) or die("<script>alert('选择数据库失败,可能是你没权限,请预先创建一个数据库!');history.go(-1);</script>");

//获得数据库版本信息
$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("<script>alert('写入配置失败,请检查../data目录是否可写入!');history.go(-1);</script>");
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 "<font color='green'>信息正确</font>";
}else{
$info = mysql_select_db($dbname,$conn)?"<font color='red'>数据库已经存在,系统将覆盖数据库</font>":"<font color='green'>数据库不存在,系统将自动创建</font>";
echo $info;
}
}
else
{
echo "<font color='red'>数据库连接失败!</font>";
}
@mysql_close($conn);
exit();
}

+ 0
- 18
src/install/modulescache.php Bestand weergeven

@@ -1,18 +0,0 @@
<?php
global $allmodules;
$GLOBALS['allmodules']['0a7bea5dbe571d35def883cbec796437']='0a7bea5dbe571d35def883cbec796437.xml';
$GLOBALS['allmodules']['0cce60bc0238aa03804682c801584991']='0cce60bc0238aa03804682c801584991.xml';
$GLOBALS['allmodules']['1f35620fb42d452fa2bdc1dee1690f92']='1f35620fb42d452fa2bdc1dee1690f92.xml';
$GLOBALS['allmodules']['572606600345b1a4bb8c810bbae434cc']='572606600345b1a4bb8c810bbae434cc.xml';
$GLOBALS['allmodules']['59155be87ea60c5c65ec1f7a46a0fc9d']='59155be87ea60c5c65ec1f7a46a0fc9d.xml';
$GLOBALS['allmodules']['72ffa6fabe3c236f9238a2b281bc0f93']='72ffa6fabe3c236f9238a2b281bc0f93.xml';
$GLOBALS['allmodules']['7badb72a3ff79af2a7112beee60cb970']='7badb72a3ff79af2a7112beee60cb970.xml';
$GLOBALS['allmodules']['867af26e9c1ccf22a1cf67e756cf5acc']='867af26e9c1ccf22a1cf67e756cf5acc.xml';
$GLOBALS['allmodules']['8964eda9013d1df0afea08ed63243436']='8964eda9013d1df0afea08ed63243436.xml';
$GLOBALS['allmodules']['acb8b88eb4a6d4bfc375c18534f9439e']='acb8b88eb4a6d4bfc375c18534f9439e.xml';
$GLOBALS['allmodules']['b437d85a7a7bc778c9c79b5ec36ab9aa']='b437d85a7a7bc778c9c79b5ec36ab9aa.xml';
$GLOBALS['allmodules']['be722dbfa3cb3cb5628aab2d767ff62e']='be722dbfa3cb3cb5628aab2d767ff62e.xml';
$GLOBALS['allmodules']['c10bb6ac52082ab3e669b4814b44a6f1']='c10bb6ac52082ab3e669b4814b44a6f1.xml';
$GLOBALS['allmodules']['dfcb5cd4d7bc0e3f7eb655e62dd6bc64']='dfcb5cd4d7bc0e3f7eb655e62dd6bc64.xml';
$GLOBALS['allmodules']['8a4773468b800900dcfefbc5988833ed']='8a4773468b800900dcfefbc5988833ed.xml';
?>

+ 111
- 94
src/install/templates/step-1.html Bestand weergeven

@@ -1,107 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>安装程序 - 织梦内容管理系统<?php echo $verMsg; ?></title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="../static/js/jquery.min.js"></script>
<script src="../static/js/popper.min.js"></script>
<script src="../static/js/bootstrap.bundle.js"></script>
<script src="../static/js/dede.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>安装程序 - DedeCMSV6 - DedeBIZ技术支持
</title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<script src="../static/js/jquery.min.js"></script>
<script src="../static/js/popper.min.js"></script>
<script src="../static/js/bootstrap.bundle.js"></script>
<script src="../static/js/dede.js"></script>
</head>
<body>
<div class="top">
<div class="top-logo">
</div>
<div class="top-link">
<ul>
<li><a href="https://www.dedebiz.com" target="_blank">DedeCMSV6</a></li>
<li><a href="https://www.dedebiz.com/git" target="_blank">代码托管</a></li>
<li><a href="https://www.dedebiz.com/help" target="_blank">帮助中心</a></li>
<li><a href="https://www.dedebiz.com/auth" target="_blank">授权中心</a></li>
</ul>
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
<h5 class="my-0 mr-md-auto font-weight-normal text-success">DedeCMSV6安装程序</h5>
<nav class="my-2 my-md-0 mr-md-3">
<a class="p-2 text-dark" href="https://www.dedebiz.com/git" target="_blank">代码托管</a>
<a class="p-2 text-dark" href="https://www.dedebiz.com/help" target="_blank">帮助中心</a>
<a class="p-2 text-dark" href="https://www.dedebiz.com/service" target="_blank">技术服务</a>
</nav>
</div>
<div class="top-version">
<!-- 版本信息 -->
<h2>DedeCMS<?php echo $verMsg; ?></h2>
</div>
</div>
<div class="main">
<div class="pleft">
<dl class="setpbox t1">
<dt>安装步骤</dt>
<dd>
<ul>
<li class="now">许可协议</li>
<li>环境检测</li>
<li>参数配置</li>
<li>正在安装</li>
<li>安装完成</li>
</ul>
</dd>
</dl>
</div>
<div class="pright">
<div class="pr-title"><h3>阅读许可协议</h3></div>
<div class="pr-agreement">
<p>感谢您选择由上海穆云智能科技有限公司开发的DedeCMSV6内容管理系统(著作登记号:2020SR1514155),DedeBIZ商业站点管理(以下简称“DedeBIZ”)为该系统唯一商业授权管理平台,域名为:www.dedebiz.com,DedeBIZ致力于为DedeCMSV6系统客户提供更丰富完善的技术支持,让建站变得更高效、安全、便捷。</p>
<p>电子文本形式的许可协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始确认本协议并安装、使用、修改或分发本软件(或任何基于本软件的衍生著作),则表示您已经完全接受本许可协议的所有的条件和条款。如果您有任何违反本许可协议的行为,上海穆云智能科技有限公司有权收回对您的许可授权,责令停止损害,并追究您的相关法律及经济责任。</p>
<p>当前协议仅限于DedeCMSV6系统及基于DedeCMSV6系统升级的相应版本。</p>
<p>如果您不同意本协议中的条款,请勿复制、下载、安装或以其他方式使用DedeCMSV6。</p>
<h2 id="heading">一、软件名称</h2>
<p>本软件名称为DedeCMSV6,软件服务商为DedeBIZ,由上海穆云智能科技有限公司统一开发、管理、运行的软件产品,软件著作权登记号:2020SR1514155。</p>
<h2 id="heading-1">二、协议许可的权利</h2>
<p>1、“个人非商业用途”定义:指个人在非团体机构中使用本“软件”并用于非商业目的。</p>
<p>2、“商业用途”定义:指个人用于任何商业目的或者团体机构(例如公司、政府、学校、军队、社会团体等各类组织)出于任何目的使用本“软件”(任何目的包括商业目的或非盈利目的)。</p>
<p>本软件未授权情况下仅供给个人用户非商业使用。如果您是个人用户,那么您可以在完全遵守本用户许可协议的基础上,将本软件应用于非商业用途,而不必支付软件授权许可费用。</p>
<p>您可以在本协议规定的约束和限制范围内修改本软件的源代码和界面风格以适应您的网站要求。</p>
<p>您可以在本协议规定的约束和限制范围内通过任何的媒介和渠道复制与分发本软件的源代码的副本(要求是逐字拷贝的副本)。</p>
<p>您拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。</p>
<p>用户必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。</p>
<h2 id="heading-2">三、免费用户许可协议</h2>
<p>未经授权之前,不得将本软件用于商业用途,不得用于任何非个人所有的项目之中,例如属于企业、政府单位所有的网站。</p>
<p>未经授权之前,不得以任何形式提供与本软件相关的收费服务,包括但不限于以下行为:为用户提供本软件的相关咨询或培训服务并收费一定费用;用本软件为他人建站并收取一定费用;用本软件提供SaaS(软件作为服务)服务。</p>
<p>任何人不得以DedeCMSV6名义对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。</p>
<p>未经授权用于商业用途者,我们将有权要求网站方停止使用并追究网站方及制作方的法律责任。</p>
<p>禁止任何以获利为目的的分发本软件的行为。</p>
<p>禁止在本软件的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。</p>
<h2 id="heading-3">四、授权用户许可协议</h2>
<p>用户在按本协议条款支付费用后方可将本软件源代码应用于商业用途。</p>
<p>DedeCMSV6商业站点授权分为个人用户及团体机构两类,均需提供相应的资质证明(包括但不限于个人用户身份证信息、团体机构营业执照信息等)。购买商业授权的个人用户,若发现实际使用人为团体机构,上海穆云智能科技有限公司将告知用户以团体机构名义重新购买商业授权,并保留收回授权的权利以及追究相关人员的法律责任。</p>
<p>对于源代码使用过程中出现的错误或技术问题,我们提供远程或电话技术咨询支持。</p>
<p>用户可以对DedeCMSV6源代码进行任何修改(包括其网站界面风格)以适应甲方网站的需要。</p>
<p>用户拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。</p>
<p>用户禁止在各类电商(B2B、B2C)网站出售DedeCMSV6任何程序,但不包括自已制作的模板页面和插件。</p>
<p>用户不得再以DedeCMSV6任何名义直接转手出售、抵押、免费开源下载或发放子许可证。</p>
<p>购买商业授权的团体机构用户可对DedeCMSV6进行二次开发或包装成自己的产品,仅限于出售给自己直接客户使用,所销售对象需承诺不再转手出售。</p>
<p>技术服务期限过期后,如不再进行续费,您的网站授权版本将会停留在服务有效时间最后的升级版本号,不再享受升级服务。</p>
<p>自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。购买商业授权的用户均可反映并提出意见建议,相关意见将被考虑,但没有一定被采纳的承诺或保证。</p>
<p>如甲方未能遵守本协议的条款,所被许可的权利将被收回,并承担相应法律责任。</p>
<h2 id="heading-4">五、无担保及免责声明</h2>
<p>用户出于自愿而使用本软件,您必须了解使用本软件的风险,且同意自己承担使用本软件的风险。</p>
<p>用户利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果与上海穆云智能科技有限公司无关,上海穆云智能科技有限公司对此不承担任何责任。</p>
<p>在任何情况下,对于因使用或无法使用本软件而导致的任何损失(包括但不仅限于商业利润损失、业务中断或业务信息丢失),上海穆云智能科技有限公司概不承担任何责任,即使上海穆云智能科技有限公司已被告知可能会造成此类损失。</p>
<p>有关本软件最终用户授权协议、商业授权与技术服务的详细内容,均由DedeBIZ官方网站<code>https://www.dedebiz.com</code>提供唯一的解释和官方价目表。上海穆云智能科技有限公司拥有在不提前通知的情况下,修改授权协议和授权服务价格的权利,修改后的协议或价目表对自改变之日起的新授权用户生效。</p>
<h2 id="heading-5">六、协议终止</h2>
<p>您一旦开始安装本软件,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的许可权利同时,也受到相关的约束和限制,本协议许可范围以外的行为,将直接违反本授权协议并构成侵权。一旦您违反本协议的条款,上海穆云智能科技有限公司随时可能终止本“协议”、收回授权,并要求您承担相应法律责任。</p>
<p>上海穆云智能科技有限公司</p>
<p>2020年10月1日</p>
<main class="container">
<?php
if(count($arrMsg) > 0){
foreach($arrMsg as $msg){
?>
<div class="alert alert-warning" role="alert">
<?php echo $msg ?>
</div>
<div class="btn-box">
<input name="readpact" type="checkbox" id="readpact" value="" /><label for="readpact"><strong class="fc-690 fs-14">我已经阅读并同意此协议</strong></label>
<button type="button" class="btn btn-danger" onclick="document.getElementById('readpact').checked ?window.location.href='index.php?step=2' : ShowMsg('您必须同意软件许可协议才能安装!');">继续</button>
<?php
}
}
?>
<div class="card mb-4 shadow-sm">
<div class="card-header">
<h4 class="my-0 fw-normal text-center">首次运行安装包</h4>
</div>
<div class="card-body">
<form>
<input type="hidden" name="cookieencode" value="<?php echo $rnd_cookieEncode; ?>">
<input type="hidden" name="adminmail" value="admin@dedebiz.com">
<legend>数据库设置</legend>
<hr>
<div class="mb-3">
<label for="dbtype" class="form-label">数据库类型</label>
<select id="dbtype" name="dbtype" class="form-control form-select">
<option value="mysql" selected>MySQL</option>
<option value="sqlite">SQLite</option>
</select>
<div class="form-text text-muted">一般为MySQL,SQLite仅用于开发调试不建议生产中使用</div>
</div>
<div class="mb-3">
<label for="dbhost" class="form-label">数据库主机</label>
<input id="dbhost" name="dbhost" type="text" class="form-control" placeholder="localhost">
</div>
<div class="mb-3">
<label for="dbuser" class="form-label">数据库用户</label>
<input name="dbuser" id="dbuser" type="text" class="form-control" placeholder="root">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">数据库密码</label>
<input name="dbpwd" type="text" class="form-control" id="dbpwd" placeholder="">
</div>
<div class="mb-3">
<label for="dbprefix" class="form-label">数据表前缀</label>
<input name="dbprefix" type="text" class="form-control" id="dbprefix" placeholder="dede_">
</div>
<div class="mb-3">
<label for="dbname" class="form-label">数据库名称</label>
<input name="dbname" type="text" class="form-control" id="dbname" placeholder="dedecmsv6">
</div>
<legend>站点设置</legend>
<hr>
<div class="mb-3">
<label for="adminuser" class="form-label">用户名</label>
<input name="adminuser" type="text" class="form-control" id="adminuser" placeholder="admin">
<div class="form-text text-muted">只能用'0-9'、'a-z'、'A-Z'、'.'、'@'、'_'、'-'、'!'以内范围的字符</div>
</div>
<div class="mb-3">
<label for="adminpwd" class="form-label">密码</label>
<input name="adminpwd" type="text" class="form-control" id="adminpwd" placeholder="admin">
</div>
<div class="mb-3">
<label for="webname" class="form-label">网站名称</label>
<input name="webname" type="text" class="form-control" id="webname" placeholder="我的网站">
</div>
<div class="mb-3">
<label for="baseurl" class="form-label">网站网址</label>
<input name="baseurl" type="text" class="form-control" id="baseurl" placeholder="<?php echo $baseurl; ?>">
</div>
<div class="mb-3">
<label for="cmspath" class="form-label">安装目录</label>
<input name="cmspath" type="text" class="form-control" id="cmspath" placeholder="<?php echo $basepath; ?>">
<div class="form-text text-muted">在根目录安装时不必理会</div>
</div>
<button type="submit" class="btn btn-success">立即安装</button> <span class="ml-2">安装即表示你同意<a href="https://www.dedebiz.com/license" target="_blank">站点授权协议</a></span>
</form>
</div>
</div>
</div>
</div>
<div class="foot">
<footer>
<div class="row">
<div class="col-12 col-md">
<p class="d-block mb-3 text-muted">© 2021 <a href="https://www.dedebiz.com" target="_blank" title="DedeBIZ商业技术支持,提供更专业强大的站点应用开发技术">DedeBIZ技术支持</a></p>
</div>
</div>
</footer>
</main>
</div>
</body>
</html>
</html>

+ 0
- 158
src/install/templates/step-2.html Bestand weergeven

@@ -1,158 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $s_lang?>" />
<title>安装程序 - 织梦内容管理系统<?php echo $verMsg; ?></title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="top">
<div class="top-logo">
</div>
<div class="top-link">
<ul>
<li><a href="https://www.dedebiz.com" target="_blank">DedeCMSV6</a></li>
<li><a href="https://www.dedebiz.com/git" target="_blank">代码托管</a></li>
<li><a href="https://www.dedebiz.com/help" target="_blank">帮助中心</a></li>
<li><a href="https://www.dedebiz.com/auth" target="_blank">授权中心</a></li>
</ul>
</div>
<div class="top-version">
<!-- 版本信息 -->
<h2>DEDECMS<?php echo $verMsg; ?></h2>
</div>
</div>
<div class="main">
<div class="pleft">
<dl class="setpbox t1">
<dt>安装步骤</dt>
<dd>
<ul>
<li class="succeed">许可协议</li>
<li class="now">环境检测</li>
<li>参数配置</li>
<li>正在安装</li>
<li>安装完成</li>
</ul>
</dd>
</dl>
</div>
<div class="pright">
<div class="pr-title"><h3>服务器信息</h3></div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<th width="300" align="center"><strong>参数</strong></th>
<th width="424"><strong>值</strong></th>
</tr>
<tr>
<td><strong>服务器域名</strong></td>
<td><?php echo $sp_name; ?></td>
</tr>
<tr>
<td><strong>服务器操作系统</strong></td>
<td><?php echo $sp_os; ?></td>
</tr>
<tr>
<td><strong>服务器解译引擎</strong></td>
<td><?php echo $sp_server; ?></td>
</tr>
<tr>
<td><strong>PHP版本</strong></td>
<td><?php echo $phpv; ?><small>(建议使用PHP7.0以上版本)</small></td>
</tr>
<tr>
<td><strong>系统安装目录</strong></td>
<td><?php echo DEDEROOT; ?></td>
</tr>
</table>
<div class="pr-title"><h3>系统环境检测</h3></div>
<div style="padding:2px 8px 0px; line-height:33px; height:26px; overflow:hidden; color:#666;">
系统环境要求必须满足下列所有条件,否则系统或系统部份功能将无法使用。
</div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<th width="200" align="center"><strong>需开启的变量或函数</strong></th>
<th width="80"><strong>要求</strong></th>
<th width="400"><strong>实际状态及建议</strong></th>
</tr>
<tr>
<td>OpenSSL</td>
<td align="center">On </td>
<td><?php echo $sp_openssl; ?> <small>(不符合将无法完成<a href="https://www.dedebiz.com" target="_blank">DedeBIZ商业支持</a>)</small></td>
</tr>
<tr>
<td>allow_url_fopen</td>
<td align="center">On </td>
<td><?php echo $sp_allow_url_fopen; ?> <small>(不符合要求将导致采集、远程资料本地化等功能无法应用)</small></td>
</tr>
<tr>
<td>safe_mode</td>
<td align="center">Off</td>
<td><?php echo $sp_safe_mode; ?> <small>(本系统不支持在<span class="STYLE2">非win主机的安全模式</span>下运行)</small></td>
</tr>
<tr>
<td>GD 支持 </td>
<td align="center">On</td>
<td><?php echo $sp_gd; ?> <small>(不支持将导致与图片相关的大多数功能无法使用或引发警告)</small></td>
</tr>
<tr>
<td>MySQL 支持</td>
<td align="center">On</td>
<td><?php echo $sp_mysql; ?> <small>(不支持无法使用本系统)</small></td>
</tr>
<tr>
<td>Sockets</td>
<td align="center">On </td>
<td><?php echo $sp_sockets; ?> <small>(不符合将无法使用<a target="_blank" href="https://www.dedebiz.com/download#dedebiz">DedeBIZ商业组件</a>)</small></td>
</tr>
</table>
<div class="pr-title"><h3>目录权限检测</h3></div>
<div style="padding:2px 8px 0px; line-height:33px; height:26px; overflow:hidden; color:#666;">
系统要求必须满足下列所有的目录权限全部可读写的需求才能使用,其它应用目录可安装后在管理后台检测。
</div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<th width="300" align="center"><strong>目录名</strong></th>
<th width="212"><strong>读取权限</strong></th>
<th width="212"><strong>写入权限</strong></th>
</tr>
<?php
foreach($sp_testdirs as $d)
{
?>
<tr>
<td><?php echo $d; ?></td>
<?php
$fulld = DEDEROOT.str_replace('/*','',$d);
$rsta = (is_readable($fulld) ? '<font color=green>[√]读</font>' : '<font color=red>[×]读</font>');
$wsta = (TestWrite($fulld) ? '<font color=green>[√]写</font>' : '<font color=red>[×]写</font>');
echo "<td>$rsta</td><td>$wsta</td>\r\n";
?>
</tr>
<?php
}
?>
</table>
<div class="btn-box">
<button type="button" class="btn btn-danger" value="" onclick="window.location.href='index.php';">后退</button>
<button type="button" class="btn btn-danger" value="" onclick="window.location.href='index.php?step=3';" >继续</button>
</div>
</div>
</div>
<div class="foot">
</div>
</body>
</html>

+ 0
- 179
src/install/templates/step-3.html Bestand weergeven

@@ -1,179 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $s_lang?>" />
<title>安装程序 - 织梦内容管理系统<?php echo $verMsg; ?></title>
<script src="../static/js/dedeajax2.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function $o(tid){
return document.getElementById(tid);
}
function TestDb()
{
var dbhost = $o('dbhost').value;
var dbuser = $o('dbuser').value;
var dbpwd = $o('dbpwd').value;
$o('havedbsta').innerHTML='<img src=\'images/ajax-loader.gif\'>';
var myajax = new DedeAjax($o('dbpwdsta'),false,true,'-','-','...');
myajax.SendGet2('index.php?step=10&dbhost='+dbhost+'&dbuser='+dbuser+'&dbpwd='+dbpwd);
DedeXHTTP = null;
HaveDB();
}
function HaveDB()
{
var dbhost = $o('dbhost').value;
var dbname = $o('dbname').value;
var dbuser = $o('dbuser').value;
var dbpwd = $o('dbpwd').value;
var myajax = new DedeAjax($o('havedbsta'),false,true,'-','-','...');
myajax.SendGet2('index.php?step=10&dbhost='+dbhost+'&dbuser='+dbuser+'&dbpwd='+dbpwd+'&dbname='+dbname);
DedeXHTTP = null;
}
function DoInstall()
{
//$o('postloader').style.display = 'block';
document.form1.submit();
}
function randpwd() {
// >= IE8
document.querySelector("input[name='adminpwd']").value = Math.random().toString(36).slice(-8) + Math.random().toString(36).slice(-8);
}
</script>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id='postloader' class='waitpage'></div>
<form action="index.php" method="post" name="form1">
<input type="hidden" name="step" value="4" />
<input type="hidden" name="dblang" value="utf8" />
<div class="top">
<div class="top-logo">
</div>
<div class="top-link">
<ul>
<li><a href="https://www.dedebiz.com" target="_blank">DedeCMSV6</a></li>
<li><a href="https://www.dedebiz.com/git" target="_blank">代码托管</a></li>
<li><a href="https://www.dedebiz.com/help" target="_blank">帮助中心</a></li>
<li><a href="https://www.dedebiz.com/auth" target="_blank">授权中心</a></li>
</ul>
</div>
<div class="top-version">
<!-- 版本信息 -->
<h2>DEDECMS<?php echo $verMsg; ?></h2>
</div>
</div>
<div class="main">
<div class="pleft">
<dl class="setpbox t1">
<dt>安装步骤</dt>
<dd>
<ul>
<li class="succeed">许可协议</li>
<li class="succeed">环境检测</li>
<li class="now">参数配置</li>
<li>正在安装</li>
<li>安装完成</li>
</ul>
</dd>
</dl>
</div>
<div class="pright">
<div class="pr-title"><h3>数据库设定</h3></div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<td class="onetd"><strong>数据库类型:</strong></td>
<td><select name="dbtype">
<option value="mysql" selected>MySQL</option>
<option value="sqlite">SQLite</option>
</select>
<small>一般为MySQL,SQLite仅用于开发调试不建议生产中使用</small></td>
</tr>
<tr>
<td class="onetd"><strong>数据库主机:</strong></td>
<td><input name="dbhost" id="dbhost" type="text" value="localhost" class="input-txt" />
<small>一般为localhost</small></td>
</tr>
<tr>
<td class="onetd"><strong>数据库用户:</strong></td>
<td><input name="dbuser" id="dbuser" type="text" value="root" class="input-txt" /></td>
</tr>
<tr>
<td class="onetd"><strong>数据库密码:</strong></td>
<td>
<div style='float:left;margin-right:3px;'><input name="dbpwd" id="dbpwd" type="text" class="input-txt" onChange="TestDb()" /></div>
<div style='float:left' id='dbpwdsta'></div>
</td>
</tr>
<tr>
<td class="onetd"><strong>数据表前缀:</strong></td>
<td><input name="dbprefix" id="dbprefix" type="text" value="dede_" class="input-txt" />
<small>如无特殊需要,请不要修改</small></td>
</tr>
<tr>
<td class="onetd"><strong>数据库名称:</strong></td>
<td>
<div style='float:left;margin-right:3px;'><input name="dbname" id="dbname" type="text" value="<?php echo $dfDbname; ?>" class="input-txt" onChange="HaveDB()" /></div>
<div style='float:left' id='havedbsta'></div>
</td>
</tr>
</table>
<div class="pr-title"><h3>管理员初始密码</h3></div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<td class="onetd"><strong>用户名:</strong></td>
<td>
<input name="adminuser" type="text" value="admin" class="input-txt" />
<p><small>只能用'0-9'、'a-z'、'A-Z'、'.'、'@'、'_'、'-'、'!'以内范围的字符</small></p>
</td>
</tr>
<tr>
<td class="onetd"><strong>密 码:</strong></td>
<td><input name="adminpwd" type="text" value="admin" class="input-txt" /><small>默认密码:admin,建议 <a class="btn btn-danger btn-sm" href="javascript:randpwd();">手动生成</a></small></td>
</tr>
<tr>
<td class="onetd"><strong>Cookie加密码:</strong></td>
<td><input name="cookieencode" type="text" value="<?php echo $rnd_cookieEncode; ?>" class="input-txt" /></td>
</tr>
</table>
<div class="pr-title"><h3>网站设置</h3></div>
<table width="726" border="0" align="center" cellpadding="0" cellspacing="0" class="twbox">
<tr>
<td class="onetd"><strong>网站名称:</strong></td>
<td>
<input name="webname" type="text" value="我的网站" class="input-txt" />
</td>
</tr>
<tr>
<td class="onetd"><strong>管理员邮箱:</strong></td>
<td><input name="adminmail" type="text" value="admin@dedebiz.com" class="input-txt" /></td>
</tr>
<tr>
<td class="onetd"><strong> 网站网址:</strong></td>
<td><input name="baseurl" type="text" value="<?php echo $baseurl; ?>" class="input-txt" /></td>
</tr>
<tr>
<td class="onetd"><strong>CMS安装目录:</strong></td>
<td><input name="cmspath" type="text" class="input-txt" value="<?php echo $basepath; ?>" /><small>在根目录安装时不必理会</small></td>
</tr>
</table>
<div class="btn-box">
<button type="button" class="btn btn-danger" onclick="window.location.href='index.php?step=2';">后退</button>
<button type="button" class="btn btn-danger" onclick="DoInstall();">开始安装</button>
</div>
</div>
</div>
<div class="foot">
</div>
</form>
</body>
</html>

+ 0
- 55
src/install/templates/step-4.html Bestand weergeven

@@ -1,55 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $s_lang?>" />
<title>安装程序 - 织梦内容管理系统<?php echo $verMsg; ?></title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="top">
<div class="top-logo">
</div>
<div class="top-link">
<ul>
<li><a href="https://www.dedebiz.com" target="_blank">DedeCMSV6</a></li>
<li><a href="https://www.dedebiz.com/git" target="_blank">代码托管</a></li>
<li><a href="https://www.dedebiz.com/help" target="_blank">帮助中心</a></li>
<li><a href="https://www.dedebiz.com/auth" target="_blank">授权中心</a></li>
</ul>
</div>
<div class="top-version">
<!-- 版本信息 -->
<h2>DEDECMS<?php echo $verMsg; ?></h2>
</div>
</div>
<div class="main">
<div class="pleft">
<dl class="setpbox t1">
<dt>安装步骤</dt>
<dd>
<ul>
<li class="succeed">许可协议</li>
<li class="succeed">环境检测</li>
<li class="succeed">参数配置</li>
<li class="now">安装模块</li>
<li>安装完成</li>
</ul>
</dd>
</dl>
</div>
<div class="pright">
<div class="pr-title"><h3>正在安装模块</h3></div>
<div class="install-msg">
<iframe src="index.php?step=5" id="mainfra" name="mainfra" frameborder="0" width='100%' height='350px'></iframe>
</div>
</div>
</div>
<div class="foot">
</div>
</body>
</html>

+ 0
- 73
src/install/templates/step-5.html Bestand weergeven

@@ -1,73 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $s_lang?>" />
<title>安装程序 - 织梦内容管理系统<?php echo $verMsg; ?></title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
<link href="../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="top">
<div class="top-logo">
</div>
<div class="top-link">
<ul>
<li><a href="https://www.dedebiz.com" target="_blank">DedeCMSV6</a></li>
<li><a href="https://www.dedebiz.com/git" target="_blank">代码托管</a></li>
<li><a href="https://www.dedebiz.com/help" target="_blank">帮助中心</a></li>
<li><a href="https://www.dedebiz.com/auth" target="_blank">授权中心</a></li>
</ul>
</div>
<div class="top-version">
<!-- 版本信息 -->
<h2>DEDECMS<?php echo $verMsg; ?></h2>
</div>
</div>
<div class="main">
<div class="pleft">
<dl class="setpbox t1">
<dt>安装步骤</dt>
<dd>
<ul>
<li class="succeed">许可协议</li>
<li class="succeed">环境检测</li>
<li class="succeed">参数配置</li>
<li class="succeed">正在安装</li>
<li class="now">安装完成</li>
</ul>
</dd>
</dl>
</div>
<div class="pright">
<div class="pr-title"><h3>安装完成</h3></div>
<div class="install-msg">
恭喜您!已成功安装织梦内容管理系统.您现在可以:
<br />
<?php echo $errmsg; ?>
</div>
<div class="over-link">
<a href="../dede" target="_blank" class="btn btn-danger">管理后台</a>
<a href="../index.php?upcache=1" target="_blank" class="btn btn-danger">网站首页</a>
</div>
<div class="install-msg">
或者访问织梦网站:<br />
</div>
<div class="over-link">
<a href="http://www.dedebiz.com/help" target="_blank" class="btn btn-danger">帮助中心</a>
<a href="https://www.dedebiz.com/auth" target="_blank" class="btn btn-danger">商业授权</a>
<a href="https://www.dedebiz.com/git" target="_blank" class="btn btn-danger">代码托管</a>
<a href="https://www.dedebiz.com/developer" target="_blank" class="btn btn-danger">开发者计划</a>
</div>
</div>
</div>
<div class="foot">
</div>
</body>
</html>

Laden…
Annuleren
Opslaan