Files
aaPanel/BTPanel/templates/default/layout.html
T
2022-12-16 10:40:55 +08:00

282 lines
12 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="referer" content="never" />
<meta name="renderer" content="webkit">
<title>{{g.title}}</title>
<link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon" />
<link href="{{g.cdn_url}}/bootstrap-3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<link href="{{g.cdn_url}}/codemirror/lib/codemirror.css?20191127={{g['version']}}" rel="stylesheet" />
<link href="{{g.cdn_url}}/css/site.css?version={{g['version']}}&repair={{data['js_random']}}" rel="stylesheet" />
{% for css_f in g['other_css'] %}
<link href="{{css_f}}" rel="stylesheet" />
{% endfor %}
<!--[if lte IE 9]>
<script src="/static/js/requestAnimationFrame.js"></script>
<![endif]-->
<style>
.contextmenu {
position: absolute;
width: 120px;
background: #FFFFFF;
border-radius: 5px;
overflow: hidden;
z-index: 99999999;
}
.contextmenu li {
border-left: 3px solid transparent;
transition: ease 0.3s;
}
.contextmenu li:hover {
background: #707070;
border-left: 3px solid #333;
}
.contextmenu li a {
display: block;
padding: 5px 10px;
color: #000000;
text-decoration: none;
transition: ease 0.3s;
cursor: default;
}
.contextmenu li:hover a {
color: #fff;
}
</style>
<script type="text/javascript">
var recycle_bin_db_open = !!{{g['recycle_bin_db_open']}};
var recycle_bin_open = !!{{g['recycle_bin_open']}};
var ie_version = (function() {
var userAgent = navigator.userAgent;
var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;
var isEdge = userAgent.indexOf('Edge') > -1 && !isLessIE11;
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;
if (isLessIE11) {
var IEReg = new RegExp('MSIE (\\d+\\.\\d+);');
IEReg.test(userAgent);
var IEVersionNum = parseFloat(RegExp['$1']);
if (IEVersionNum === 7) {// IE7
return 7
} else if (IEVersionNum === 8) {// IE8
return 8
} else if (IEVersionNum === 9) {// IE9
return 9
} else if (IEVersionNum === 10) { // IE10
return 10
} else {
return 6
}
} else if (isEdge) { // edge
return 'edge'
} else if (isIE11) {// IE11
return 11
} else {// 不是ie浏览器
return -1
}
}());
if (ie_version != -1 && ie_version < 10 && ie_version != 'edge') {
window.location.href = '/tips';
}
if(ie_version != -1 && ( ie_version >= 10 || ie_version === 'edge')){
var title = document.createElement('div');
title.setAttribute('class', 'content');
title.setAttribute('style', 'height: 50px;position: absolute;top: 0;left: 0;right: 0;line-height: 50px;z-index: 9999999;background: rgba(0,0,0,.5);text-align: center;color: #ff922e;font-size: 19px;font-weight: 600;')
title.innerHTML = '<span>The current version of IE browser is too low, some functions cannot be displayed, please change to other browsers!</span><span class="compatibility_tips" style="position: absolute;right: 15px;top: 10px;font-size: 14px;display: inline-block; height: 30px;line-height: 28px;padding: 0 12px;font-weight: 500;color: #ffffff; border-radius: 4px;cursor: pointer;border: 2px solid #ffffff;font-weight: 500;">Close Tips</span>';
title.querySelector('.compatibility_tips').addEventListener('click',function(res){
var parentNode = this.parentElement;
parentNode.parentElement.removeChild(parentNode);
});
document.querySelector('html').appendChild(title);
}
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
}
</script>
</head>
<body>
<div class="bt-warp bge6">
<a style="display:none;" id="panel_debug" data="{{g['debug']}}" data-pyversion="{{g['pyversion']}}"></a>
<a style="display:none;" id="request_token_head" token="{{session['request_token_head']}}"></a>
<div id="container" class="container-fluid">
<div class="sidebar-scroll">
<div class="sidebar-auto">
<div id="task" class="task cw" onclick="messagebox()">0</div>
<h3 class="mypcip">
<span class="f14 cw">{{session['address']}}</span>
</h3>
<ul class="menu">
{% for menu in g['menus'] %}
{% if menu['href'] == g.uri %}
<li id="{{menu['id']}}" class="current"> <a class="{{menu['class']}}" href="{{menu['href']}}">{{menu['title']}}</a></li>
{% else %}
<li id="{{menu['id']}}"> <a class="{{menu['class']}}" href="{{menu['href']}}">{{menu['title']}}</a></li>
{% endif %}
{% endfor %}
</ul>
<div id="newbtpc"></div>
<div class="btpc-plus" onclick="bindBTPanel(0,'b')">+</div>
</div>
</div>
<button style="display: none;" id="bt_copys" class="bt_copy" data-clipboard-text=""></button>
<a style="display: none;" id="defaultPath">{{session['config']['sites_path']}}</a> {% block content %}{% endblock %}
<div class="footer bgw">{{session['brand']}}{{session['product']}} &copy;2014-{{session['yaer']}} {{session['brand']}} (bt.cn)
<!--<a style="margin-left:20px;color:#20a53a;" href="http://www.bt.cn/bbs" target="_blank">求助|建议请上宝塔论坛</a>-->
<a style="margin-left:20px;color:#20a53a;" href="http://forum.aapanel.com" target="_blank">{{session['bt_help']}}</a>
<a style="margin-left:20px;color:#20a53a;" href="https://doc.aapanel.com/web/#/3?page_id=117" target="_blank">Documentation</a>
</div>
</div>
<script type="text/javascript">
var recycle_bin_db_open = "{{g['recycle_bin_db_open']}}" === "1";
var recycle_bin_open = "{{g['recycle_bin_open']}}" === "1";
var update_code = "{{data['js_random']}}";
var panel_version = "{{g['version']}}";
var cdn_url = "{{g.cdn_url}}";
</script>
{% block scripts %}
<script src="{{g.cdn_url}}/js/jquery-1.10.2.min.js"></script>
<script src="{{g.cdn_url}}/layer/layer.js?version={{g['version']}}"></script>
<script src="{{g.cdn_url}}/language/{{session['lan']}}/lan.js?version={{g['version']}}&repair={{data['js_random']}}"></script>
<script src="{{g.cdn_url}}/js/clipboard.min.js" defer></script>
<script src="{{g.cdn_url}}/laydate/laydate.js" defer></script>
<script src="{{g.cdn_url}}/js/jquery.qrcode.min.js" defer></script>
<!-- 以下文件未来将被剔除 -->
<script src="{{g.cdn_url}}/js/bootstrap.min.js"></script>
<script src="{{g.cdn_url}}/js/public.js?version={{g['version']}}&repair={{data['js_random']}}"></script>
<script src="{{g.cdn_url}}/js/public_backup.js?version={{g['version']}}&repair={{data['js_random']}}"></script>
<script src="{{g.cdn_url}}/codemirror/lib/codemirror.js" defer></script>
<!-- End -->
<script type="text/javascript" src="{{g.cdn_url}}/js/tools.js?version={{g['version']}}&repair={{data['js_random']}}"></script>
{% for js_f in g['other_js'] %}
<script type="text/javascript" src="{{js_f}}"></script>
{% endfor %}
<script type="text/javascript">
$("#setBox").click(function() {
if ($(this).prop("checked")) {
$("input[name=id]").prop("checked", true);
} else {
$("input[name=id]").prop("checked", false);
}
});
setCookie('order', 'id desc');
var is_files_html = false;
var task_open = 0;
var task_close = false;
if ($(".current").attr("id") == 'memuAfiles') {
is_files_html = true;
}
function task_stat(my_init) {
if (!my_init) {
my_init = 0;
if (task_open) return;
}
if (task_close) return;
$.post('/task?action=get_task_lists', {
status: -3
}, function(task_list) {
if (task_list.length == 0) {
if (my_init && is_files_html) GetFiles(getCookie('Path'));
if (task_open) {
layer.close(task_open);
task_open = false;
}
return;
}
console.log(task_list.length)
var msg_body = '';
var is_add = false;
for (var i = 0; i < task_list.length; i++) {
if (task_list[i]['status'] == -1) {
if (!task_open || !$(".message-list").attr("class")) {
show_task();
}
if (task_list[i]['type'] == '1') {
msg_body += '<div class="mw-con">\
<ul class="waiting-down-list">\
<li>\
<div class="down-filse-name"><span class="fname" style="width:80%;" title="Downloading: ' + task_list[i].shell + '">Downloading: ' + task_list[i].shell + '</span><span style="position: absolute;left: 84%;top: 25px;color: #999;">' + task_list[i].log.pre + '%</span><span class="btlink" onclick="remove_task(' + task_list[i].id + ')" style="position: absolute;top: 25px;right: 20px;">Cancel</span></div>\
<div class="down-progress"><div class="done-progress" style="width:' + task_list[i].log.pre + '%"></div></div>\
<div class="down-info"><span class="total-size"> ' + task_list[i].log.used + '/' + ToSize(task_list[i].log.total) + '</span><span class="speed-size">' + (task_list[i].log.speed == 0 ? 'On connection..' : task_list[i].log.speed) + '/s</span><span style="margin-left: 20px;">Estimate: ' + task_list[i].log.time + '</span></div>\
</li>\
</ul>\
</div>';
} else {
msg_body += '\<div class="mw-title">\
<span style="max-width: 88%;display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">' + task_list[i].name + ': ' + task_list[i].shell + '</span><span class="btlink" onclick="remove_task(' + task_list[i].id + ')" style="position: absolute;top: 10px;right: 15px;">Cancel</span></div>\
<div class="mw-con codebg">\
<code>' + task_list[i].log + '</code>\
</div>';
}
} else {
if (!is_add) {
msg_body += '<div class="mw-title">Waiting to execute task</div><div class="mw-con"><ul class="waiting-list">';
is_add = true;
}
msg_body += '<li><span class="wt-list-name" style="width: 90%;">' + task_list[i].name + ': ' + task_list[i].shell + '</span><span class="mw-cancel" onclick="remove_task(' + task_list[i].id + ')">X</span></li>';
}
}
if (task_open) {
if (is_add) {
msg_body += '</ul></div>';
}
$(".message-list").html(msg_body);
}
if (my_init > 3) {
if (is_files_html) GetFiles(getCookie('Path'));
my_init = 1;
}
my_init += 1
setTimeout(function() {
task_stat(my_init);
}, 1000);
});
}
function show_task() {
task_open = layer.open({
type: 1,
title: "Real time task queue",
area: '500px',
closeBtn: 2,
shadeClose: false,
shade: false,
offset: 'auto',
content: '<div style="margin: 10px;" class="message-list"></div>',
cancel: function() {
task_close = true;
}
});
}
function remove_task(id) {
layer.confirm('Do you want to cancel the current task queue?', {
title: 'Cancel task queue',
icon: 0
}, function (indexs) {
layer.close(indexs);
var loadT = bt.load('Canceling task...');
$.post('/task?action=remove_task', {
id: id
}, function(rdata) {
loadT.close()
bt.msg(rdata);
});
});
}
loadScript([
'{{g.cdn_url}}/laydate/laydate.js',
'{{g.cdn_url}}/js/jquery.qrcode.min.js',
'{{g.cdn_url}}/js/clipboard.min.js'
], function(e) {});
task_stat();
</script>
{% endblock %}
</div>
</body>
</html>