This commit is contained in:
parent
1ff071a59f
commit
44c6a4ffe3
|
|
@ -274,7 +274,7 @@ class crontab_api:
|
|||
|
||||
# 取数据列表
|
||||
def getDataListApi(self):
|
||||
stype = request.form.get('type', '').encode('utf-8')
|
||||
stype = request.form.get('type', '')
|
||||
if stype == 'databases':
|
||||
db_list = {}
|
||||
db_list['orderOpt'] = []
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@ class files_api:
|
|||
|
||||
##### ----- start ----- ###
|
||||
def getBodyApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
return self.getBody(path)
|
||||
|
||||
def getLastBodyApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
line = request.form.get('line', '100')
|
||||
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -42,30 +42,30 @@ class files_api:
|
|||
return mw.returnJson(False, u'无法正确读取文件!' + str(ex))
|
||||
|
||||
def saveBodyApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
data = request.form.get('data', '').encode('utf-8')
|
||||
encoding = request.form.get('encoding', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
data = request.form.get('data', '')
|
||||
encoding = request.form.get('encoding', '')
|
||||
return self.saveBody(path, data, encoding)
|
||||
|
||||
def downloadApi(self):
|
||||
filename = request.args.get('filename', '').encode('utf-8')
|
||||
filename = request.args.get('filename', '')
|
||||
if not os.path.exists(filename):
|
||||
return ''
|
||||
response = make_response(send_from_directory(
|
||||
os.path.dirname(filename).encode('utf-8'), os.path.basename(filename).encode('utf-8'), as_attachment=True))
|
||||
os.path.dirname(filename), os.path.basename(filename), as_attachment=True))
|
||||
return response
|
||||
|
||||
def zipApi(self):
|
||||
sfile = request.form.get('sfile', '').encode('utf-8')
|
||||
dfile = request.form.get('dfile', '').encode('utf-8')
|
||||
stype = request.form.get('type', '').encode('utf-8')
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
sfile = request.form.get('sfile', '')
|
||||
dfile = request.form.get('dfile', '')
|
||||
stype = request.form.get('type', '')
|
||||
path = request.form.get('path', '')
|
||||
return self.zip(sfile, dfile, stype, path)
|
||||
|
||||
# 移动文件或目录
|
||||
def mvFileApi(self):
|
||||
sfile = request.form.get('sfile', '').encode('utf-8')
|
||||
dfile = request.form.get('dfile', '').encode('utf-8')
|
||||
sfile = request.form.get('sfile', '')
|
||||
dfile = request.form.get('dfile', '')
|
||||
if not self.checkFileName(dfile):
|
||||
return mw.returnJson(False, '文件名中不能包含特殊字符!')
|
||||
if not os.path.exists(sfile):
|
||||
|
|
@ -84,11 +84,11 @@ class files_api:
|
|||
return mw.returnJson(False, '移动文件或目录失败!')
|
||||
|
||||
def deleteApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
return self.delete(path)
|
||||
|
||||
def fileAccessApi(self):
|
||||
filename = request.form.get('filename', '').encode('utf-8')
|
||||
filename = request.form.get('filename', '')
|
||||
data = self.getAccess(filename)
|
||||
return mw.getJson(data)
|
||||
|
||||
|
|
@ -97,8 +97,8 @@ class files_api:
|
|||
if mw.isAppleSystem():
|
||||
return mw.returnJson(True, '开发机不设置!')
|
||||
|
||||
filename = request.form.get('filename', '').encode('utf-8')
|
||||
user = request.form.get('user', '').encode('utf-8')
|
||||
filename = request.form.get('filename', '')
|
||||
user = request.form.get('user', '')
|
||||
access = request.form.get('access', '755')
|
||||
sall = '-R'
|
||||
try:
|
||||
|
|
@ -119,13 +119,13 @@ class files_api:
|
|||
return mw.returnJson(False, '设置失败!')
|
||||
|
||||
def getDirSizeApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
tmp = self.getDirSize(path)
|
||||
print(tmp)
|
||||
return mw.returnJson(True, tmp[0].split()[0])
|
||||
|
||||
def getDirApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
if not os.path.exists(path):
|
||||
path = mw.getRootDir() + "/wwwroot"
|
||||
search = request.args.get('search', '').strip().lower()
|
||||
|
|
@ -138,7 +138,7 @@ class files_api:
|
|||
return self.getDir(path, int(page), int(row), search)
|
||||
|
||||
def createFileApi(self):
|
||||
file = request.form.get('path', '').encode('utf-8')
|
||||
file = request.form.get('path', '')
|
||||
try:
|
||||
if not self.checkFileName(file):
|
||||
return mw.returnJson(False, '文件名中不能包含特殊字符!')
|
||||
|
|
@ -157,7 +157,7 @@ class files_api:
|
|||
return mw.returnJson(True, '文件创建失败!')
|
||||
|
||||
def createDirApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
try:
|
||||
if not self.checkFileName(path):
|
||||
return mw.returnJson(False, '目录名中不能包含特殊字符!')
|
||||
|
|
@ -174,9 +174,9 @@ class files_api:
|
|||
def downloadFileApi(self):
|
||||
import db
|
||||
import time
|
||||
url = request.form.get('url', '').encode('utf-8')
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
filename = request.form.get('filename', '').encode('utf-8')
|
||||
url = request.form.get('url', '')
|
||||
path = request.form.get('path', '')
|
||||
filename = request.form.get('filename', '')
|
||||
|
||||
isTask = mw.getRootDir() + '/tmp/panelTask.pl'
|
||||
execstr = url + '|mw|' + path + '/' + filename
|
||||
|
|
@ -187,7 +187,7 @@ class files_api:
|
|||
return mw.returnJson(True, '已将下载任务添加到队列!')
|
||||
|
||||
def removeTaskApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
try:
|
||||
name = mw.M('tasks').where('id=?', (mid,)).getField('name')
|
||||
status = mw.M('tasks').where('id=?', (mid,)).getField('status')
|
||||
|
|
@ -221,14 +221,13 @@ done
|
|||
from werkzeug.utils import secure_filename
|
||||
from flask import request
|
||||
|
||||
path = request.args.get('path', '').encode('utf-8')
|
||||
path = request.args.get('path', '')
|
||||
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
f = request.files['zunfile']
|
||||
filename = os.path.join(path, f.filename)
|
||||
if sys.version_info[0] == 2:
|
||||
filename = filename.encode('utf-8')
|
||||
|
||||
s_path = path
|
||||
if os.path.exists(filename):
|
||||
s_path = filename
|
||||
|
|
@ -281,7 +280,7 @@ done
|
|||
# 回收站开关
|
||||
def recycleBinApi(self):
|
||||
c = 'data/recycle_bin.pl'
|
||||
db = request.form.get('db', '').encode('utf-8')
|
||||
db = request.form.get('db', '')
|
||||
if db != '':
|
||||
c = 'data/recycle_bin_db.pl'
|
||||
if os.path.exists(c):
|
||||
|
|
@ -295,7 +294,7 @@ done
|
|||
|
||||
def reRecycleBinApi(self):
|
||||
rPath = self.rPath
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
dFile = path.replace('_mw_', '/').split('_t_')[0]
|
||||
try:
|
||||
import shutil
|
||||
|
|
@ -310,8 +309,8 @@ done
|
|||
|
||||
def delRecycleBinApi(self):
|
||||
rPath = self.rPath
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
empty = request.form.get('empty', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
empty = request.form.get('empty', '')
|
||||
dFile = path.split('_t_')[0]
|
||||
|
||||
if not self.checkDir(path):
|
||||
|
|
@ -353,7 +352,7 @@ done
|
|||
return mw.returnJson(True, '已清空回收站!')
|
||||
|
||||
def deleteDirApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
if not os.path.exists(path):
|
||||
return mw.returnJson(False, '指定文件不存在!')
|
||||
|
||||
|
|
@ -380,10 +379,10 @@ done
|
|||
return mw.returnJson(True, tmp[0].split()[0])
|
||||
|
||||
def setBatchDataApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
stype = request.form.get('type', '').encode('utf-8')
|
||||
access = request.form.get('access', '').encode('utf-8')
|
||||
user = request.form.get('user', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
stype = request.form.get('type', '')
|
||||
access = request.form.get('access', '')
|
||||
user = request.form.get('user', '')
|
||||
data = request.form.get('data')
|
||||
if stype == '1' or stype == '2':
|
||||
session['selected'] = {
|
||||
|
|
@ -397,7 +396,6 @@ done
|
|||
elif stype == '3':
|
||||
for key in json.loads(data):
|
||||
try:
|
||||
key = key.encode('utf-8')
|
||||
filename = path + '/' + key
|
||||
if not self.checkDir(filename):
|
||||
return mw.returnJson(False, 'FILE_DANGER')
|
||||
|
|
@ -416,7 +414,7 @@ done
|
|||
i = 0
|
||||
for key in data:
|
||||
try:
|
||||
filename = path + '/' + key.encode('utf-8')
|
||||
filename = path + '/' + key
|
||||
topath = filename
|
||||
if not os.path.exists(filename):
|
||||
continue
|
||||
|
|
@ -444,8 +442,8 @@ done
|
|||
return mw.returnJson(True, '批量删除成功!')
|
||||
|
||||
def checkExistsFilesApi(self):
|
||||
dfile = request.form.get('dfile', '').encode('utf-8')
|
||||
filename = request.form.get('filename', '').encode('utf-8')
|
||||
dfile = request.form.get('dfile', '')
|
||||
filename = request.form.get('filename', '')
|
||||
data = []
|
||||
filesx = []
|
||||
if filename == '':
|
||||
|
|
@ -469,9 +467,9 @@ done
|
|||
return mw.returnJson(True, 'ok', data)
|
||||
|
||||
def batchPasteApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
stype = request.form.get('type', '').encode('utf-8')
|
||||
# filename = request.form.get('filename', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
stype = request.form.get('type', '')
|
||||
# filename = request.form.get('filename', '')
|
||||
import shutil
|
||||
if not self.checkDir(path):
|
||||
return mw.returnJson(False, '请不要花样作死!')
|
||||
|
|
@ -485,8 +483,8 @@ done
|
|||
try:
|
||||
|
||||
sfile = session['selected'][
|
||||
'path'] + '/' + key.encode('utf-8')
|
||||
dfile = path + '/' + key.encode('utf-8')
|
||||
'path'] + '/' + key
|
||||
dfile = path + '/' + key
|
||||
|
||||
if os.path.isdir(sfile):
|
||||
shutil.copytree(sfile, dfile)
|
||||
|
|
@ -506,8 +504,8 @@ done
|
|||
mw.writeSpeed(key, i, l)
|
||||
|
||||
sfile = session['selected'][
|
||||
'path'] + '/' + key.encode('utf-8')
|
||||
dfile = path + '/' + key.encode('utf-8')
|
||||
'path'] + '/' + key
|
||||
dfile = path + '/' + key
|
||||
|
||||
shutil.move(sfile, dfile)
|
||||
except:
|
||||
|
|
@ -522,8 +520,8 @@ done
|
|||
return mw.returnJson(True, msg)
|
||||
|
||||
def copyFileApi(self):
|
||||
sfile = request.form.get('sfile', '').encode('utf-8')
|
||||
dfile = request.form.get('dfile', '').encode('utf-8')
|
||||
sfile = request.form.get('sfile', '')
|
||||
dfile = request.form.get('dfile', '')
|
||||
|
||||
if not os.path.exists(sfile):
|
||||
return mw.returnJson(False, '指定文件不存在!')
|
||||
|
|
@ -564,6 +562,7 @@ done
|
|||
|
||||
# 检查敏感目录
|
||||
def checkDir(self, path):
|
||||
path = str(path, encoding='utf-8')
|
||||
path = path.replace('//', '/')
|
||||
if path[-1:] == '/':
|
||||
path = path[:-1]
|
||||
|
|
@ -808,18 +807,14 @@ done
|
|||
break
|
||||
if i < pageObj[1].SHIFT:
|
||||
continue
|
||||
|
||||
# print(path, filename)
|
||||
try:
|
||||
filePath = str(path, encoding='utf-8') + '/' + \
|
||||
str(filename, encoding='utf-8')
|
||||
filePath = path + '/' + filename
|
||||
link = ''
|
||||
if os.path.islink(filePath):
|
||||
filePath = os.readlink(filePath)
|
||||
link = ' -> ' + str(filePath, encoding='utf-8')
|
||||
link = ' -> ' + filePath
|
||||
if not os.path.exists(filePath):
|
||||
filePath = str(path, encoding='utf-8') + \
|
||||
'/' + str(filePath, encoding='utf-8')
|
||||
filePath = path + '/' + filePath
|
||||
if not os.path.exists(filePath):
|
||||
continue
|
||||
|
||||
|
|
@ -834,17 +829,17 @@ done
|
|||
|
||||
size = str(stat.st_size)
|
||||
if os.path.isdir(filePath):
|
||||
dirnames.append(str(filename, encoding='utf-8') + ';' + str(size, encoding='utf-8') + ';' +
|
||||
str(mtime, encoding='utf-8') + ';' + accept + ';' + user + ';' + link)
|
||||
dirnames.append(filename + ';' + size + ';' +
|
||||
mtime + ';' + accept + ';' + user + ';' + link)
|
||||
else:
|
||||
filenames.append(str(filename, encoding='utf-8') + ';' + str(size, encoding='utf-8') + ';' +
|
||||
str(mtime, encoding='utf-8') + ';' + accept + ';' + user + ';' + link)
|
||||
filenames.append(filename + ';' + size + ';' +
|
||||
mtime + ';' + accept + ';' + user + ';' + link)
|
||||
n += 1
|
||||
except Exception as e:
|
||||
print('getdir:dd.', e)
|
||||
continue
|
||||
data['DIR'] = sorted(dirnames)
|
||||
data['FILES'] = sorted(filenames)
|
||||
data['PATH'] = str(path, encoding='utf-8').replace('//', '/')
|
||||
data['PATH'] = path.replace('//', '/')
|
||||
|
||||
return mw.getJson(data)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ import psutil
|
|||
|
||||
from flask import request
|
||||
|
||||
# request.packages.urllib3.disable_warnings()
|
||||
|
||||
|
||||
class site_api:
|
||||
siteName = None # 网站名称
|
||||
|
|
@ -51,9 +53,9 @@ class site_api:
|
|||
|
||||
##### ----- start ----- ###
|
||||
def listApi(self):
|
||||
limit = request.form.get('limit', '').encode('utf-8')
|
||||
p = request.form.get('p', '').encode('utf-8')
|
||||
type_id = request.form.get('type_id', '').encode('utf-8')
|
||||
limit = request.form.get('limit', '10')
|
||||
p = request.form.get('p', '1')
|
||||
type_id = request.form.get('type_id', '')
|
||||
|
||||
start = (int(p) - 1) * (int(limit))
|
||||
|
||||
|
|
@ -82,7 +84,7 @@ class site_api:
|
|||
return mw.getJson(_ret)
|
||||
|
||||
def setDefaultSiteApi(self):
|
||||
name = request.form.get('name', '').encode('utf-8')
|
||||
name = request.form.get('name', '')
|
||||
import time
|
||||
# 清理旧的
|
||||
defaultSite = mw.readFile('data/defaultSite.pl')
|
||||
|
|
@ -117,15 +119,15 @@ class site_api:
|
|||
return mw.getJson(data)
|
||||
|
||||
def setPsApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
ps = request.form.get('ps', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
ps = request.form.get('ps', '')
|
||||
if mw.M('sites').where("id=?", (mid,)).setField('ps', ps):
|
||||
return mw.returnJson(True, '修改成功!')
|
||||
return mw.returnJson(False, '修改失败!')
|
||||
|
||||
def stopApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
name = request.form.get('name', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
name = request.form.get('name', '')
|
||||
path = self.setupPath + '/stop'
|
||||
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -158,8 +160,8 @@ class site_api:
|
|||
return mw.returnJson(True, '站点已停用!')
|
||||
|
||||
def startApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
name = request.form.get('name', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
name = request.form.get('name', '')
|
||||
path = self.setupPath + '/stop'
|
||||
sitePath = mw.M('sites').where("id=?", (mid,)).getField('path')
|
||||
|
||||
|
|
@ -177,9 +179,9 @@ class site_api:
|
|||
return mw.returnJson(True, '站点已启用!')
|
||||
|
||||
def getBackupApi(self):
|
||||
limit = request.form.get('limit', '').encode('utf-8')
|
||||
p = request.form.get('p', '').encode('utf-8')
|
||||
mid = request.form.get('search', '').encode('utf-8')
|
||||
limit = request.form.get('limit', '')
|
||||
p = request.form.get('p', '')
|
||||
mid = request.form.get('search', '')
|
||||
|
||||
find = mw.M('sites').where("id=?", (mid,)).field(
|
||||
"id,name,path,status,ps,addtime,edate").find()
|
||||
|
|
@ -201,7 +203,7 @@ class site_api:
|
|||
return mw.getJson(_ret)
|
||||
|
||||
def toBackupApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
find = mw.M('sites').where(
|
||||
"id=?", (mid,)).field('name,path,id').find()
|
||||
fileName = find['name'] + '_' + \
|
||||
|
|
@ -228,7 +230,7 @@ class site_api:
|
|||
return mw.returnJson(True, '备份成功!')
|
||||
|
||||
def delBackupApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
filename = mw.M('backup').where(
|
||||
"id=?", (mid,)).getField('filename')
|
||||
if os.path.exists(filename):
|
||||
|
|
@ -243,8 +245,8 @@ class site_api:
|
|||
return self.getPhpVersion()
|
||||
|
||||
def setPhpVersionApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
version = request.form.get('version', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
version = request.form.get('version', '')
|
||||
|
||||
# nginx
|
||||
file = self.getHostConf(siteName)
|
||||
|
|
@ -261,12 +263,12 @@ class site_api:
|
|||
return mw.returnJson(True, msg)
|
||||
|
||||
def getDomainApi(self):
|
||||
pid = request.form.get('pid', '').encode('utf-8')
|
||||
pid = request.form.get('pid', '')
|
||||
return self.getDomain(pid)
|
||||
|
||||
# 获取站点所有域名
|
||||
def getSiteDomainsApi(self):
|
||||
pid = request.form.get('id', '').encode('utf-8')
|
||||
pid = request.form.get('id', '')
|
||||
|
||||
data = {}
|
||||
domains = mw.M('domain').where(
|
||||
|
|
@ -287,7 +289,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', data)
|
||||
|
||||
def getDirBindingApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
|
||||
path = mw.M('sites').where('id=?', (mid,)).getField('path')
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -323,7 +325,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', data)
|
||||
|
||||
def getDirUserIniApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
|
||||
path = mw.M('sites').where('id=?', (mid,)).getField('path')
|
||||
name = mw.M('sites').where("id=?", (mid,)).getField('name')
|
||||
|
|
@ -338,7 +340,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', data)
|
||||
|
||||
def setDirUserIniApi(self):
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
path = request.form.get('path', '')
|
||||
filename = path + '/.user.ini'
|
||||
self.delUserInI(path)
|
||||
if os.path.exists(filename):
|
||||
|
|
@ -350,7 +352,7 @@ class site_api:
|
|||
return mw.returnJson(True, '已打开防跨站设置!')
|
||||
|
||||
def logsOpenApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
name = mw.M('sites').where("id=?", (mid,)).getField('name')
|
||||
|
||||
# NGINX
|
||||
|
|
@ -387,7 +389,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', [])
|
||||
|
||||
def getSslApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
|
||||
path = self.sslDir + siteName
|
||||
csrpath = path + "/fullchain.pem" # 生成证书路径
|
||||
|
|
@ -414,9 +416,9 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', data)
|
||||
|
||||
def setSslApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
key = request.form.get('key', '').encode('utf-8')
|
||||
csr = request.form.get('csr', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
key = request.form.get('key', '')
|
||||
csr = request.form.get('csr', '')
|
||||
|
||||
path = self.sslDir + siteName
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -471,8 +473,8 @@ class site_api:
|
|||
return mw.returnJson(True, '证书已保存!')
|
||||
|
||||
def setCertToSiteApi(self):
|
||||
certName = request.form.get('certName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
certName = request.form.get('certName', '')
|
||||
siteName = request.form.get('siteName', '')
|
||||
try:
|
||||
path = self.sslDir + siteName
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -489,7 +491,7 @@ class site_api:
|
|||
return mw.returnJson(False, '设置错误,' + str(ex))
|
||||
|
||||
def removeCertApi(self):
|
||||
certName = request.form.get('certName', '').encode('utf-8')
|
||||
certName = request.form.get('certName', '')
|
||||
try:
|
||||
path = self.sslDir + certName
|
||||
if not os.path.exists(path):
|
||||
|
|
@ -500,7 +502,7 @@ class site_api:
|
|||
return mw.returnJson(False, '删除失败!')
|
||||
|
||||
def closeSslConfApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
|
||||
file = self.getHostConf(siteName)
|
||||
conf = mw.readFile(file)
|
||||
|
|
@ -548,12 +550,12 @@ class site_api:
|
|||
return mw.returnJson(True, 'SSL已关闭!')
|
||||
|
||||
def createLetApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
updateOf = request.form.get('updateOf', '')
|
||||
domains = request.form.get('domains', '').encode('utf-8')
|
||||
force = request.form.get('force', '').encode('utf-8')
|
||||
renew = request.form.get('renew', '').encode('utf-8')
|
||||
email_args = request.form.get('email', '').encode('utf-8')
|
||||
domains = request.form.get('domains', '')
|
||||
force = request.form.get('force', '')
|
||||
renew = request.form.get('renew', '')
|
||||
email_args = request.form.get('email', '')
|
||||
|
||||
domains = json.loads(domains)
|
||||
email = mw.M('users').getField('email')
|
||||
|
|
@ -693,7 +695,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'OK', result)
|
||||
|
||||
def httpToHttpsApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
file = self.getHostConf(siteName)
|
||||
conf = mw.readFile(file)
|
||||
if conf:
|
||||
|
|
@ -712,7 +714,7 @@ class site_api:
|
|||
return mw.returnJson(True, '设置成功!证书也要设置好哟!')
|
||||
|
||||
def closeToHttpsApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
file = self.getHostConf(siteName)
|
||||
conf = mw.readFile(file)
|
||||
if conf:
|
||||
|
|
@ -726,65 +728,65 @@ class site_api:
|
|||
return mw.returnJson(True, '关闭HTTPS跳转成功!')
|
||||
|
||||
def getIndexApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
data = {}
|
||||
index = self.getIndex(sid)
|
||||
data['index'] = index
|
||||
return mw.getJson(data)
|
||||
|
||||
def setIndexApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
index = request.form.get('index', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
index = request.form.get('index', '')
|
||||
return self.setIndex(sid, index)
|
||||
|
||||
def getLimitNetApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
return self.getLimitNet(sid)
|
||||
|
||||
def saveLimitNetApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
perserver = request.form.get('perserver', '').encode('utf-8')
|
||||
perip = request.form.get('perip', '').encode('utf-8')
|
||||
limit_rate = request.form.get('limit_rate', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
perserver = request.form.get('perserver', '')
|
||||
perip = request.form.get('perip', '')
|
||||
limit_rate = request.form.get('limit_rate', '')
|
||||
return self.saveLimitNet(sid, perserver, perip, limit_rate)
|
||||
|
||||
def closeLimitNetApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
return self.closeLimitNet(sid)
|
||||
|
||||
def getSecurityApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
name = request.form.get('name', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
name = request.form.get('name', '')
|
||||
return self.getSecurity(sid, name)
|
||||
|
||||
def setSecurityApi(self):
|
||||
fix = request.form.get('fix', '').encode('utf-8')
|
||||
domains = request.form.get('domains', '').encode('utf-8')
|
||||
status = request.form.get('status', '').encode('utf-8')
|
||||
name = request.form.get('name', '').encode('utf-8')
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
fix = request.form.get('fix', '')
|
||||
domains = request.form.get('domains', '')
|
||||
status = request.form.get('status', '')
|
||||
name = request.form.get('name', '')
|
||||
sid = request.form.get('id', '')
|
||||
return self.setSecurity(sid, name, fix, domains, status)
|
||||
|
||||
def getLogsApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
return self.getLogs(siteName)
|
||||
|
||||
def getSitePhpVersionApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
return self.getSitePhpVersion(siteName)
|
||||
|
||||
def getHostConfApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
host = self.getHostConf(siteName)
|
||||
return mw.getJson({'host': host})
|
||||
|
||||
def getRewriteConfApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
rewrite = self.getRewriteConf(siteName)
|
||||
return mw.getJson({'rewrite': rewrite})
|
||||
|
||||
def getRewriteTplApi(self):
|
||||
tplname = request.form.get('tplname', '').encode('utf-8')
|
||||
tplname = request.form.get('tplname', '')
|
||||
file = mw.getRunDir() + '/rewrite/nginx/' + tplname + '.conf'
|
||||
if not os.path.exists(file):
|
||||
return mw.returnJson(False, '模版不存在!')
|
||||
|
|
@ -800,16 +802,16 @@ class site_api:
|
|||
return mw.getJson(data)
|
||||
|
||||
def setEndDateApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
edate = request.form.get('edate', '').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
edate = request.form.get('edate', '')
|
||||
return self.setEndDate(sid, edate)
|
||||
|
||||
def addApi(self):
|
||||
webname = request.form.get('webinfo', '').encode('utf-8')
|
||||
ps = request.form.get('ps', '').encode('utf-8')
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
version = request.form.get('version', '').encode('utf-8')
|
||||
port = request.form.get('port', '').encode('utf-8')
|
||||
webname = request.form.get('webinfo', '')
|
||||
ps = request.form.get('ps', '')
|
||||
path = request.form.get('path', '')
|
||||
version = request.form.get('version', '')
|
||||
port = request.form.get('port', '').decode('utf-8')
|
||||
return self.add(webname, port, ps, path, version)
|
||||
|
||||
def addDomainApi(self):
|
||||
|
|
@ -817,8 +819,8 @@ class site_api:
|
|||
if isError != True:
|
||||
return mw.returnJson(False, 'ERROR: 检测到配置文件有错误,请先排除后再操作<br><br><a style="color:red;">' + isError.replace("\n", '<br>') + '</a>')
|
||||
|
||||
domain = request.form.get('domain', '').encode('utf-8')
|
||||
webname = request.form.get('webname', '').encode('utf-8')
|
||||
domain = request.form.get('domain', '')
|
||||
webname = request.form.get('webname', '')
|
||||
pid = request.form.get('id', '').encode('utf-8')
|
||||
if len(domain) < 3:
|
||||
return mw.returnJson(False, '域名不能为空!')
|
||||
|
|
@ -864,9 +866,9 @@ class site_api:
|
|||
return mw.returnJson(True, '域名添加成功!')
|
||||
|
||||
def addDirBindApi(self):
|
||||
pid = request.form.get('id', '').encode('utf-8')
|
||||
domain = request.form.get('domain', '').encode('utf-8')
|
||||
dirName = request.form.get('dirName', '').encode('utf-8')
|
||||
pid = request.form.get('id', '')
|
||||
domain = request.form.get('domain', '')
|
||||
dirName = request.form.get('dirName', '')
|
||||
tmp = domain.split(':')
|
||||
domain = tmp[0]
|
||||
port = '80'
|
||||
|
|
@ -926,7 +928,7 @@ class site_api:
|
|||
return mw.returnJson(True, '添加成功!')
|
||||
|
||||
def delDirBindApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
binding = mw.M('binding').where(
|
||||
"id=?", (mid,)).field('id,pid,domain,path').find()
|
||||
siteName = mw.M('sites').where(
|
||||
|
|
@ -954,8 +956,8 @@ class site_api:
|
|||
|
||||
# 取子目录Rewrite
|
||||
def getDirBindRewriteApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
add = request.form.get('add', '0').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
add = request.form.get('add', '0')
|
||||
find = mw.M('binding').where(
|
||||
"id=?", (mid,)).field('id,pid,domain,path').find()
|
||||
site = mw.M('sites').where(
|
||||
|
|
@ -990,8 +992,8 @@ class site_api:
|
|||
|
||||
# 修改物理路径
|
||||
def setPathApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
path = request.form.get('path', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
path = request.form.get('path', '')
|
||||
|
||||
path = self.getPath(path)
|
||||
if path == "" or mid == '0':
|
||||
|
|
@ -1028,8 +1030,8 @@ class site_api:
|
|||
|
||||
# 设置当前站点运行目录
|
||||
def setSiteRunPathApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
runPath = request.form.get('runPath', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
runPath = request.form.get('runPath', '')
|
||||
siteName = mw.M('sites').where('id=?', (mid,)).getField('name')
|
||||
sitePath = mw.M('sites').where('id=?', (mid,)).getField('path')
|
||||
|
||||
|
|
@ -1051,9 +1053,9 @@ class site_api:
|
|||
|
||||
# 设置目录加密
|
||||
def setHasPwdApi(self):
|
||||
username = request.form.get('username', '').encode('utf-8')
|
||||
password = request.form.get('password', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
username = request.form.get('username', '')
|
||||
password = request.form.get('password', '')
|
||||
siteName = request.form.get('siteName', '')
|
||||
mid = request.form.get('id', '')
|
||||
|
||||
if len(username.strip()) == 0 or len(password.strip()) == 0:
|
||||
|
|
@ -1098,7 +1100,7 @@ class site_api:
|
|||
|
||||
# 取消目录加密
|
||||
def closeHasPwdApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
mid = request.form.get('id', '')
|
||||
if siteName == '':
|
||||
siteName = mw.M('sites').where('id=?', (mid,)).getField('name')
|
||||
|
|
@ -1120,9 +1122,9 @@ class site_api:
|
|||
return mw.returnJson(True, '设置成功!')
|
||||
|
||||
def delDomainApi(self):
|
||||
domain = request.form.get('domain', '').encode('utf-8')
|
||||
webname = request.form.get('webname', '').encode('utf-8')
|
||||
port = request.form.get('port', '').encode('utf-8')
|
||||
domain = request.form.get('domain', '')
|
||||
webname = request.form.get('webname', '')
|
||||
port = request.form.get('port', '')
|
||||
pid = request.form.get('id', '')
|
||||
|
||||
find = mw.M('domain').where("pid=? AND name=?",
|
||||
|
|
@ -1160,13 +1162,13 @@ class site_api:
|
|||
return mw.returnJson(True, '站点删除成功!')
|
||||
|
||||
def deleteApi(self):
|
||||
sid = request.form.get('id', '').encode('utf-8')
|
||||
webname = request.form.get('webname', '').encode('utf-8')
|
||||
path = request.form.get('path', '0').encode('utf-8')
|
||||
sid = request.form.get('id', '')
|
||||
webname = request.form.get('webname', '')
|
||||
path = request.form.get('path', '0')
|
||||
return self.delete(sid, webname, path)
|
||||
|
||||
def getProxyListApi(self):
|
||||
siteName = request.form.get('siteName', '').encode('utf-8')
|
||||
siteName = request.form.get('siteName', '')
|
||||
conf_path = self.getHostConf(siteName)
|
||||
old_conf = mw.readFile(conf_path)
|
||||
rep = "(#PROXY-START(\n|.)+#PROXY-END)"
|
||||
|
|
@ -1213,7 +1215,7 @@ class site_api:
|
|||
return mw.getJson(data)
|
||||
|
||||
def getSiteDocApi(self):
|
||||
stype = request.form.get('type', '0').strip().encode('utf-8')
|
||||
stype = request.form.get('type', '0').strip()
|
||||
vlist = []
|
||||
vlist.append('')
|
||||
vlist.append(mw.getServerDir() +
|
||||
|
|
@ -1227,7 +1229,7 @@ class site_api:
|
|||
return mw.returnJson(True, 'ok', data)
|
||||
|
||||
def addSiteTypeApi(self):
|
||||
name = request.form.get('name', '').strip().encode('utf-8')
|
||||
name = request.form.get('name', '').strip()
|
||||
if not name:
|
||||
return mw.returnJson(False, "分类名称不能为空")
|
||||
if len(name) > 18:
|
||||
|
|
@ -1240,7 +1242,7 @@ class site_api:
|
|||
return mw.returnJson(True, '添加成功!')
|
||||
|
||||
def removeSiteTypeApi(self):
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
mid = request.form.get('id', '')
|
||||
if mw.M('site_types').where('id=?', (mid,)).count() == 0:
|
||||
return mw.returnJson(False, "指定分类不存在!")
|
||||
mw.M('site_types').where('id=?', (mid,)).delete()
|
||||
|
|
@ -1249,8 +1251,8 @@ class site_api:
|
|||
|
||||
def modifySiteTypeNameApi(self):
|
||||
# 修改网站分类名称
|
||||
name = request.form.get('name', '').strip().encode('utf-8')
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
name = request.form.get('name', '').strip()
|
||||
mid = request.form.get('id', '')
|
||||
if not name:
|
||||
return mw.returnJson(False, "分类名称不能为空")
|
||||
if len(name) > 18:
|
||||
|
|
@ -1262,8 +1264,8 @@ class site_api:
|
|||
|
||||
def setSiteTypeApi(self):
|
||||
# 设置指定站点的分类
|
||||
site_ids = request.form.get('site_ids', '').encode('utf-8')
|
||||
mid = request.form.get('id', '').encode('utf-8')
|
||||
site_ids = request.form.get('site_ids', '')
|
||||
mid = request.form.get('id', '')
|
||||
site_ids = json.loads(site_ids)
|
||||
for sid in site_ids:
|
||||
print(mw.M('sites').where('id=?', (sid,)).setField('type_id', mid))
|
||||
|
|
@ -1667,7 +1669,6 @@ location /{
|
|||
mw.writeFile(rewrite_file, rewrite_content)
|
||||
|
||||
def add(self, webname, port, ps, path, version):
|
||||
|
||||
siteMenu = json.loads(webname)
|
||||
self.siteName = self.toPunycode(
|
||||
siteMenu['domain'].strip().split(':')[0]).strip()
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class task_api:
|
|||
|
||||
def listApi(self):
|
||||
|
||||
p = request.form.get('p', '1').encode('utf-8')
|
||||
p = request.form.get('p', '1')
|
||||
limit = request.form.get('limit', '10').strip()
|
||||
search = request.form.get('search', '').strip()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue