SakuraPanel/modules/settings.php
2020-01-18 05:51:45 +08:00

230 lines
7.3 KiB
PHP
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace SakuraPanel;
use SakuraPanel;
$page_title = "站点设置";
$um = new SakuraPanel\UserManager();
$nm = new SakuraPanel\NodeManager();
$pm = new SakuraPanel\ProxyManager();
$rs = Database::querySingleLine("users", Array("username" => $_SESSION['user']));
if(!$rs || $rs['group'] !== "admin") {
exit("<script>location='?page=panel';</script>");
}
$broadcast = SakuraPanel\Settings::get("broadcast");
$helpinfo = SakuraPanel\Settings::get("helpinfo");
?>
<style type="text/css">
.fix-text p {
margin-bottom: 4px;
}
.infotable th {
width: 30%;
}
#broadcast, #helpinfo {
width: 100%;
height: 256px;
max-width: 100%;
min-width: 100%;
min-height: 256px;
}
</style>
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark"><?php echo $page_title; ?>&nbsp;&nbsp;<small class="text-muted text-xs">更改网站的相关设置</small></h1></div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item">
<a href="?">主页</a></li>
<li class="breadcrumb-item active"><?php echo $page_title; ?></li></ol>
</div>
</div>
</div>
</div>
<div class="content">
<div class="container-fluid">
<div class="row">
<div class="col-lg-8">
<div class="card">
<div class="card-header border-0">
<div class="d-flex justify-content-between">
<h3 class="card-title">编辑公告</h3>
</div>
</div>
<div class="card-body">
<p style="margin-top: -16px;">在此处填写公告内容,支持 Markdown 语法。</p>
<textarea class="form-control" id="broadcast"><?php echo $broadcast; ?></textarea>
</div>
<div class="card-footer">
<button type="button" class="btn btn-default" onclick="preview(broadcast.value)">预览更改</button>
<button type="button" class="btn btn-primary float-right" onclick="saveBroadcast()">保存修改</button>
</div>
</div>
<div class="card">
<div class="card-header border-0">
<div class="d-flex justify-content-between">
<h3 class="card-title">编辑帮助</h3>
</div>
</div>
<div class="card-body">
<p style="margin-top: -16px;">在此处填写帮助内容,让用户更好的了解如何使用,支持 Markdown 语法。</p>
<textarea class="form-control" id="helpinfo"><?php echo $helpinfo; ?></textarea>
</div>
<div class="card-footer">
<button type="button" class="btn btn-default" onclick="preview(helpinfo.value)">预览更改</button>
<button type="button" class="btn btn-primary float-right" onclick="saveHelpInfo()">保存修改</button>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header border-0">
<div class="d-flex justify-content-between">
<h3 class="card-title">站点信息</h3>
</div>
</div>
<div class="card-body fix-text table-responsive p-0">
<table class="table table-striped table-valign-middle infotable" style="width: 100%;font-size: 15px;margin-top: 0px;margin-bottom: 0px;">
<tr>
<th>版本</th>
<td><?php echo SakuraPanel\Utils::PANEL_VERSION; ?></td>
</tr>
<tr>
<th>服务器程序</th>
<td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td>
</tr>
<tr>
<th>运行模式</th>
<td><?php echo php_sapi_name(); ?></td>
</tr>
<tr>
<th>授权类型</th>
<td>免费版 (仅限非商业使用)</td>
</tr>
<tr>
<th>注册用户数</th>
<td><?php echo $um->getTotalUsers(); ?></td>
</tr>
<tr>
<th>服务器节点数</th>
<td><?php echo $nm->getTotalNodes(); ?></td>
</tr>
<tr>
<th>映射隧道数</th>
<td><?php echo $pm->getTotalProxies(); ?></td>
</tr>
<tr>
<th>更新检查</th>
<td id="updateinfo">正在检查更新...</td>
</tr>
</table>
<p style="padding: 12px;">&copy; 2019-<?php echo date("Y"); ?> SakuraPanel</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal-default" style="display: none;" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="msg-title"></h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span></button>
</div>
<div class="modal-body" id="msg-body"></div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">确定</button></div>
</div>
</div>
</div>
<script type="text/javascript">
var csrf_token = "<?php echo $_SESSION['token']; ?>";
function alertMessage(title, body) {
$("#msg-title").html(title);
$("#msg-body").html(body);
$("#modal-default").modal('toggle');
}
function saveBroadcast() {
var htmlobj = $.ajax({
type: 'POST',
url: "?action=updatebroadcast&page=panel&module=settings&csrf=" + csrf_token,
async:true,
data: {
data: $("#broadcast").val()
},
error: function() {
alert("错误:" + htmlobj.responseText);
return;
},
success: function() {
alert(htmlobj.responseText);
return;
}
});
}
function saveHelpInfo() {
var htmlobj = $.ajax({
type: 'POST',
url: "?action=updatehelpinfo&page=panel&module=settings&csrf=" + csrf_token,
async:true,
data: {
data: $("#helpinfo").val()
},
error: function() {
alert("错误:" + htmlobj.responseText);
return;
},
success: function() {
alert(htmlobj.responseText);
return;
}
});
}
function preview(data) {
var htmlobj = $.ajax({
type: 'POST',
url: "?action=preview&page=panel&module=settings&csrf=" + csrf_token,
async:true,
data: {
data: data
},
error: function() {
alertMessage("发生错误", htmlobj.responseText);
return;
},
success: function() {
alertMessage("预览更改", htmlobj.responseText);
return;
}
});
}
function checkUpdate() {
$("#updateinfo").html("正在检查更新...");
var htmlobj = $.ajax({
type: 'GET',
url: "https://cdn.zerodream.net/panel/update.php?s=SakuraPanel&version=<?php echo urlencode(SakuraPanel\Utils::PANEL_VERSION); ?>",
async:true,
error: function() {
$("#updateinfo").html("检查更新出错:" + htmlobj.responseText);
return;
},
success: function() {
try {
var json = JSON.parse(htmlobj.responseText);
$("#updateinfo").html("最新版本:" + json.version + "<br>更新内容:" + json.message);
} catch(e) {
}
return;
}
});
}
window.onload = checkUpdate;
</script>