better-staridc-MNBT
1<!DOCTYPE html>
2<html lang="zh">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<meta http-equiv="X-UA-Compatible" content="IE=edge">
6<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
7<meta name="keywords" content="MNBT后台">
8<meta name="description" content="MNBT后台">
9<meta name="author" content="yinq">
10<title>MN宝塔主机系统-后台管理</title>
11<link rel="icon" href="<?=mnbt_asset_url('images/logo-ico.png')?>" type="image/ico">
12<meta name="apple-mobile-web-app-capable" content="yes">
13<meta name="apple-touch-fullscreen" content="yes">
14<meta name="apple-mobile-web-app-status-bar-style" content="default">
15<link rel="stylesheet" type="text/css" href="<?=mnbt_asset_url('css/materialdesignicons.min.css')?>">
16<link rel="stylesheet" type="text/css" href="<?=mnbt_asset_url('css/bootstrap.min.css')?>">
17<link rel="stylesheet" type="text/css" href="<?=mnbt_asset_url('js/bootstrap-multitabs/multitabs.min.css')?>">
18<link rel="stylesheet" type="text/css" href="<?=mnbt_asset_url('css/animate.min.css')?>">
19<link rel="stylesheet" type="text/css" href="<?=mnbt_asset_url('css/style.min.css')?>">
20<script type="text/javascript" src="<?=mnbt_asset_url('js/fn-hs.js')?>"></script>
21<style>
22.textmntti {
23 margin: 2px 10px;
24}
25@keyframes rotate {
26 100%{-webkit-transform:rotate(360deg);}
27}
28
29#iframe_shuax{
30 cursor:pointer;
31}
32
33.modal-content{
34 box-shadow: 0 0 10px -1px;
35}
36</style>
37</head>
38
39<body>
40<div class="lyear-layout-web">
41 <div class="lyear-layout-container">
42 <!--左侧导航-->
43 <aside class="lyear-layout-sidebar">
44
45 <!-- logo -->
46 <div id="logo" class="sidebar-header"> <a href="index.php"> <img src="<?=mnbt_asset_url('admin_logo/logo.index.png')?>" title="MN_logo" alt="MN_logo" /> </a> </div>
47 <div class="lyear-layout-sidebar-info lyear-scroll">
48 <nav class="sidebar-main">
49 <ul class="nav-drawer">
50 <li class="nav-item active">
51 <a href="sy.php" class="multitabs"><i class="mdi mdi-home"></i><span>后台首页</span></a>
52 </li>
53
54 <li class="nav-item nav-item-has-subnav">
55 <a href="javascript:void(0)"><i class="mdi mdi-console"></i><span>系统管理</span></a>
56 <ul class="nav nav-subnav">
57 <li><a class="multitabs" href="set.php?gn=wz">网站设置</a></li>
58 <li><a class="multitabs" href="set.php?gn=gl">管理设置</a></li>
59 <li><a class="multitabs" href="set.php?gn=api">API设置</a></li>
60 <li><a class="multitabs" href="set.php?gn=mail">邮箱设置</a></li>
61 <li><a class="multitabs" href="set.php?gn=kzmb">控制面板管理</a></li>
62 <li><a class="multitabs" href="update.php">系统更新</a></li>
63 <li><a class="multitabs" href="list.php?gn=log">操作日志</a></li>
64 </ul>
65 </li>
66
67 <li class="nav-item">
68 <a href="pay_settings.php" class="multitabs"><i class="mdi mdi-credit-card-outline"></i><span>支付设置</span></a>
69 </li>
70
71 <li class="nav-item">
72 <a href="set.php?gn=theme" class="multitabs"><i class="mdi mdi-palette"></i><span>前端模板</span></a>
73 </li>
74
75 <li class="nav-item">
76 <a href="plugin.php" class="multitabs"><i class="mdi mdi-puzzle-outline"></i><span>插件列表</span></a>
77 </li>
78
79 <?php
80 if (function_exists('mnbt_plugin_render_menu_admin_html')) {
81 echo mnbt_plugin_render_menu_admin_html();
82 }
83 ?>
84
85 <li class="nav-item nav-item-has-subnav">
86 <a href="javascript:void(0)"><i class="mdi mdi-locker-multiple"></i><span>主机管理</span></a>
87 <ul class="nav nav-subnav">
88 <li><a class="multitabs" href="list.php?gn=zj">主机列表</a></li>
89 <li><a class="multitabs" href="add.php?gn=zj">添加主机</a></li>
90 </ul>
91 </li>
92
93 <li class="nav-item nav-item-has-subnav">
94 <a href="javascript:void(0)"><i class="mdi mdi-server-network"></i><span>节点与宝塔</span></a>
95 <ul class="nav nav-subnav">
96 <li><a class="multitabs" href="list.php?gn=bt">宝塔列表</a></li>
97 <li><a class="multitabs" href="add.php?gn=bt">添加宝塔</a></li>
98 <li><a class="multitabs" href="node.php">节点列表</a></li>
99 <li><a class="multitabs" href="node.php?tab=scan">违禁词扫描</a></li>
100 </ul>
101 </li>
102
103 <!-- 域名管理已迁移至 domain_shop 插件,由 mnbt_plugin_render_menu_admin_html() 渲染 -->
104
105 <li class="nav-item nav-item-has-subnav">
106 <a href="javascript:void(0)"><i class="mdi mdi-webpack"></i><span>一键部署</span></a>
107 <ul class="nav nav-subnav">
108 <li><a class="multitabs" href="list.php?gn=dd">订单列表</a></li>
109 <li><a class="multitabs" href="list.php?gn=cx">程序列表</a></li>
110 <li><a class="multitabs" href="add.php?gn=cx">添加程序</a></li>
111 <li><a class="multitabs" href="add.php?gn=dr">导入程序</a></li>
112 </ul>
113 </li>
114
115 <li class="nav-item nav-item-has-subnav">
116 <a href="javascript:void(0)"><i class="mdi mdi-monitor-dashboard"></i><span>监控与教程</span></a>
117 <ul class="nav nav-subnav">
118 <li><a class="multitabs" href="set.php?gn=jk">监控主机删除设置</a></li>
119 <li><a class="multitabs" href="tutorial.php">教程及监控</a></li>
120 </ul>
121 </li>
122
123 <li class="nav-item nav-item-has-subnav">
124 <a href="javascript:void(0)"><i class="mdi mdi-package-variant-closed"></i><span>Docker 管理</span></a>
125 <ul class="nav nav-subnav">
126 <li><a class="multitabs" href="docker.php?gn=node">节点管理</a></li>
127 <li><a class="multitabs" href="add.php?gn=dknode">添加 Docker 节点</a></li>
128 <li><a class="multitabs" href="docker.php?gn=user">Docker 用户</a></li>
129 <li><a class="multitabs" href="docker.php?gn=plan">套餐管理</a></li>
130 </ul>
131 </li>
132
133 <li class="nav-item">
134 <a href="javascript:void(0)" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo" data-backdrop="false"><i class="mdi mdi-backup-restore"></i><span>系统修复</span></a>
135 </li>
136 </ul>
137 </nav>
138 <div class="sidebar-footer">
139 <p class="copyright">Copyright © 2026. <a target="_blank"
140 href="http://mf.mengnai.top/">梦奈云</a> All rights reserved.</p>
141 </div>
142 </div>
143 </aside>
144 <!--End 左侧导航-->
145
146 <!--头部信息-->
147 <header class="lyear-layout-header">
148 <nav class="navbar">
149 <div class="navbar-left">
150 <div class="lyear-aside-toggler float-left"> <span class="lyear-toggler-bar"></span> <span class="lyear-toggler-bar"></span> <span class="lyear-toggler-bar"></span> </div>
151 <i class="ml-2 mdi mdi-refresh mdi-18px" id="iframe_shuax"></i>
152 </div>
153 <ul class="navbar-right d-flex align-items-center">
154 <!--切换主题配色-->
155 <li class="dropdown dropdown-skin"> <span data-toggle="dropdown" class="icon-item"> <i class="mdi mdi-palette"></i> </span>
156 <ul class="dropdown-menu dropdown-menu-right" data-stopPropagation="true">
157 <li class="drop-title">
158 <p>LOGO</p>
159 </li>
160 <li class="drop-skin-li clearfix"> <span class="inverse">
161 <input type="radio" name="logo_bg" value="default" id="logo_bg_1" checked>
162 <label for="logo_bg_1"></label>
163 </span> <span>
164 <input type="radio" name="logo_bg" value="color_2" id="logo_bg_2">
165 <label for="logo_bg_2"></label>
166 </span> <span>
167 <input type="radio" name="logo_bg" value="color_3" id="logo_bg_3">
168 <label for="logo_bg_3"></label>
169 </span> <span>
170 <input type="radio" name="logo_bg" value="color_4" id="logo_bg_4">
171 <label for="logo_bg_4"></label>
172 </span> <span>
173 <input type="radio" name="logo_bg" value="color_5" id="logo_bg_5">
174 <label for="logo_bg_5"></label>
175 </span> <span>
176 <input type="radio" name="logo_bg" value="color_6" id="logo_bg_6">
177 <label for="logo_bg_6"></label>
178 </span> <span>
179 <input type="radio" name="logo_bg" value="color_7" id="logo_bg_7">
180 <label for="logo_bg_7"></label>
181 </span> <span>
182 <input type="radio" name="logo_bg" value="color_8" id="logo_bg_8">
183 <label for="logo_bg_8"></label>
184 </span> </li>
185 <li class="drop-title">
186 <p>头部</p>
187 </li>
188 <li class="drop-skin-li clearfix"> <span class="inverse">
189 <input type="radio" name="header_bg" value="default" id="header_bg_1"
190 checked>
191 <label for="header_bg_1"></label>
192 </span> <span>
193 <input type="radio" name="header_bg" value="color_2" id="header_bg_2">
194 <label for="header_bg_2"></label>
195 </span> <span>
196 <input type="radio" name="header_bg" value="color_3" id="header_bg_3">
197 <label for="header_bg_3"></label>
198 </span> <span>
199 <input type="radio" name="header_bg" value="color_4" id="header_bg_4">
200 <label for="header_bg_4"></label>
201 </span> <span>
202 <input type="radio" name="header_bg" value="color_5" id="header_bg_5">
203 <label for="header_bg_5"></label>
204 </span> <span>
205 <input type="radio" name="header_bg" value="color_6" id="header_bg_6">
206 <label for="header_bg_6"></label>
207 </span> <span>
208 <input type="radio" name="header_bg" value="color_7" id="header_bg_7">
209 <label for="header_bg_7"></label>
210 </span> <span>
211 <input type="radio" name="header_bg" value="color_8" id="header_bg_8">
212 <label for="header_bg_8"></label>
213 </span> </li>
214 <li class="drop-title">
215 <p>侧边栏</p>
216 </li>
217 <li class="drop-skin-li clearfix"> <span class="inverse">
218 <input type="radio" name="sidebar_bg" value="default" id="sidebar_bg_1"
219 checked>
220 <label for="sidebar_bg_1"></label>
221 </span> <span>
222 <input type="radio" name="sidebar_bg" value="color_2" id="sidebar_bg_2">
223 <label for="sidebar_bg_2"></label>
224 </span> <span>
225 <input type="radio" name="sidebar_bg" value="color_3" id="sidebar_bg_3">
226 <label for="sidebar_bg_3"></label>
227 </span> <span>
228 <input type="radio" name="sidebar_bg" value="color_4" id="sidebar_bg_4">
229 <label for="sidebar_bg_4"></label>
230 </span> <span>
231 <input type="radio" name="sidebar_bg" value="color_5" id="sidebar_bg_5">
232 <label for="sidebar_bg_5"></label>
233 </span> <span>
234 <input type="radio" name="sidebar_bg" value="color_6" id="sidebar_bg_6">
235 <label for="sidebar_bg_6"></label>
236 </span> <span>
237 <input type="radio" name="sidebar_bg" value="color_7" id="sidebar_bg_7">
238 <label for="sidebar_bg_7"></label>
239 </span> <span>
240 <input type="radio" name="sidebar_bg" value="color_8" id="sidebar_bg_8">
241 <label for="sidebar_bg_8"></label>
242 </span> </li>
243 </ul>
244 </li>
245 <!--切换主题配色-->
246 <li class="dropdown dropdown-profile"> <a href="javascript:void(0)" data-toggle="dropdown" class="dropdown-toggle"> <img class="img-avatar img-avatar-48 m-r-10" src="<?=mnbt_asset_url('admin_logo/logo.head.png')?>"
247 alt="Admin" /> <span>超级管理员</span> </a>
248 <ul class="dropdown-menu dropdown-menu-right">
249 <li> <a class="multitabs dropdown-item" data-url="./set.php?gn=wz"
250 href="javascript:void(0)"> <i class="mdi mdi-account"></i>网站设置 </a> </li>
251 <li> <a class="multitabs dropdown-item" data-url="./set.php?gn=gl"
252 href="javascript:void(0)"> <i class="mdi mdi-lock-outline"></i> 修改密码 </a> </li>
253 <li> <a href="javascript:void(0)" class="dropdown-item" id="xfmr" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo" data-backdrop="false"> <i class="mdi mdi-backup-restore"></i> 系统修复 </a> </li>
254 <li> <a class="dropdown-item" href="javascript:void(0)"> <i
255 class="mdi mdi-delete"></i> 清空缓存 </a> </li>
256 <li class="dropdown-divider"></li>
257 <li> <a class="dropdown-item" onclick="chteci();"> <i
258 class="mdi mdi-logout-variant"></i> 退出登录 </a> </li>
259 </ul>
260 </li>
261 </ul>
262 </nav>
263 </header>
264 <!--End 头部信息-->
265
266 <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
267 <div class="modal-dialog" role="document">
268 <div class="modal-content">
269 <div class="modal-header">
270 <h6 class="modal-title" id="exampleModalChangeTitle">系统修复</h6>
271 <?php if(!$mn_conf['xf']['qk']){
272 echo '<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>';
273 }?>
274 </div>
275 <div class="textmntti">
276 <?php
277 if($mn_conf['xf']['qk']){
278 echo '<p><b>在本次更新后您必须进行一次修复!</b></p>
279 <p><b>需要修复的功能已经默认选中!请勿更改,否则将继续进行本提示!现在您仅需要点击下方的确认修复按钮!</b></p>
280 ';
281 }?>
282 <p>系统修复可以修复由于版本更新导致的数据变更和旧版本的数据不支持新版本的错误!也能删除新版本废除的旧文件!</p>
283 </div>
284 <div class="modal-body">
285 <div class="form-group">
286 <label class="col-xs-12" for="example-multiple-select">请选择要修复的(可多选)</label>
287 <div class="col-xs-12">
288 <select class="form-control" id="xzdcp" name="xzdcp" size="5" multiple>
289 <option value="1" <?php if(strpos($mn_conf['xf']['gne'],'1')!==false && $mn_conf['xf']['qk'])echo 'selected="selected"' ; ?>>同步主机ID(迁移宝塔后必须执行!也能修复主机的数据混乱)</option>
290 <option value="3" <?php if(strpos($mn_conf['xf']['gne'],'3')!==false && $mn_conf['xf']['qk'])echo 'selected="selected"' ; ?>>无用文件删除</option>
291 <!--<option value="4">数据库检测</option>-->
292 </select>
293 </div>
294 </div>
295 <br />
296 <br />
297 <br />
298 <br />
299 </div>
300 <div class="modal-footer">
301 <?php if(!$mn_conf['xf']['qk']){
302 echo '<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>';
303 }?>
304 <button type="button" class="btn btn-primary" onclick="xt_xf()">确认修复</button>
305 </div>
306 </div>
307 </div>
308 </div>
309
310 <!--页面主要内容-->
311 <main class="lyear-layout-content">
312 <div id="iframe-content"></div>
313 </main>
314 <!--End 页面主要内容-->
315 </div>
316</div>
317<script type="text/javascript" src="<?=mnbt_asset_url('js/jquery.min.js')?>"></script>
318<script type="text/javascript" src="<?=mnbt_asset_url('js/popper.min.js')?>"></script>
319<script type="text/javascript" src="<?=mnbt_asset_url('js/bootstrap.min.js')?>"></script>
320<script type="text/javascript" src="<?=mnbt_asset_url('js/perfect-scrollbar.min.js')?>"></script>
321<script type="text/javascript" src="<?=mnbt_asset_url('js/bootstrap-multitabs/multitabs.min.js')?>"></script>
322<script type="text/javascript" src="<?=mnbt_asset_url('js/jquery.cookie.min.js')?>"></script>
323<script type="text/javascript" src="<?=mnbt_asset_url('js/index.min.js')?>"></script>
324
325<!--消息提示-->
326<script type="text/javascript" src="<?=mnbt_asset_url('js/bootstrap.min.js')?>"></script>
327<script type="text/javascript" src="<?=mnbt_asset_url('js/lyear-loading.js')?>"></script>
328<script type="text/javascript" src="<?=mnbt_asset_url('js/main.min.js')?>"></script>
329<script type="text/javascript" src="<?=mnbt_asset_url('js/fn-hs.js')?>"></script>
330<script type="text/javascript" src="<?=mnbt_asset_url('js/bootstrap-notify.min.js')?>"></script>
331<script type="text/javascript">
332 <?php if($mn_conf['xf']['qk']){
333 echo '$("#xfmr").trigger("click");';
334 }?>
335 function xt_xf() {
336 var json="";
337 var xzd=document.getElementById("xzdcp");;
338 for(i=0;i<xzd.length;i++){
339 if(xzd.options[i].selected){
340 if(json==""){
341 var json='"'+i+'":'+xzd[i].value;
342 var str=xzd[i].value;
343 }else{
344 var json=json+',"'+i+'":'+xzd[i].value;
345 var str=str+','+xzd[i].value;
346 }
347 }
348 }
349 if(json!=""){
350 var json="{"+json+"}";
351 }else{
352 msalert(3,'请选择要修复哪些功能',2000,"#exampleModal");
353 msloadingde();
354 return;
355 }
356 msloading('正在修复中,请稍后...','text-info','text-info'); // 加载显示
357 let data = {};
358 data["gn"]="xtxf";
359 data["xx"]=json;
360 data["xe"]=str;
361 $.post('./ajax.php', data, function (date) {
362 var jsoe= JSON.parse(date);
363 var qk= jsoe.code
364 msalert(1,qk,2000);
365 window.location.href="./"
366 })
367
368 }
369
370 function chteci() {
371 msloading('正在退出登录中...','text-info','text-info'); // 加载显示
372 let data = {};
373 data["gn"]="login";
374 data["logout"]="tclogin";
375 $.post('./ajax.php', data, function (date) {
376 var jsoe= JSON.parse(date);
377 var qk= jsoe.code
378 msalert(1,qk,2000);
379 window.location.href="./login.php"
380 msloadingde();
381 })
382 }
383
384 //页面刷新
385 $("#iframe_shuax").on('click',function(){
386 var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('a.active');
387 var ifarid=$thisTabs.attr('data-id');
388 //旋转动画
389 $(this).css({animation: "rotate 0.5s linear 1",display: "inline-block"});
390 setTimeout(function(){$("#iframe_shuax").removeAttr('style');},500);
391 //页面loading
392 $('#'+ifarid).contents().find('body').html('<link href="<?=mnbt_asset_url('css/index.loading.css')?>" rel="stylesheet"><div class="loading_upds"><div class="ctn-preloader"><div class="round_spinner"><div class="spinner"></div><img src="<?=mnbt_asset_url('admin_logo/logo.head.png')?>" alt=""></div</div></div>');
393
394 $('#'+ifarid).attr('src', $('#'+ifarid).attr('src')); //刷新子页面
395 })
396
397 //导航栏处点击导航加载
398 $(".multitabs").on('click',function(){
399 setTimeout(function() {
400 var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('a.active');
401 var ifarid=$thisTabs.attr('data-id');
402 var htmlfr=$('#'+ifarid).contents().find('body').html();
403 if(htmlfr==''){
404 //页面loading
405 $('#'+ifarid).contents().find('body').html('<link href="<?=mnbt_asset_url('css/style.min.css')?>" rel="stylesheet"><link href="<?=mnbt_asset_url('css/bootstrap.min.css')?>" rel="stylesheet"><link href="<?=mnbt_asset_url('css/index.loading.css')?>" rel="stylesheet"><div class="loading_upds"><div class="ctn-preloader"><div class="round_spinner"><div class="spinner"></div><img src="<?=mnbt_asset_url('upload_logo/logo.head.png')?>" alt=""></div</div></div>');
406 }
407 }, 10);
408 });
409
410
411 setTimeout(function(){
412 $('#multitabs_main_0').contents().find('body').html('<link href="<?=mnbt_asset_url('css/style.min.css')?>" rel="stylesheet"><link href="<?=mnbt_asset_url('css/bootstrap.min.css')?>" rel="stylesheet"><link href="<?=mnbt_asset_url('css/index.loading.css')?>" rel="stylesheet"><div class="loading_upds"><div class="ctn-preloader"><div class="round_spinner"><div class="spinner"></div><img src="<?=mnbt_asset_url('upload_logo/logo.head.png')?>?<?=$conf['auther']?>" alt=""></div</div></div>');
413 },1)
414 </script>
415</body>
416</html>