official_website/install_foxcmsvtqp/step/step4.php

395 lines
17 KiB
PHP
Raw Normal View History

2024-12-02 13:57:08 +08:00
<!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>