更新3.0
@@ -0,0 +1,10 @@
|
||||
<?php require './templates/header.php';?>
|
||||
<div class="section">
|
||||
<div class="main">
|
||||
<pre class="pact"><?php echo $license;?></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<a href="./index.php?step=2" class="btn">接 受</a>
|
||||
</div>
|
||||
<?php require './templates/footer.php';?>
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php require './templates/header.php';?>
|
||||
<div class="section">
|
||||
<div class="main server">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="td1">环境检测</td>
|
||||
<td class="td1" width="25%">推荐配置</td>
|
||||
<td class="td1" width="25%">当前状态</td>
|
||||
<td class="td1" width="25%">最低要求</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作系统</td>
|
||||
<td>类UNIX</td>
|
||||
<td><span class="correct_span">√</span> <?php echo $server['os']; ?></td>
|
||||
<td>不限制</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PHP版本</td>
|
||||
<td><?php echo $config['php_t']; ?></td>
|
||||
<td><?php echo $server['php']; ?></td>
|
||||
<td><?php echo $config['php']; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>附件上传</td>
|
||||
<td>>2M</td>
|
||||
<td><?php echo $server['uploadSize']; ?></td>
|
||||
<td>不限制</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>session</td>
|
||||
<td>开启</td>
|
||||
<td><?php echo $server['session']; ?></td>
|
||||
<td>开启</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php if(INSTALLTYPE == 'HOST'){ ?>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="td1">目录、文件权限检查</td>
|
||||
<td class="td1" width="25%">写入</td>
|
||||
<td class="td1" width="25%">读取</td>
|
||||
</tr>
|
||||
<?php
|
||||
foreach($folder as $dir){
|
||||
$Testdir = $site_path.$dir;
|
||||
dir_create($Testdir);
|
||||
if(TestWrite($Testdir)){
|
||||
$w = '<span class="correct_span">√</span>可写 ';
|
||||
}else{
|
||||
$w = '<span class="correct_span error_span">√</span>不可写 ';
|
||||
$error++;
|
||||
}
|
||||
if(is_readable($Testdir)){
|
||||
$r = '<span class="correct_span">√</span>可读' ;
|
||||
}else{
|
||||
$r = '<span class="correct_span error_span">√</span>不可读';
|
||||
$error++;
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $dir; ?></td>
|
||||
<td><?php echo $w; ?></td>
|
||||
<td><?php echo $r; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<a href="./index.php?step=2" class="btn">重新检测</a>
|
||||
<?php if(empty($error)){ ?>
|
||||
<a href="./index.php?step=3" class="btn">下一步</a>
|
||||
<?php } else { ?>
|
||||
<button href="#" class="btn error" disabled>当前有误</button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php require './templates/footer.php';?>
|
||||
@@ -0,0 +1,264 @@
|
||||
<?php require './templates/header.php';?>
|
||||
<form id="J_install_form" action="index.php?step=4" method="post">
|
||||
<div class="section">
|
||||
<div class="main server">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="td1" width="100">数据库信息</td>
|
||||
<td class="td1" width="200"> </td>
|
||||
<td class="td1"> </td>
|
||||
</tr>
|
||||
<?php if(INSTALLTYPE == 'HOST'){?>
|
||||
<tr>
|
||||
<td class="tar">数据库服务器:</td>
|
||||
<td><input type="text" name="dbhost" id="dbhost" value="127.0.0.1" class="input"></td>
|
||||
<td><div id="J_install_tip_dbhost"><span class="gray">数据库服务器地址,一般为localhost</span></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">数据库端口:</td>
|
||||
<td><input type="text" name="dbport" id="dbport" value="3306" class="input"></td>
|
||||
<td><div id="J_install_tip_dbport"><span class="gray">数据库服务器端口,一般为3306</span></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">数据库用户名:</td>
|
||||
<td><input type="text" name="dbuser" id="dbuser" value="" class="input"></td>
|
||||
<td><div id="J_install_tip_dbuser"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">数据库密码:</td>
|
||||
<td><input type="text" name="dbpw" id="dbpw" value="" class="input" autoComplete="off"></td>
|
||||
<td><div id="J_install_tip_dbpw"></div></td>
|
||||
</tr>
|
||||
<?php }?>
|
||||
<? if(INSTALLTYPE == 'HOST' || INSTALLTYPE == 'BAE'){ ?>
|
||||
<tr>
|
||||
<td class="tar">数据库名:</td>
|
||||
<td><input type="text" name="dbname" id="dbname" value="<?php echo $config['dbName'] ?>" class="input"></td>
|
||||
<td><div id="J_install_tip_dbname"></div></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="tar">数据库表前缀:</td>
|
||||
<td><input type="text" name="dbprefix" id="dbprefix" value="<?php echo $config['dbPrefix'] ?>" class="input"></td>
|
||||
<td><div id="J_install_tip_dbprefix"><span class="gray">建议使用默认</span></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">测试数据库连接:</td>
|
||||
<td><button type="button" class="btn" onclick="TestDbPwd()">测试连接</button></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="td1" width="100">网站信息</td>
|
||||
<td class="td1" width="200"> </td>
|
||||
<td class="td1"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">网站名称:</td>
|
||||
<td><input type="text" name="sitename" value="<?php echo $config['siteName'] ?>" class="input"></td>
|
||||
<td><div id="J_install_tip_sitename"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">管理员帐号:</td>
|
||||
<td><input type="text" name="manager" value="" class="input"></td>
|
||||
<td><div id="J_install_tip_manager"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">密码:</td>
|
||||
<td><input type="text" name="manager_pwd" id="J_manager_pwd" class="input" autoComplete="off"></td>
|
||||
<td><div id="J_install_tip_manager_pwd"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tar">重复密码:</td>
|
||||
<td><input type="text" name="manager_ckpwd" class="input" autoComplete="off"></td>
|
||||
<td><div id="J_install_tip_manager_ckpwd"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="J_response_tips" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<a href="./index.php?step=2" class="btn">上一步</a>
|
||||
<button type="submit" class="btn btn_submit J_install_btn">创建数据</button>
|
||||
</div>
|
||||
</form>
|
||||
<script src="./templates/js/jquery.js"></script>
|
||||
<script src="./templates/js/validate.js"></script>
|
||||
<script>
|
||||
function TestDbPwd(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType:'json',
|
||||
url: "./index.php?step=3&testdbpwd=1",
|
||||
data: {'dbhost':$('#dbhost').val(),'dbuser':$('#dbuser').val(),'dbpw':$('#dbpw').val(),'dbname':$('#dbname').val(),'dbport':$('#dbport').val()},
|
||||
success: function(data){
|
||||
if(data.status != 1){
|
||||
$('#'+ data.type).focus();
|
||||
}
|
||||
alert(data.info);
|
||||
},
|
||||
error:function(){
|
||||
alert('数据库链接配置失败');
|
||||
$('#dbpw').focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function(){
|
||||
//聚焦时默认提示
|
||||
var focus_tips = {
|
||||
dbhost : '数据库服务器地址,一般为localhost',
|
||||
dbport : '数据库服务器端口,一般为3306',
|
||||
dbuser : '请输入数据库用户名',
|
||||
dbpw : '请输入数据库密码',
|
||||
dbname : '请输入数据库名',
|
||||
dbprefix : '建议使用默认,同一数据库安装多个时需修改',
|
||||
manager : '创始人帐号,拥有站点后台所有管理权限',
|
||||
manager_pwd : '请输入管理员密码',
|
||||
manager_ckpwd : '请再次输入管理员密码',
|
||||
sitename : '请再次输入网站名称',
|
||||
sitekeywords : '',
|
||||
siteinfo : '',
|
||||
manager_email : ''
|
||||
};
|
||||
|
||||
|
||||
var install_form = $("#J_install_form"),
|
||||
response_tips = $('#J_response_tips'); //后端返回提示
|
||||
|
||||
install_form.validate({
|
||||
//debug : true,
|
||||
//onsubmit : false,
|
||||
errorPlacement: function(error, element) {
|
||||
//错误提示容器
|
||||
$('#J_install_tip_'+ element[0].name).html(error);
|
||||
},
|
||||
errorElement: 'span',
|
||||
errorClass : 'tips_error',
|
||||
validClass : 'tips_error',
|
||||
onkeyup : false,
|
||||
focusInvalid : false,
|
||||
rules: {
|
||||
dbhost: {
|
||||
required : true
|
||||
},
|
||||
dbport:{
|
||||
required : true
|
||||
},
|
||||
dbuser: {
|
||||
required : true
|
||||
},
|
||||
dbname: {
|
||||
required : true
|
||||
},
|
||||
dbprefix : {
|
||||
required : true
|
||||
},
|
||||
manager: {
|
||||
required : true
|
||||
},
|
||||
manager_pwd: {
|
||||
required : true,
|
||||
minlength : 6
|
||||
},
|
||||
sitename: {
|
||||
required : true,
|
||||
},
|
||||
manager_ckpwd: {
|
||||
required : true,
|
||||
equalTo : '#J_manager_pwd'
|
||||
},
|
||||
manager_email: {
|
||||
required : true,
|
||||
email : true
|
||||
}
|
||||
},
|
||||
highlight : false,
|
||||
unhighlight : function(element, errorClass, validClass) {
|
||||
var tip_elem = $('#J_install_tip_'+ element.name);
|
||||
|
||||
tip_elem.html('<span class="'+ validClass +'" data-text="text"><span>');
|
||||
|
||||
},
|
||||
onfocusin : function(element){
|
||||
var name = element.name;
|
||||
$('#J_install_tip_'+ name).html('<span data-text="text">'+ focus_tips[name] +'</span>');
|
||||
$(element).parents('tr').addClass('current');
|
||||
},
|
||||
onfocusout : function(element){
|
||||
var _this = this;
|
||||
$(element).parents('tr').removeClass('current');
|
||||
|
||||
if(element.name === 'email') {
|
||||
//邮箱匹配点击后,延时处理
|
||||
setTimeout(function(){
|
||||
_this.element(element);
|
||||
}, 150);
|
||||
}else{
|
||||
|
||||
_this.element(element);
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
messages: {
|
||||
dbhost: {
|
||||
required : '数据库服务器地址不能为空'
|
||||
},
|
||||
dbport:{
|
||||
required : '数据库服务器端口不能为空'
|
||||
},
|
||||
dbuser: {
|
||||
required : '数据库用户名不能为空'
|
||||
},
|
||||
dbname: {
|
||||
required : '数据库名不能为空'
|
||||
},
|
||||
dbprefix : {
|
||||
required : '数据库表前缀不能为空'
|
||||
},
|
||||
sitename : {
|
||||
required : '请再次输入网站名称'
|
||||
},
|
||||
manager: {
|
||||
required : '管理员帐号不能为空'
|
||||
},
|
||||
manager_pwd: {
|
||||
required : '密码不能为空',
|
||||
minlength : '密码至少6位'
|
||||
},
|
||||
manager_ckpwd: {
|
||||
required : '请再次输入管理员密码',
|
||||
equalTo : '两次输入的密码不一致。请重新输入'
|
||||
},
|
||||
manager_email: {
|
||||
required : 'Email不能为空',
|
||||
email : '请输入正确的电子邮箱地址'
|
||||
}
|
||||
},
|
||||
submitHandler:function(form) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType:'json',
|
||||
url: "./index.php?step=3&testdbpwd=1",
|
||||
data: {'dbhost':$('#dbhost').val(),'dbuser':$('#dbuser').val(),'dbpw':$('#dbpw').val(),'dbname':$('#dbname').val(),'dbport':$('#dbport').val()},
|
||||
success: function(data){
|
||||
if(data.status != 1){
|
||||
alert(data.info);
|
||||
$('#'+ data.type).focus();
|
||||
return;
|
||||
}
|
||||
form.submit();
|
||||
return true;
|
||||
},
|
||||
error:function(){
|
||||
alert('数据库链接配置失败');
|
||||
$('#dbpw').focus();
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php require './templates/footer.php';?>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php require './templates/header.php';?>
|
||||
<div class="section">
|
||||
<div class="main install">
|
||||
<ul id="loginner"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<a href="javascript:;" class="btn_old" id="installloading">
|
||||
<img src="templates/images/loading.gif" align="absmiddle"> 正在安装...
|
||||
</a>
|
||||
</div>
|
||||
<script src="./templates/js/jquery.js"></script>
|
||||
<script type="text/javascript">
|
||||
var n=0;
|
||||
var data = <?php echo json_encode($_POST);?>;
|
||||
$.ajaxSetup ({ cache: false });
|
||||
function reloads(n) {
|
||||
var url = "./index.php?step=4&install=1&n="+n;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
success: function(data){
|
||||
$('#loginner').append(data.info);
|
||||
if(data.status == 1){
|
||||
reloads(data.type);
|
||||
}
|
||||
if(data.status == 0){
|
||||
$('#installloading').removeClass('btn_old').addClass('btn').html('继续安装').unbind('click').click(function(){
|
||||
reloads(0);
|
||||
});
|
||||
alert('安装已停止!');
|
||||
}
|
||||
if(data.status == 2){
|
||||
$('#installloading').removeClass('btn_old').addClass('btn').attr('href','./index.php?step=5').html('安装完成');
|
||||
setTimeout(function(){
|
||||
window.location.href='./index.php?step=5';
|
||||
},5000);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function(){
|
||||
reloads(n);
|
||||
})
|
||||
</script>
|
||||
<?php require './templates/footer.php';?>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php require './templates/header.php';?>
|
||||
<div class="section">
|
||||
<div class="main">
|
||||
<div class="success_tip cc">
|
||||
<a href="../qfadmin">安装完成,进入后台管理</a>
|
||||
<?php if(INSTALLTYPE == 'HOST'){ ?>
|
||||
<p><?php echo $config['alreadyInstallInfo']?><p>
|
||||
<?php } else if(INSTALLTYPE == 'SAE'){ ?>
|
||||
<p><?php echo $config['alreadySaeInstallInfo']?><p>
|
||||
<?php } else if(INSTALLTYPE == 'BAE'){ ?>
|
||||
<p><?php echo $config['alreadyBaeInstallInfo']?><p>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<a href="../index" class="btn">进入前台</a>
|
||||
<a href="../qfadmin" class="btn">进入后台</a>
|
||||
</div>
|
||||
<?php require './templates/footer.php';?>
|
||||
@@ -0,0 +1,219 @@
|
||||
/* 初始化 */
|
||||
html{-webkit-text-size-adjust:none;overflow-y:scroll;}
|
||||
body,input,button,select,textarea{font:12px/1.5 Microsoft YaHei,Tahoma,Helvetica,'SimSun',sans-serif;color:#444;}
|
||||
html,body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,th,td{margin:0;padding:0;border:none}
|
||||
body{background:url(../images/bg.png);}
|
||||
td,th,div {word-break:break-all;word-wrap:break-word;}
|
||||
address,cite,dfn,em,var{font-style:normal;font-weight:normal}
|
||||
table{empty-cells:show;border-spacing:0;}
|
||||
ul,ol,li{list-style:none}
|
||||
ul li,ol li{list-style:none;}
|
||||
img{border:none;}
|
||||
label{cursor:pointer;}
|
||||
a{text-decoration:none;}
|
||||
a:hover{text-decoration:underline;}
|
||||
button,input,select,textarea{font-size:100%;}
|
||||
hr{display:block;clear:both;*margin-top:-8px !important;*margin-bottom:-8px !important;}
|
||||
/* input select textarea */
|
||||
input[type="checkbox"]{vertical-align:middle; margin-top:0;}
|
||||
input,textarea{padding:6px;border-radius: 4px;font-size: 100%;line-height: 16px\9;*line-height: 18px;*vertical-align: -2px;background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;margin-right: 3px;}
|
||||
textarea{resize:none;min-height:60px;line-height: 15px;}
|
||||
textarea:focus,input:focus,select:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}
|
||||
select{height: 30px;line-height: 30px;background-color: #fff;border: 1px solid #ccc;display: inline-block;padding: 6px;color: #555;margin-top: -2px;padding-top: 4px;*margin-top: -8px;vertical-align: middle;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;font-size: 100%;}
|
||||
|
||||
/* 基础样式 */
|
||||
.clearfix {_zoom: 1;}
|
||||
.clearfix:after {content: ".";display: block;visibility: hidden;clear: both;height: 0px;}
|
||||
|
||||
.wrap{margin:90px auto 0;box-shadow:0 0 20px #3F3F3F;width:980px;background-color:#fff;border-radius: 6px;overflow: hidden;}
|
||||
/* 头部样式 */
|
||||
.header{height:80px;padding: 0 5px;box-shadow:0 3px 3px #ddd;position:relative;color:#fff;background:#133ab3;}
|
||||
.header-title{float:left;font-size: 40px;line-height: 80px;}
|
||||
.header-install{float: left;margin-top: 26px;font-size: 20px; padding-left: 20px;}
|
||||
.header-version{float: right;margin-top: 50px;}
|
||||
|
||||
/* 步骤 */
|
||||
.step{border-bottom:1px solid #dce1e5;height:60px;}
|
||||
.step li{float:left;height:59px;line-height:60px;width:20%;text-align:center;font-size:14px;color:#6f7885;font-weight:700;}
|
||||
.step li em{width:32px;height:32px;text-align:center;line-height:32px;display:inline-block;background:#999999;border-radius: 50%;font-size:20px;color:#fff;font-family:Microsoft Yahei;margin-right:10px;vertical-align:-1px}
|
||||
.step li.current{background-position:right -106px;background-repeat:no-repeat;color:#246ea5;}
|
||||
.step li.current em{background:#133ab3}
|
||||
.step li.on{background-position:0 -176px;}
|
||||
.step li.on em{background-position:-70px -70px;}
|
||||
|
||||
.pact {box-shadow: 5px 5px 5px #f7f7f7 inset;height: 350px;padding: 20px 20px; white-space: pre-wrap; overflow: hidden;display: block;overflow-y: scroll;margin: 0 auto;font-size: 12px;line-height: 1.5;outline: none;}
|
||||
/* 服务器检测/信息输入 */
|
||||
.server{padding:20px 20px 0 65px;}
|
||||
.server table{margin-bottom:20px;}
|
||||
.server td{padding:3px 5px;}
|
||||
.server .td1{color:#417b9d;font-weight:700;}
|
||||
.server .input{border:1px solid;border-color:#e3e9ef;padding:3px;width:200px;}
|
||||
.server .input:hover,
|
||||
.server .input:focus{border:1px solid #0e85d5;outline:none;}
|
||||
.gray{color:#bbb;}
|
||||
.server tr:hover .gray{color:#333;}
|
||||
|
||||
/* 正确错误 */
|
||||
.correct_span,
|
||||
.error_span{display:block;float:left;width:20px;height:16px;text-indent:-2000em;margin-top: 2px;overflow:hidden;background:url(../images/icon.png) no-repeat;margin-right:5px;}
|
||||
.error_span{background-position:0 -23px;}
|
||||
/* 成功提示 */
|
||||
.success_tip{background:#fff url(../images/complete.png) 210px center no-repeat;font-size: 14px;padding:50px 80px 50px 300px;line-height:2;}
|
||||
.success_tip a{color:#0166a5;text-decoration:none;font-size: 20px;font-weight: 700;}
|
||||
.success_tip a:hover{text-decoration:underline;}
|
||||
|
||||
/*
|
||||
===================
|
||||
操作提示
|
||||
>> tips 普通
|
||||
>> tips_error 错误
|
||||
>> tips_success 正确
|
||||
>> tips_loading 加载中
|
||||
使用方法
|
||||
可独立样式使用,亦可与tips组装,例:
|
||||
<div class="tips"><span class="tips_error">错误内容</span></div>
|
||||
|
||||
可在外出包裹 tips_block 对错误提示进行块级效果展示
|
||||
===================
|
||||
*/
|
||||
.tips,.tips_block span{line-height:25px;padding:0 6px;}
|
||||
.tips{border:1px solid #faebd2;background:#ffffe9;color:#666;}
|
||||
.tips_error,.tips_success{color:#cc3333;padding-left:16px;background:url(../images/tips_system.png) -20px 2px no-repeat;display:inline-block;line-height:18px;}
|
||||
.tips_success{color:#008800;background-position:0 -19px;}
|
||||
.tips_loading{color:#cc3333;color:#333333;display:inline-block;line-height:20px;}
|
||||
/* 数据表写入 */
|
||||
.install{ box-shadow:5px 5px 5px #f7f7f7 inset;border:1px solid #bdbcbc;width:900px;height:350px;padding:10px;overflow:hidden;display:block;overflow-y:scroll;margin:25px auto;font-size:12px;margin-bottom:22px;outline:none}
|
||||
.install ul{line-height:1.8;}
|
||||
/* loading */
|
||||
.loading{border-radius: 16px;width: 100px;height: 30px;line-height: 30px;text-align: center;background:#000;background-color: rgba(0, 0, 0, 0.5);color: white;position: fixed;_position:absolute;left: 50%;margin-left: -50px;top: 50%;margin-top:-15px;}
|
||||
.loading span{background:url(../images/pop_loading.gif) 0 center no-repeat;padding-left:24px;}
|
||||
/* 按钮 */
|
||||
.btn-box{padding: 10px;text-align: center;border-top: 1px solid #ccc;}
|
||||
.btn,.btn_old{display:inline-block;width:100px;height:30px;background:#133ab3;font:bold 14px/30px Arial,"Microsoft Yahei",Simsun;text-decoration:none;color:#fff;margin:0 5px;border:0 none;cursor:pointer;vertical-align:top;}
|
||||
.btn:hover{background-position:0 -30px;text-decoration:none;}
|
||||
.btn.error{background-position: 0 -60px;color: #DF0000;}
|
||||
.btn_old,.btn_old:hover{background-position:0 -60px;color:#999 !important;cursor:default;text-decoration:none;}
|
||||
/* 底部 */
|
||||
.footer{text-align:center;padding:15px 0 50px;color:#999999;}
|
||||
.footer a{color:#999;text-decoration:none;}
|
||||
|
||||
body {
|
||||
background: #f5f6fa;
|
||||
}
|
||||
|
||||
.wrap {
|
||||
margin: 50px auto 0;
|
||||
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
|
||||
width: 1000px;
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: 90px;
|
||||
padding: 0 30px;
|
||||
box-shadow: 0 2px 10px rgba(19, 58, 179, 0.1);
|
||||
position: relative;
|
||||
color: #fff;
|
||||
background: linear-gradient(135deg, #133ab3, #1e56ff);
|
||||
}
|
||||
|
||||
.header-title {
|
||||
float: left;
|
||||
font-size: 42px;
|
||||
line-height: 90px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.header-install {
|
||||
float: left;
|
||||
margin-top: 30px;
|
||||
font-size: 22px;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
.step {
|
||||
border-bottom: 1px solid #eef0f5;
|
||||
height: 70px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.step li {
|
||||
float: left;
|
||||
height: 69px;
|
||||
line-height: 70px;
|
||||
width: 20%;
|
||||
text-align: center;
|
||||
font-size: 15px;
|
||||
color: #6f7885;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.step li em {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
text-align: center;
|
||||
line-height: 36px;
|
||||
display: inline-block;
|
||||
background: #e0e6ed;
|
||||
border-radius: 50%;
|
||||
font-size: 18px;
|
||||
color: #fff;
|
||||
margin-right: 12px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.step li.current {
|
||||
color: #133ab3;
|
||||
}
|
||||
|
||||
.step li.current em {
|
||||
background: #133ab3;
|
||||
box-shadow: 0 2px 10px rgba(19, 58, 179, 0.2);
|
||||
}
|
||||
|
||||
/* 按钮样式优化 */
|
||||
.btn {
|
||||
display: inline-block;
|
||||
width: 120px;
|
||||
height: 40px;
|
||||
background: #133ab3;
|
||||
font: 600 15px/40px "Microsoft Yahei";
|
||||
text-decoration: none;
|
||||
color: #fff;
|
||||
margin: 0 8px;
|
||||
border: 0 none;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
background: #1e56ff;
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 2px 10px rgba(19, 58, 179, 0.2);
|
||||
}
|
||||
|
||||
/* 输入框样式优化 */
|
||||
input, textarea {
|
||||
padding: 8px 12px;
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
background-color: #fff;
|
||||
border: 1px solid #dce1e5;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
input:focus, textarea:focus {
|
||||
border-color: #133ab3;
|
||||
box-shadow: 0 0 0 2px rgba(19, 58, 179, 0.1);
|
||||
}
|
||||
|
||||
.btn.error{
|
||||
color: #999999;
|
||||
background: #eeeeee;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
</div>
|
||||
<div class="footer"> <?php echo $config['footerInfo'];?> </div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,18 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title><?php echo $config['name'].' '.$config['version']; ?> - <?php echo $config['powered']; ?></title>
|
||||
<link rel="stylesheet" href="./templates/css/install.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
<div class="header">
|
||||
<div class="header-install"><?php echo $config['name']; ?>-安装向导</div>
|
||||
<div class="header-version">版本:<?php echo $config['version'];?></div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<ul>
|
||||
<?php echo $step_html;?>
|
||||
</ul>
|
||||
</div>
|
||||
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 666 B |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 460 B |
|
After Width: | Height: | Size: 711 B |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 875 B |
|
After Width: | Height: | Size: 723 B |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 494 B |