395 lines
17 KiB
PHP
395 lines
17 KiB
PHP
<!DOCTYPE html>
|
||
<html lang="cn">
|
||
<?php include "head.html"?>
|
||
<body>
|
||
<div class="install-container step4-container">
|
||
<?php include "header.html"?>
|
||
<main>
|
||
<div class="step-content">
|
||
<div class="step-head">
|
||
<div class="progress-text">
|
||
<div class="step active">
|
||
<h3>许可协议</h3>
|
||
<div class="circle"></div>
|
||
</div>
|
||
<div class="step active">
|
||
<h3>环境检测</h3>
|
||
<div class="circle"></div>
|
||
</div>
|
||
<div class="step active">
|
||
<h3>参数配置</h3>
|
||
<div class="circle"></div>
|
||
</div>
|
||
<div class="step">
|
||
<h3>安装完成</h3>
|
||
<div class="circle"></div>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="foxui-progress foxui-progress-type__line" data-foxid="foxid3985">
|
||
<div class="foxui-progress-line">
|
||
<div class="foxui-progress-line__outer" style="height:12px;">
|
||
<div class="foxui-progress-line__inner foxui-progress-line__striped foxui-progress-line__animated" style="width:66.66%; ">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="step-main step-main-multiple">
|
||
<div class="panel">
|
||
<div class="panel-head">安装选项</div>
|
||
<div class="panel-main">
|
||
<div class="slide">
|
||
<div class="form-item">
|
||
<div class="foxui-input-group data-method">
|
||
<label>安装方式:</label>
|
||
<div class="foxui-radio-group">
|
||
<div class="foxui-radio is-checked">
|
||
<span class="foxui-radio-input">
|
||
<i class="foxui-radio-icon"></i>
|
||
<input type="radio" value="1" checked="checked" />
|
||
</span>
|
||
<span class="foxui-radio-label">体验数据</span>
|
||
</div>
|
||
<div class="foxui-radio">
|
||
<span class="foxui-radio-input">
|
||
<i class="foxui-radio-icon"></i>
|
||
<input type="radio" value="2" checked="checked" />
|
||
</span>
|
||
<span class="foxui-radio-label">纯净安装</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 默认模板 -->
|
||
<div class="form-item foxui-margin-top-20" id="defaultTemplate">
|
||
<?php echo $templateInfo?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="panel foxui-margin-top-20">
|
||
<div class="panel-head">数据库选项</div>
|
||
<div class="panel-main">
|
||
<div class="slide">
|
||
<div class="form-item">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">数据库主机:</label>
|
||
<input class="foxui-size-small" placeholder="请输入内容" value="127.0.0.1" id="dbhost" onblur="blurInfo('dbhost','host-info','数据库主机地址为空')"/>
|
||
<div class="host-info">
|
||
<span class="info">
|
||
数据库主机地址,与程序同服务器一般为127.0.0.1
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">数据库端口:</label>
|
||
<input class="foxui-size-small" placeholder="输入你的数据库端口" value="3306" id="dbport" onblur="blurInfo('dbport','port-info','数据库端口为空')"/>
|
||
<div class="port-info">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">数据库用户:</label>
|
||
<input class="foxui-size-small" placeholder="输入你的数据库用户名" value="root" id="dbuser" onblur="blurInfo('dbuser','user-info','数据库用户为空')"/>
|
||
<div class="user-info">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 连接正常 -->
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group pwd">
|
||
<label class="foxui-required">数据库密码:</label>
|
||
<input class="foxui-size-small" placeholder="输入正确的数据库密码" value="" type="password" onblur="checkPwd()" id="dbpwd"/>
|
||
<div class="pwd-info">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- 自动创建 -->
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">数据库名称:</label>
|
||
<input class="foxui-size-small" placeholder="输入正确的数据库名称" value="<?php echo $dbname;?>" id="dbname" onblur="checkDb()"/>
|
||
<div class="dbname-info">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="panel web-panel foxui-margin-top-20">
|
||
<div class="panel-head">网站设置</div>
|
||
<div class="panel-main">
|
||
<div class="slide">
|
||
<div class="form-item">
|
||
<div class="foxui-input-group">
|
||
<label>网站名称:</label>
|
||
<input class="foxui-size-small" placeholder="" value="我的网站" id="my_website"/>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label>管理邮箱:</label>
|
||
<input class="foxui-size-small" placeholder="" value="admin@FoxCMS.cn" id="email"/>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">网站域名:</label>
|
||
<input class="foxui-size-small" placeholder="" value="<?php echo $serverURLInfo['domain'];?>" id="domain"/>
|
||
<input type="hidden" class="foxui-size-small" placeholder="" value="<?php echo $serverURLInfo['url_prefix'];?>" id="url_prefix"/>
|
||
</div>
|
||
</div>
|
||
<div class="line foxui-margin-top-28 foxui-margin-bottom-28"></div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">管理员账号:</label>
|
||
<input class="foxui-size-small" placeholder="" value="admin" id="username"/>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">管理员密码:</label>
|
||
<input class="foxui-size-small" type="password" placeholder="请设置后台管理员密码" value="" id="password" onblur="isPwd()"/>
|
||
<div id="password-info">
|
||
<span class="info">
|
||
密码必须包含数字、大小写字母、特殊字符中至少3种,且不少于8位
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="form-item foxui-margin-top-20">
|
||
<div class="foxui-input-group">
|
||
<label class="foxui-required">确认密码:</label>
|
||
<input class="foxui-size-small" type="password" placeholder="请牢记后台管理员密码" value="" id="confirm_password"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="step-foot">
|
||
<button class="foxui-size-medium foxui-shape-round is-long prev">
|
||
<i class="foxui-icon-xiangzuo-o"></i>
|
||
<span>后退</span>
|
||
</button>
|
||
<button class="foxui-solid-primary foxui-shape-round foxui-size-medium is-long next">
|
||
<span>继续</span>
|
||
<i class="foxui-icon-xiangyou-o"></i>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
<?php include "footer.html"?>
|
||
</div>
|
||
</body>
|
||
<script src="/static/js/jquery-3.6.0.min.js"></script>
|
||
<script src="/static/js/foxui-1.32.min.js"></script>
|
||
<script src="js/common.install.js"></script>
|
||
<script>
|
||
// checkPwd();//检查数据密码
|
||
let isConn=checkDb();//检查数据库
|
||
let time = 0,
|
||
timer = null;
|
||
|
||
// 上一步
|
||
$('button.prev').click(function () {
|
||
location.href = '?step=3';
|
||
});
|
||
|
||
// 下一步
|
||
$('button.next').click(function () {
|
||
|
||
let dbhost = $("#dbhost").val();
|
||
let dbport = $("#dbport").val();
|
||
let dbuser = $("#dbuser").val();
|
||
let dbpwd = $("#dbpwd").val();
|
||
let dbname = $("#dbname").val();
|
||
let my_website = $("#my_website").val();
|
||
let email = $("#email").val();
|
||
let domain = $("#domain").val();
|
||
let username = $("#username").val();
|
||
let password = $("#password").val();
|
||
let confirm_password = $("#confirm_password").val();
|
||
if(dbhost == ""){
|
||
blurInfo("dbhost", "host-info", "数据库主机为空");
|
||
return;
|
||
}
|
||
if(dbport == ""){
|
||
blurInfo("dbport", "port-info", "数据库端口为空");
|
||
return;
|
||
}
|
||
if(dbuser == ""){
|
||
blurInfo("dbuser", "user-info", "数据库用户为空");
|
||
return;
|
||
}
|
||
if(dbpwd == ""){
|
||
blurInfo("dbpwd", "pwd-info", "数据库密码为空");
|
||
return;
|
||
}
|
||
if(isConn){
|
||
return;
|
||
}
|
||
if(dbname == ""){
|
||
blurInfo("dbname", "dbname-info", "数据库名称为空");
|
||
return;
|
||
}
|
||
if(domain == ""){
|
||
foxui.message({
|
||
text: "网站域名为空",
|
||
type: 'danger'
|
||
})
|
||
return;
|
||
}
|
||
if(username == ""){
|
||
foxui.message({
|
||
text: "管理员账号为空",
|
||
type: 'danger'
|
||
})
|
||
return;
|
||
}
|
||
if(!isPwd()){
|
||
return;
|
||
}
|
||
if(confirm_password != password){
|
||
foxui.message({
|
||
text: "确认密码不一致",
|
||
type: 'danger'
|
||
})
|
||
return;
|
||
}
|
||
|
||
foxui.loading({
|
||
el: 'body',
|
||
type: 'block',
|
||
background: 'black',
|
||
text: '正在安装',
|
||
info: '安装中,请稍后...',
|
||
iconType: 'spinner',
|
||
iconColor: '#000000',
|
||
iconSize: 42,
|
||
});
|
||
timer = setInterval(() => {
|
||
time++;
|
||
_calTime();
|
||
}, 1000);
|
||
|
||
$.ajax({
|
||
url: 'installdb.php',
|
||
data: {
|
||
check:"install_struct",
|
||
dbhost,
|
||
dbport,
|
||
dbuser,
|
||
dbpwd,
|
||
dbname,
|
||
my_website,
|
||
email,
|
||
domain,
|
||
username,
|
||
password,
|
||
'url_prefix':$('#url_prefix').val()
|
||
},
|
||
type: 'post',
|
||
dataType: 'html',
|
||
success: function (data) {
|
||
if(data == "pwd"){
|
||
let text = "密码必须包含数字、大小写字母、特殊字符中至少3种,且不少于8位!";
|
||
foxui.message({
|
||
type:"danger",
|
||
text: text
|
||
});
|
||
onSuccess()
|
||
}else if(data == "true"){
|
||
$.ajax({
|
||
url: 'installdb.php',
|
||
data: {
|
||
check:"install_data",
|
||
dbhost,
|
||
dbport,
|
||
dbuser,
|
||
dbpwd,
|
||
dbname,
|
||
my_website,
|
||
email,
|
||
domain,
|
||
username,
|
||
password,
|
||
'url_prefix':$('#url_prefix').val(),
|
||
'data_method':$('.data-method .foxui-radio.is-checked input').val()
|
||
},
|
||
type: 'post',
|
||
dataType: 'html',
|
||
success: function (data) {
|
||
let text = "";
|
||
let type = "danger";
|
||
if(data == "conn"){
|
||
text = "数据库连接失败!";
|
||
}else if (data == "create"){
|
||
text = "数据库创建失败!";
|
||
}else if (data == "false"){
|
||
text = "基础数据安装出错!";
|
||
}else if (data == "true"){
|
||
type = "success";
|
||
text = "安装成功";
|
||
location.href = '?step=5';
|
||
}else{
|
||
text = "基础数据安装出错!";
|
||
}
|
||
foxui.closeLoading();
|
||
onSuccess();
|
||
foxui.message({
|
||
type:type,
|
||
text:text
|
||
});
|
||
}
|
||
});
|
||
}else{
|
||
foxui.closeLoading();
|
||
foxui.message({
|
||
type:"danger",
|
||
text:"数据库表安装出错!"
|
||
});
|
||
onSuccess()
|
||
}
|
||
}
|
||
});
|
||
|
||
});
|
||
|
||
// 安装成功后跳转
|
||
function onSuccess() {
|
||
time = 0;
|
||
foxui.closeLoading();
|
||
clearInterval(timer);
|
||
timer = null;
|
||
}
|
||
|
||
// 计时
|
||
function _calTime() {
|
||
$('.foxui-loading.is-fullscreen .foxui-loading-inner.block p').text(`安装中,请稍后(${time}s)`);
|
||
}
|
||
</script>
|
||
<script>
|
||
//密码校验
|
||
function isPwd(){
|
||
let text= $("#password").val();
|
||
let re =/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,}$/;
|
||
let result = re.test(text);
|
||
if(!result) {
|
||
$("#password-info").html("<span class='info color-danger'>密码必须包含数字、大小写字母、特殊字符中至少3种,且不少于8位</span>");
|
||
return false;
|
||
}else {
|
||
$("#password-info").html("");
|
||
return true;
|
||
}
|
||
};
|
||
</script>
|
||
</html>
|