站点启停

pull/109/head
Mr Chen 6 years ago
parent cb92790935
commit 1f26c46340
  1. 53
      class/core/site_api.py
  2. 27
      route/static/app/site.js

@ -80,6 +80,59 @@ class site_api:
return public.returnJson(True, '修改成功!')
return public.returnJson(False, '修改失败!')
def stopApi(self):
mid = request.form.get('id', '').encode('utf-8')
name = request.form.get('name', '').encode('utf-8')
path = self.setupPath + '/stop'
if not os.path.exists(path):
os.makedirs(path)
public.writeFile(path + '/index.html',
'The website has been closed!!!')
binding = public.M('binding').where('pid=?', (mid,)).field(
'id,pid,domain,path,port,addtime').select()
for b in binding:
bpath = path + '/' + b['path']
if not os.path.exists(bpath):
public.execShell('mkdir -p ' + bpath)
public.execShell('ln -sf ' + path +
'/index.html ' + bpath + '/index.html')
sitePath = public.M('sites').where("id=?", (mid,)).getField('path')
# nginx
file = self.getHostConf(name)
conf = public.readFile(file)
if conf:
conf = conf.replace(sitePath, path)
public.writeFile(file, conf)
public.M('sites').where("id=?", (mid,)).setField('status', '0')
public.restartWeb()
msg = public.getInfo('网站[{1}]已被停用!', (name,))
public.writeLog('网站管理', msg)
return public.returnJson(True, '站点已停用!')
def startApi(self):
mid = request.form.get('id', '').encode('utf-8')
name = request.form.get('name', '').encode('utf-8')
path = self.setupPath + '/stop'
sitePath = public.M('sites').where("id=?", (mid,)).getField('path')
# nginx
file = self.getHostConf(name)
conf = public.readFile(file)
if conf:
conf = conf.replace(path, sitePath)
public.writeFile(file, conf)
public.M('sites').where("id=?", (mid,)).setField('status', '1')
public.restartWeb()
msg = public.getInfo('网站[{1}]已被启用!', (name,))
public.writeLog('网站管理', msg)
return public.returnJson(True, '站点已启用!')
def getBackupApi(self):
limit = request.form.get('limit', '').encode('utf-8')
p = request.form.get('p', '').encode('utf-8')

@ -37,7 +37,7 @@ function getWeb(page, search) {
var backup = "<a href='javascript:;' class='btlink' onclick=\"getBackup(" + data.data[i].id + ")\">无备份</a>";
}
//是否设置有效期
var web_end_time = (data.data[i].edate == "0000-00-00") ? lan.site.web_end_time : data.data[i].edate;
var web_end_time = (data.data[i].edate == "0000-00-00") ? '永久': data.data[i].edate;
//表格主体
var shortwebname = data.data[i].name;
var shortpath = data.data[i].path;
@ -53,13 +53,13 @@ function getWeb(page, search) {
<td><a class='btlink webtips' href='javascript:;' onclick=\"webEdit(" + data.data[i].id + ",'" + data.data[i].name + "','" + data.data[i].edate + "','" + data.data[i].addtime + "')\" title='"+data.data[i].name+"'>" + shortwebname + "</td>\
<td>" + status + "</td>\
<td>" + backup + "</td>\
<td><a class='btlink' title='"+lan.site.open_path_txt+data.data[i].path+"' href=\"javascript:openPath('"+data.data[i].path+"');\">" + shortpath + "</a></td>\
<td><a class='btlink' title='打开目录"+data.data[i].path+"' href=\"javascript:openPath('"+data.data[i].path+"');\">" + shortpath + "</a></td>\
<td><a class='btlink setTimes' id='site_"+data.data[i].id+"' data-ids='"+data.data[i].id+"'>" + web_end_time + "</a></td>\
<td><a class='btlinkbed' href='javascript:;' data-id='"+data.data[i].id+"'>" + data.data[i].ps + "</a></td>\
<td><input class='btswitch btswitch-ios' id='closewaf_"+idname+"' type='checkbox'><label class='btswitch-btn' for='closewaf_"+idname+"' onclick=\"set_site_obj_state('" + data.data[i].name + "','open')\" style='width:2.4em;height:1.4em;margin-bottom: 0'></label></td>\
<td style='text-align:right; color:#bbb'>\
<a href='javascript:;' class='btlink' onclick=\"webEdit(" + data.data[i].id + ",'" + data.data[i].name + "','" + data.data[i].edate + "','" + data.data[i].addtime + "')\">"+lan.site.set+" </a>\
| <a href='javascript:;' class='btlink' onclick=\"webDelete('" + data.data[i].id + "','" + data.data[i].name + "')\" title='"+lan.site.site_del_title+"'>"+lan.public.del+"</a>\
<a href='javascript:;' class='btlink' onclick=\"webEdit(" + data.data[i].id + ",'" + data.data[i].name + "','" + data.data[i].edate + "','" + data.data[i].addtime + "')\">设置</a>\
| <a href='javascript:;' class='btlink' onclick=\"webDelete('" + data.data[i].id + "','" + data.data[i].name + "')\" title='删除站点'>删除</a>\
</td></tr>"
$("#webBody").append(body);
@ -117,8 +117,8 @@ function getWeb(page, search) {
$(".btlinkbed").click(function(){
var dataid = $(this).attr("data-id");
var databak = $(this).text();
if(databak==lan.site.site_null){
databak='';
if(databak == null){
databak = '';
}
$(this).hide().after("<input class='baktext' type='text' data-id='"+dataid+"' name='bak' value='" + databak + "' placeholder='备注信息' onblur='getBakPost(\"sites\")' />");
$(".baktext").focus();
@ -476,15 +476,14 @@ function setIndexEdit(id){
* @param {String} wname 网站名称
*/
function webStop(wid, wname) {
layer.confirm(lan.site.site_stop_txt, {icon:3,closeBtn:2},function(index) {
layer.confirm('站点停用后将无法访问,您真的要停用这个站点吗?', {icon:3,closeBtn:2},function(index) {
if (index > 0) {
var loadT = layer.load()
$.post("/site?action=SiteStop","id=" + wid + "&name=" + wname, function(ret) {
var loadT = layer.load();
$.post("/site/stop","id=" + wid + "&name=" + wname, function(ret) {
layer.msg(ret.msg,{icon:ret.status?1:2})
layer.close(loadT);
getWeb(1);
});
},'json');
}
});
}
@ -495,14 +494,14 @@ function webStop(wid, wname) {
* @param {String} wname 网站名称
*/
function webStart(wid, wname) {
layer.confirm(lan.site.site_start_txt,{icon:3,closeBtn:2}, function(index) {
layer.confirm('即将启动站点,您真的要启用这个站点吗?',{icon:3,closeBtn:2}, function(index) {
if (index > 0) {
var loadT = layer.load()
$.post("/site?action=SiteStart","id=" + wid + "&name=" + wname, function(ret) {
$.post("/site/start","id=" + wid + "&name=" + wname, function(ret) {
layer.msg(ret.msg,{icon:ret.status?1:2})
layer.close(loadT);
getWeb(1);
});
},'json');
}
});
}

Loading…
Cancel
Save