first commit

This commit is contained in:
2025-11-28 14:28:58 +08:00
commit 6ef96e6370
314 changed files with 40282 additions and 0 deletions
+138
View File
@@ -0,0 +1,138 @@
<?php
/*
Name:系统配置API
Version:1.0
Author:易如意
Author QQ:51154393
Author Url:www.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问
if ($act == 'set') {
$app_debug = isset($_POST['app_debug']) ? intval($_POST['app_debug']) : 0;
$default_return_type = isset($_POST['default_return_type']) ? intval($_POST['default_return_type']) : 0;
$user_token_time = isset($_POST['user_token_time']) ? intval($_POST['user_token_time']) : 0;
$data_page_enums = isset($_POST['data_page_enums']) ? intval($_POST['data_page_enums']) : 0;
$default_timezone = isset($_POST['default_timezone']) ? purge($_POST['default_timezone']) : '';
$index_template = isset($_POST['index_template']) ? purge($_POST['index_template']) : '';
$api_extend_mulu = isset($_POST['api_extend_mulu']) ? purge($_POST['api_extend_mulu']) : '';
$adm_extend_mulu = isset($_POST['adm_extend_mulu']) ? purge($_POST['adm_extend_mulu']) : '';
$user_pic_mulu = isset($_POST['user_pic_mulu']) ? purge($_POST['user_pic_mulu']) : '';
$log_del = isset($_POST['log_del']) ? intval($_POST['log_del']) : 0;
$log_key = isset($_POST['log_key']) ? purge($_POST['log_key']) : '';
if ($user_token_time == '') json(201, '用户在线状态有效期有误');
if ($default_timezone == '') json(201, '系统时区有误');
if ($api_extend_mulu == '') json(201, '接口扩展目录有误');
if ($adm_extend_mulu == '') json(201, '后台扩展目录有误');
if ($user_pic_mulu == '') json(201, '用户头像目录有误');
if ($log_key == '') json(201, '日志key不可为空');
$userdata = file_get_contents('../include/config.php');
$userdata = preg_replace("/\'APP_DEBUG',(\d+)/", "'APP_DEBUG',{$app_debug}", $userdata);
$userdata = preg_replace("/\'DEFAULT_RETURN_TYPE',(\d+)/", "'DEFAULT_RETURN_TYPE',{$default_return_type}", $userdata);
$userdata = preg_replace("/\'USER_TOKEN_TIME',(\d+)/", "'USER_TOKEN_TIME',{$user_token_time}", $userdata);
$userdata = preg_replace("/\'DATA_PAGE_ENUMS',(\d+)/", "'DATA_PAGE_ENUMS',{$data_page_enums}", $userdata);
$userdata = preg_replace("/\'DEFAULT_TIMEZONE','(.*?)'/", "'DEFAULT_TIMEZONE','{$default_timezone}'", $userdata);
$userdata = preg_replace("/\'INDEX_TEMPLATE','(.*?)'/", "'INDEX_TEMPLATE','{$index_template}'", $userdata);
$userdata = preg_replace("/\'API_EXTEND_MULU','(.*?)'/", "'API_EXTEND_MULU','{$api_extend_mulu}'", $userdata);
$userdata = preg_replace("/\'ADM_EXTEND_MULU','(.*?)'/", "'ADM_EXTEND_MULU','{$adm_extend_mulu}'", $userdata);
$userdata = preg_replace("/\'USER_PIC_MULU','(.*?)'/", "'USER_PIC_MULU','{$user_pic_mulu}'", $userdata);
$userdata = preg_replace("/\'LOG_DEL',(\d+)/", "'LOG_DEL',{$log_del}", $userdata);
$userdata = preg_replace("/\'LOG_KEY','(.*?)'/", "'LOG_KEY','{$log_key}'", $userdata);
$adm_res = file_put_contents('../include/config.php', $userdata);
if ($adm_res) {
if (defined('ADM_LOG') && ADM_LOG == 1) {
Db::table('log')->add(['group' => 'adm', 'type' => 'web_set', 'status' => 200, 'time' => time(), 'ip' => getip(), 'data' => json_encode($_POST)]);
} //记录日志
json(200, '修改成功');
} else {
if (defined('ADM_LOG') && ADM_LOG == 1) {
Db::table('log')->add(['group' => 'adm', 'type' => 'web_set', 'status' => 201, 'time' => time(), 'ip' => getip(), 'data' => json_encode($_POST)]);
} //记录日志
json(201, '修改失败');
}
}
if ($act == 'pswd') {
$user = isset($_POST['user']) ? purge($_POST['user']) : '';
$pwd = isset($_POST['pwd']) ? purge($_POST['pwd']) : '';
$okpwd = isset($_POST['okpwd']) ? purge($_POST['okpwd']) : '';
if ($user == '') json(201, '账号不能为空');
if ($pwd == '') json(201, '密码不能为空');
if ($okpwd == '') json(201, '请确认密码');
if ($okpwd != $pwd) json(201, '确认密码有误');
$userdata = file_get_contents('userdata.php');
//json(201,$userdata);
$userdata = preg_replace('/\$user = \'.*?\'/', '$user = \'' . $user . '\'', $userdata);
$userdata = preg_replace('/\$pass = \'.*?\'/', '$pass = \'' . $pwd . '\'', $userdata);
$userdata = preg_replace('/\$cookie = \'.*?\'/', '$cookie = \'' . md5($user . $pwd . time()) . '\'', $userdata);
$adm_res = file_put_contents('userdata.php', $userdata);
if ($adm_res) {
if (defined('ADM_LOG') && ADM_LOG == 1) {
Db::table('log')->add(['group' => 'adm', 'type' => 'web_pswd', 'status' => 200, 'time' => time(), 'ip' => getip(), 'data' => json_encode($_POST)]);
} //记录日志
json(200, '修改成功');
} else {
if (defined('ADM_LOG') && ADM_LOG == 1) {
Db::table('log')->add(['group' => 'adm', 'type' => 'web_pswd', 'status' => 201, 'time' => time(), 'ip' => getip(), 'data' => json_encode($_POST)]);
} //记录日志
json(201, '修改失败');
}
}
if ($act == 'downfile') {
$fileurl = isset($_POST['fileurl']) ? purge($_POST['fileurl']) : '';
$home = isset($_POST['home']) ? purge($_POST['home']) : '';
$mulu = isset($_POST['mulu']) ? purge($_POST['mulu']) : '';
$filename = isset($_POST['filename']) ? purge($_POST['filename']) : '';
if ($fileurl == '') json(201, '文件下载地址为空');
if ($home == '') json(201, '扩展类型为空');
if ($filename == '') json(201, '文件名称为空');
if ($home == 'adm') {
$save_dir = FCPATH . ADM_EXTEND_MULU . $mulu;
} else {
$save_dir = FCPATH . API_EXTEND_MULU . $mulu;
}
$res = getFile($fileurl, $save_dir, $filename, 1);
if (is_array($res) && !empty($res)) {
json(200, '更新成功');
}
json(201, '更新失败');
}
function getFile($url, $save_dir = '', $filename = '', $type = 0)
{
if (trim($url) == '') {
return false;
}
//创建保存目录
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
return false;
}
//获取远程文件所采用的方法
if ($type) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$content = curl_exec($ch);
curl_close($ch);
} else {
ob_start();
readfile($url);
$content = ob_get_contents();
ob_end_clean();
}
//echo $content;
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'w');
fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
if ($size == 0) {
return false;
}
return array(
'file_name' => $filename,
'save_path' => $save_dir . $filename,
'file_size' => $size
);
}
?>
+110
View File
@@ -0,0 +1,110 @@
<?php
/*
Sort:2
Hidden:false
icons:mdi mdi-account-edit
Name:修改密码
Url:web_edit
Version:1.0
Author:易如意
QQ51154393
Urlwww.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问拦截
?>
<div class="row">
<div class="col-12">
<div class="page-title-box">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">修改管理员账号密码</li>
</ol>
</div>
<h4 class="page-title">管理员信息</h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<!-- Form row -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<form action="" method="post" id="addimg" name="addimg">
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">账号</label>
<input type="text" class="form-control" id="username" name="username" placeholder="用户账号" value="<?php echo $user; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_psw" class="col-form-label">确认密码</label>
<input type="password" class="form-control" id="password" name="password" placeholder="空则不修改密码" value="">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_psw" class="col-form-label">确认密码</label>
<input type="password" class="form-control" id="okpassword" name="okpassword" placeholder="空则不修改密码" value="">
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="ok" name="ok" required>
<label class="custom-control-label" for="ok">确认是我操作</label>
</div>
</div>
<button type="submit" class="btn btn-block btn-primary" id="submit" value="确认">确认修改</button>
</form>
</div> <!-- end card-body -->
</div> <!-- end card-->
</div> <!-- end col -->
</div><!-- end row -->
<script>
$('#submit').click(function() {
let t = window.jQuery;
var user = $("input[name='username']").val();
var pwd = $("input[name='password']").val();
var okpwd = $("input[name='okpassword']").val();
var ok = document.getElementById("ok").checked;
//console.log(okpwd);
if (!ok) {
t.NotificationApp.send("提示", "请确认是我操作", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById('submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在修改";
document.getElementById('submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=web_pswd", //请求的文件名
data: {
user: user,
pwd: pwd,
okpwd: okpwd
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('submit').disabled = false;
document.getElementById('submit').innerHTML = "确认修改";
if (data.code == 200) {
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
window.setTimeout("window.location='" + window.location.href + "'", 1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
</script>
+178
View File
@@ -0,0 +1,178 @@
<?php
/*
Sort:1
Hidden:true
icons:mdi mdi-cogs
Name:文件更新
Url:web_file
Version:1.0
Author:易如意
QQ51154393
Urlwww.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问拦截
?>
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">文件更新</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<!-- end row -->
<div class="row">
<div class="col-12" id="file_list">
<div class="card" id="loading">
<div class="card-body" style="margin-top:8rem!important;margin-bottom:8rem!important">
<center>
<div class="spinner-grow text-danger" role="status"></div>
</center>
<center>
<p>正在加载中</p>
</center>
</div>
<!--end card-body-->
</div>
<!--end card-->
</div>
<!--end col -->
</div>
<script>
function file_submit(submit, url, home, mulu, filename) {
if (submit.indexOf("file_new") != -1) {
document.getElementById(submit).innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在更新";
} else if (submit.indexOf("file_md5") != -1) {
document.getElementById(submit).innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在覆盖";
} else if (submit.indexOf("file_lose") != -1) {
document.getElementById(submit).innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在下载";
}
document.getElementById(submit).disabled = true;
//console.log(url,home,mulu,filename);
let t = window.jQuery;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=web_downfile", //请求的文件名
data: {
fileurl: url,
home: home,
mulu: mulu,
filename: filename
},
dataType: 'json',
success: function(data) {
if (data.code == 200) {
if (submit.indexOf("file_new") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>更新成功";
} else if (submit.indexOf("file_md5") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>覆盖成功";
} else if (submit.indexOf("file_lose") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>下载成功";
}
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
} else {
if (submit.indexOf("file_new") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>立即更新";
} else if (submit.indexOf("file_md5") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>立即覆盖";
} else if (submit.indexOf("file_lose") != -1) {
document.getElementById(submit).innerHTML = "<i class=\"mdi mdi-check-all mr-1\"></i>立即下载";
}
document.getElementById(submit).disabled = false;
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
//console.log(data);
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
}
$.ajax({
cache: false,
type: "GET", //请求的方式
url: "edition.php", //请求的文件名
dataType: 'json',
success: function(data) {
document.getElementById("loading").setAttribute("hidden", true);
if (data.code == 200) {
var json_data = false;
if (data.msg.file_new.length > 0) {
json_data = true;
$("#file_list").append('<div class="card" id="file_new"><div class="card-body" id="file_new_home"><h4 class="mt-0 mb-3">需要更新的文件(' + data.msg.file_new.length + '</h4></div></div>');
for (var i in data.msg.file_new) { //遍历json数组时,这么写p为索引,0,1
var mulu = data.msg.file_new[i].mulu;
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', '_');
}
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', '');
}
if (!document.getElementById("file_new_" + data.msg.file_new[i].home + "_" + mulu)) {
$("#file_new_home").append("<div class=\"media mt-2\" id=\"file_new_home_list\"><img class=\"mr-3 avatar-sm\" src=\"../assets/images/Folder.png\" style=\"width:2rem!important;height:2rem!important\"><div class=\"media-body\"><h6 class=\"mt-0\">文件夹</h5>路径:extend/" + data.msg.file_new[i].home + "/" + data.msg.file_new[i].mulu + "<div id=\"file_new_" + data.msg.file_new[i].home + "_" + mulu + "\"><div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_new[i].nav + "</h5>文件名:" + data.msg.file_new[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_new[i].version + "<br>文件MD5" + data.msg.file_new[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_new_submit_" + i + "\" onclick=\"file_submit('file_new_submit_" + i + "','" + data.msg.file_new[i].fileurl + "','" + data.msg.file_new[i].home + "','" + data.msg.file_new[i].mulu + "','" + data.msg.file_new[i].file + "')\" type=\"button\" class=\"btn btn-success btn-sm\">立即更新</button></div></div></div></div></div></div>");
} else {
$("#file_new_" + data.msg.file_new[i].home + "_" + mulu).append("<div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_new[i].nav + "</h5>文件名:" + data.msg.file_new[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_new[i].version + "<br>文件MD5" + data.msg.file_new[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_new_submit_" + i + "\" onclick=\"file_submit('" + data.msg.file_new[i].fileurl + "','" + data.msg.file_new[i].home + "','" + data.msg.file_new[i].mulu + "','" + data.msg.file_new[i].file + "')\" type=\"button\" class=\"btn btn-success btn-sm\">立即更新</button></div></div></div>");
}
}
}
if (data.msg.file_md5.length > 0) {
json_data = true;
$("#file_list").append('<div class="card" id="file_md5"><div class="card-body" id="file_md5_home"><h4 class="mt-0 mb-3">被修改的文件(' + data.msg.file_md5.length + '</h4></div></div>');
for (var i in data.msg.file_md5) { //遍历json数组时,这么写p为索引,0,1
var mulu = data.msg.file_md5[i].mulu;
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', '_');
}
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', '');
}
if (!document.getElementById("file_md5_" + data.msg.file_md5[i].home + "_" + mulu)) {
$("#file_md5_home").append("<div class=\"media mt-2\" id=\"file_md5_home_list\"><img class=\"mr-3 avatar-sm\" src=\"../assets/images/Folder.png\" style=\"width:2rem!important;height:2rem!important\"><div class=\"media-body\"><h6 class=\"mt-0\">文件夹</h5>路径:extend/" + data.msg.file_md5[i].home + "/" + data.msg.file_md5[i].mulu + "<div id=\"file_md5_" + data.msg.file_md5[i].home + "_" + mulu + "\"><div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_md5[i].nav + "</h5>文件名:" + data.msg.file_md5[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_md5[i].version + "<br>文件MD5" + data.msg.file_md5[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_md5_submit_" + i + "\" onclick=\"file_submit('file_md5_submit_" + i + "','" + data.msg.file_md5[i].fileurl + "','" + data.msg.file_md5[i].home + "','" + data.msg.file_md5[i].mulu + "','" + data.msg.file_md5[i].file + "')\" type=\"button\" class=\"btn btn-dark btn-sm\">立即覆盖</button></div></div></div></div></div></div>");
} else {
$("#file_md5_" + data.msg.file_md5[i].home + "_" + mulu).append("<div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_md5[i].nav + "</h5>文件名:" + data.msg.file_md5[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_md5[i].version + "<br>文件MD5" + data.msg.file_md5[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_md5_submit_" + i + "\" onclick=\"file_submit('file_md5_submit_" + i + "','" + data.msg.file_md5[i].fileurl + "','" + data.msg.file_md5[i].home + "','" + data.msg.file_md5[i].mulu + "','" + data.msg.file_md5[i].file + "')\" type=\"button\" class=\"btn btn-dark btn-sm\">立即覆盖</button></div></div></div>");
}
}
}
if (data.msg.file_lose.length > 0) {
json_data = true;
$("#file_list").append('<div class="card" id="file_lose"><div class="card-body" id="file_lose_home"><h4 class="mt-0 mb-3">缺失的文件(' + data.msg.file_lose.length + '</h4></div></div>');
for (var i in data.msg.file_lose) { //遍历json数组时,这么写p为索引,0,1
var mulu = data.msg.file_lose[i].mulu;
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', "_");
}
if (mulu.indexOf("/") != -1) {
mulu = mulu.replace('/', '');
}
if (!document.getElementById("file_lose_" + data.msg.file_lose[i].home + "_" + mulu)) {
$("#file_lose_home").append("<div class=\"media mt-2\" id=\"file_lose_home_list\"><img class=\"mr-3 avatar-sm\" src=\"../assets/images/Folder.png\" style=\"width:2rem!important;height:2rem!important\"><div class=\"media-body\"><h6 class=\"mt-0\">文件夹</h5>路径:extend/" + data.msg.file_lose[i].home + "/" + data.msg.file_lose[i].mulu + "<div id=\"file_lose_" + data.msg.file_lose[i].home + "_" + mulu + "\"><div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_lose[i].nav + "</h5>文件名:" + data.msg.file_lose[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_lose[i].version + "<br>文件MD5" + data.msg.file_lose[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_lose_submit_" + i + "\" onclick=\"file_submit('file_lose_submit_" + i + "','" + data.msg.file_lose[i].fileurl + "','" + data.msg.file_lose[i].home + "','" + data.msg.file_lose[i].mulu + "','" + data.msg.file_lose[i].file + "')\" type=\"button\" class=\"btn btn-danger btn-sm\">立即下载</button></div></div></div></div></div></div>");
} else {
$("#file_lose_" + data.msg.file_lose[i].home + "_" + mulu).append("<div class=\"media mt-3\"><a class=\"pr-3\"><img src=\"../assets/images/phpfile.png\" class=\"avatar-sm\" style=\"width:2rem!important;height:2rem!important\"></a><div class=\"media-body\"><h5 class=\"mt-0\">" + data.msg.file_lose[i].nav + "</h5>文件名:" + data.msg.file_lose[i].file + "&nbsp;&nbsp;&nbsp;&nbsp;版本:" + data.msg.file_lose[i].version + "<br>文件MD5" + data.msg.file_lose[i].md5 + "</div><div class=\"text-right\"><div class=\"btn-group mb-2 ml-2\"><button id=\"file_lose_submit_" + i + "\" onclick=\"file_submit('file_lose_submit_" + i + "','" + data.msg.file_lose[i].fileurl + "','" + data.msg.file_lose[i].home + "','" + data.msg.file_lose[i].mulu + "','" + data.msg.file_lose[i].file + "')\" type=\"button\" class=\"btn btn-danger btn-sm\">立即下载</button></div></div></div>");
}
}
}
if (json_data == false) {
$("#file_list").append('<div class="card"><div class="text-center" style="margin-top:8rem!important;margin-bottom:8rem!important"><img src="../assets/images/normal.svg" height="80" alt="File not found Image"><h4 class="text-uppercase mt-3">你的系统非常棒,没有任何问题</h4></div></div>');
}
} else {
$("#file_list").append('<div class="card"><div class="text-center" style="margin-bottom:8rem!important"><img src="../assets/images/upgrade.svg" width="100%" alt="File not found Image"><h4 class="text-uppercase mt-3 mb-4">当前程序需要升级至' + data.msg.edition + '</h4><a href="' + data.msg.new_url + '" target="_blank"><button type="button" class="btn btn-danger">立即升级</button></a></div></div>');
}
},
error: function(xhr, state, errorThrown) {
document.getElementById("loading").setAttribute("hidden", true);
$("#file_list").append('<div class="card"><div class="text-center" style="margin-top:8rem!important;margin-bottom:8rem!important"><img src="../assets/images/maintenance.svg" height="120" alt="File not found Image"><h4 class="text-uppercase mt-3 mb-4">服务器数据读取获失败,请刷新重试</h4><a href="./?web_file"><button type="button" class="btn btn-dark">立即刷新</button></a></div></div>');
}
});
</script>
+248
View File
@@ -0,0 +1,248 @@
<?php
/*
Sort:1
Hidden:false
icons:mdi mdi-cogs
Name:系统设置
Url:web_set
Version:1.0
Author:易如意
QQ51154393
Urlwww.eruyi.cn
*/
if (!isset($islogin)) header("Location: /"); //非法访问拦截
?>
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">首页</a></li>
<li class="breadcrumb-item active">设置</li>
</ol>
</div>
<h4 class="page-title"><?php echo $title; ?></h4>
</div> <!-- end page-title-box -->
</div> <!-- end col-->
</div>
<!-- end page title -->
<!-- end row -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<form action="" method="post" id="addimg" name="addimg">
<div class="form-row">
<div class="form-group col-md-12">
<label class="col-form-label">错误输出</label>
<select class="form-control" name="app_debug" id="app_debug">
<option value="0" <?php if (APP_DEBUG == 0) echo 'selected = "selected"'; ?>>关闭</option>
<option value="1" <?php if (APP_DEBUG == 1) echo 'selected = "selected"'; ?>>开启</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label class="col-form-label">数据输出格式</label>
<select class="form-control" name="default_return_type" id="default_return_type">
<option value="0" <?php if (DEFAULT_RETURN_TYPE == 0) echo 'selected = "selected"'; ?>>JSON</option>
<option value="1" <?php if (DEFAULT_RETURN_TYPE == 1) echo 'selected = "selected"'; ?>>XML</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">用户在线状态有效期</label>
<div class="input-group">
<input type="number" class="form-control" id="user_token_time" name="user_token_time" placeholder="用户在线状态有效期" value="<?php echo USER_TOKEN_TIME; ?>" required>
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">秒</span>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">后台管理每页数据</label>
<div class="input-group">
<input type="number" class="form-control" id="data_page_enums" name="data_page_enums" placeholder="后台管理每页数据" value="<?php echo DATA_PAGE_ENUMS; ?>" required>
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">条</span>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">系统时区</label> <a href='https://www.php.net/manual/en/timezones.php' target="_blank">查看合法时区的列表</a>
<input type="text" class="form-control" id="default_timezone" name="default_timezone" placeholder="系统时区" value="<?php echo DEFAULT_TIMEZONE; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label class="col-form-label">首页模板目录</label>
<select class="form-control" name="index_template" id="index_template">
<?php $template_arr = myScanDir(FCPATH . 'template/', 1);
foreach ($template_arr as $value) { ?>
<option value="<?php echo $value; ?>" <?php if (INDEX_TEMPLATE == $value) echo 'selected = "selected"'; ?>><?php echo $value; ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="f_user" class="col-form-label">接口扩展目录</label>
<input type="text" class="form-control" id="api_extend_mulu" name="api_extend_mulu" placeholder="接口扩展目录" value="<?php echo API_EXTEND_MULU; ?>" required>
</div>
<div class="form-group col-md-6">
<label for="f_user" class="col-form-label">后台扩展目录</label>
<input type="text" class="form-control" id="adm_extend_mulu" name="adm_extend_mulu" placeholder="后台扩展目录" value="<?php echo ADM_EXTEND_MULU; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="f_user" class="col-form-label">用户头像目录</label>
<input type="text" class="form-control" id="user_pic_mulu" name="user_pic_mulu" placeholder="用户头像目录" value="<?php echo USER_PIC_MULU; ?>" required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label class="col-form-label">管理员操作日志</label>
<select class="form-control" name="adm_log" id="adm_log">
<option value="0" <?php if (ADM_LOG == 0) echo 'selected = "selected"'; ?>>关闭</option>
<option value="1" <?php if (ADM_LOG == 1) echo 'selected = "selected"'; ?>>开启</option>
</select>
</div>
<div class="form-group col-md-6">
<label class="col-form-label">用户操作日志</label>
<select class="form-control" name="user_log" id="user_log">
<option value="0" <?php if (USER_LOG == 0) echo 'selected = "selected"'; ?>>关闭</option>
<option value="1" <?php if (USER_LOG == 1) echo 'selected = "selected"'; ?>>开启</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="f_user" class="col-form-label">日志保留</label>
<div class="input-group">
<input type="number" class="form-control" id="log_del" name="log_del" placeholder="日志保留天数" value="<?php echo LOG_DEL; ?>" required>
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">天</span>
</div>
</div>
</div>
<div class="form-group col-md-8">
<label class="col-form-label">日志KEY</label>
<div class="input-group">
<input type="text" class="form-control" id="log_key" name="log_key" value="<?php echo LOG_KEY; ?>">
<div class="input-group-append">
<button class="btn btn-success" type="button" id="bian_key">随机更换KEY</button>
</div>
</div>
</div>
</div>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<strong>提示 - </strong> 自动清理日志功能需要使用《计划任务》,任务API(每天/次)<?php echo dirname(WEB_URL) . '/api.php?act=log&key='; ?><span id='log_key_url'><?php echo LOG_KEY; ?></span>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="ok" name="ok" value="y" required>
<label class="custom-control-label" for="ok">确认是我操作</label>
</div>
</div>
<button type="submit" class="btn btn-block btn-primary" name="submit" id="submit" value="确认">确认修改</button>
</form>
</div> <!-- end card-body -->
</div> <!-- end card-->
</div> <!-- end col -->
</div>
<script>
$('#submit').click(function() {
let t = window.jQuery;
var app_debug = $("select[name='app_debug']").val();
var default_return_type = $("select[name='default_return_type']").val();
var user_token_time = $("input[name='user_token_time']").val();
var data_page_enums = $("input[name='data_page_enums']").val();
var default_timezone = $("input[name='default_timezone']").val();
var index_template = $("select[name='index_template']").val();
var api_extend_mulu = $("input[name='api_extend_mulu']").val();
var adm_extend_mulu = $("input[name='adm_extend_mulu']").val();
var user_pic_mulu = $("input[name='user_pic_mulu']").val();
var adm_log = $("select[name='adm_log']").val();
var user_log = $("select[name='user_log']").val();
var log_del = $("input[name='log_del']").val();
var log_key = $("input[name='log_key']").val();
var ok = document.getElementById("ok").checked;
if (!ok) {
t.NotificationApp.send("提示", "请确认是我操作", "top-center", "rgba(0,0,0,0.2)", "warning")
return false;
}
document.getElementById('submit').innerHTML = "<span class=\"spinner-border spinner-border-sm mr-1\" role=\"status\" aria-hidden=\"true\"></span>正在修改";
document.getElementById('submit').disabled = true;
$.ajax({
cache: false,
type: "POST", //请求的方式
url: "ajax.php?act=web_set", //请求的文件名
data: {
app_debug: app_debug,
default_return_type: default_return_type,
user_token_time: user_token_time,
data_page_enums: data_page_enums,
default_timezone: default_timezone,
index_template: index_template,
api_extend_mulu: api_extend_mulu,
adm_extend_mulu: adm_extend_mulu,
user_pic_mulu: user_pic_mulu,
adm_log: adm_log,
user_log: user_log,
log_del: log_del,
log_key: log_key
},
dataType: 'json',
success: function(data) {
console.log(data);
document.getElementById('submit').disabled = false;
document.getElementById('submit').innerHTML = "确认修改";
if (data.code == 200) {
document.getElementById('log_key_url').innerHTML = log_key;
t.NotificationApp.send("成功", data.msg, "top-center", "rgba(0,0,0,0.2)", "success")
document.getElementById("ok").checked = false;
//window.setTimeout("window.location='"+window.location.href+"'",1000);
} else {
t.NotificationApp.send("失败", data.msg, "top-center", "rgba(0,0,0,0.2)", "error")
}
}
});
return false; //重要语句:如果是像a链接那种有href属性注册的点击事件,可以阻止它跳转。
});
$('#bian_key').click(function() {
var log_key = randomString(32);
$("#log_key").val(log_key);
});
function randomString(len) {
len = len || 32;
var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
var maxPos = $chars.length;
var pwd = '';
for (i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
</script>