mirror of
https://github.com/ZeroDream-CN/SakuraPanel.git
synced 2025-01-12 18:02:51 +08:00
230 lines
7.3 KiB
PHP
230 lines
7.3 KiB
PHP
|
<?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; ?> <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;">© 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>
|