fix
pull/109/head
midoks 6 years ago
parent 09edd6b8be
commit b518724a76
  1. 11
      class/core/config_api.py
  2. 37
      class/core/files_api.py
  3. 22
      route/static/app/files.js

@ -16,15 +16,8 @@ from flask import request
class config_api:
# 本版解决自启动问题
# openresty 自启动 done
# php 自启动 done
# mysql 自启动 done
# memcached 自启动 done
# redis 自启动 done
# pureftp 自启动 done
# sphinx 自启动 done
# 修复rsync自启动问题
__version = '0.6.0'
# 文件管理重命名
__version = '0.7.1'
def __init__(self):
pass

@ -61,6 +61,27 @@ class files_api:
path = request.form.get('path', '').encode('utf-8')
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')
if not self.checkFileName(get.dfile):
return public.returnJson(False, '文件名中不能包含特殊字符!')
if not os.path.exists(get.sfile):
return public.returnJson(False, '指定文件不存在!')
if not self.checkDir(get.sfile):
return public.returnJson(False, 'FILE_DANGER')
import shutil
try:
shutil.move(sfile, dfile)
msg = public.getInfo('移动文件或目录[{1}]到[{2}]成功!', (sfile, dfile,))
public.writeLog('文件管理', msg)
return public.returnJson(True, '移动文件或目录成功!')
except:
return public.returnJson(False, '移动文件或目录失败!')
def deleteApi(self):
path = request.form.get('path', '').encode('utf-8')
return self.delete(path)
@ -73,26 +94,28 @@ class files_api:
def setFileAccessApi(self):
if public.isAppleSystem():
return public.returnJson(True,'开发机不设置!')
return public.returnJson(True, '开发机不设置!')
filename = request.form.get('filename', '').encode('utf-8')
user = request.form.get('user', '').encode('utf-8')
access = request.form.get('access', '755')
sall = '-R'
try:
if not self.checkDir(filename):
if not self.checkDir(filename):
return public.returnJson(False, '请不要花样作死')
if not os.path.exists(filename):
return public.returnJson(False,'指定文件不存在!')
return public.returnJson(False, '指定文件不存在!')
os.system('chmod ' + sall + ' ' + access + " '" + filename + "'")
os.system('chown ' + sall + ' ' + user + ':' + user + " '" + filename + "'")
msg = public.getInfo('设置[{1}]权限为[{2}]所有者为[{3}]', (filename,access,user,))
os.system('chown ' + sall + ' ' + user +
':' + user + " '" + filename + "'")
msg = public.getInfo(
'设置[{1}]权限为[{2}]所有者为[{3}]', (filename, access, user,))
public.writeLog('文件管理', msg)
return public.returnJson(True,'设置成功!')
return public.returnJson(True, '设置成功!')
except:
return public.returnJson(False,'设置失败!')
return public.returnJson(False, '设置失败!')
def getDirSizeApi(self):
path = request.form.get('path', '').encode('utf-8')

@ -350,9 +350,9 @@ function getFiles(Path) {
<td class='editmenu'><span>\
<a class='btlink' href='javascript:;' onclick=\"CopyFile('" + rdata.PATH +"/"+ fmp[0] + "')\">复制</a> | \
<a class='btlink' href='javascript:;' onclick=\"CutFile('" + rdata.PATH +"/"+ fmp[0]+ "')\">剪切</a> | \
<a class='btlink' href=\"javascript:ReName(0,'" + fmp[0] + "');\">重命名</a> | \
<a class='btlink' href=\"javascript:reName(0,'" + fmp[0] + "');\">重命名</a> | \
<a class='btlink' href=\"javascript:setChmod(0,'" + rdata.PATH + "/"+fmp[0] + "');\">权限</a> | \
<a class='btlink' href=\"javascript:Zip('" + rdata.PATH +"/" +fmp[0] + "');\">压缩</a> | \
<a class='btlink' href=\"javascript:zip('" + rdata.PATH +"/" +fmp[0] + "');\">压缩</a> | \
<a class='btlink' href='javascript:;' onclick=\"deleteDir('" + rdata.PATH +"/"+ fmp[0] + "')\">删除</a></span>\
</td></tr>";
} else {
@ -406,9 +406,9 @@ function getFiles(Path) {
<td class='editmenu'>\
<span><a class='btlink' href='javascript:;' onclick=\"CopyFile('" + rdata.PATH +"/"+ fmp[0] + "')\">"+lan.files.file_menu_copy+"</a> | \
<a class='btlink' href='javascript:;' onclick=\"CutFile('" + rdata.PATH +"/"+ fmp[0] + "')\">"+lan.files.file_menu_mv+"</a> | \
<a class='btlink' href='javascript:;' onclick=\"ReName(0,'" + fmp[0] + "')\">"+lan.files.file_menu_rename+"</a> | \
<a class='btlink' href='javascript:;' onclick=\"reName(0,'" + fmp[0] + "')\">"+lan.files.file_menu_rename+"</a> | \
<a class='btlink' href=\"javascript:setChmod(0,'" + rdata.PATH +"/"+ fmp[0] + "');\">"+lan.files.file_menu_auth+"</a> | \
<a class='btlink' href=\"javascript:Zip('" + rdata.PATH +"/" +fmp[0] + "');\">"+lan.files.file_menu_zip+"</a> | \
<a class='btlink' href=\"javascript:zip('" + rdata.PATH +"/" +fmp[0] + "');\">"+lan.files.file_menu_zip+"</a> | \
"+bodyZip+download+"\
<a class='btlink' href='javascript:;' onclick=\"deleteFile('" + rdata.PATH +"/"+ fmp[0] + "')\">"+lan.files.file_menu_del+"</a>\
</span></td></tr>";
@ -680,7 +680,7 @@ function Batch(type,access){
names += el[i].value + ',';
}
}
Zip(names);
zip(names);
return;
}
@ -973,7 +973,7 @@ function downloadFile(action){
//重命名
function ReName(type, fileName) {
function reName(type, fileName) {
if (type == 1) {
var path = $("#DirPathPlace input").val();
var newFileName = encodeURIComponent(path + '/' + $("#newFileName").val());
@ -1003,7 +1003,7 @@ function ReName(type, fileName) {
</div>\
<div class="bt-form-submit-btn">\
<button type="button" class="btn btn-danger btn-sm btn-title" onclick="layer.closeAll()">'+lan.public.close+'</button>\
<button type="button" id="ReNameBtn" class="btn btn-success btn-sm btn-title" onclick="ReName(1,\'' + fileName.replace(/'/,"\\'") + '\')">'+lan.public.save+'</button>\
<button type="button" id="ReNameBtn" class="btn btn-success btn-sm btn-title" onclick="reName(1,\'' + fileName.replace(/'/,"\\'") + '\')">'+lan.public.save+'</button>\
</div>\
</div>'
});
@ -1097,7 +1097,7 @@ function PasteTo(path,copyName,cutName,fileName){
//压缩目录
function Zip(dirName,submits) {
function zip(dirName,submits) {
var path = $("#DirPathPlace input").val();
if(submits != undefined){
if(dirName.indexOf(',') == -1){
@ -1143,7 +1143,7 @@ function Zip(dirName,submits) {
+'</div>'
+'<div class="bt-form-submit-btn">'
+'<button type="button" class="btn btn-danger btn-sm btn-title" onclick="layer.closeAll()">'+lan.public.close+'</button>'
+'<button type="button" id="ReNameBtn" class="btn btn-success btn-sm btn-title" onclick="Zip(\'' + param + '\',1)">'+lan.files.file_menu_zip+'</button>'
+'<button type="button" id="ReNameBtn" class="btn btn-success btn-sm btn-title" onclick="zip(\'' + param + '\',1)">'+lan.files.file_menu_zip+'</button>'
+'</div>'
+'</div>'
});
@ -1417,9 +1417,9 @@ function RClick(type,path,name){
var options = {items:[
{text: lan.files.file_menu_copy, onclick: function() {CopyFile(path)}},
{text: lan.files.file_menu_mv, onclick: function() {CutFile(path)}},
{text: lan.files.file_menu_rename, onclick: function() {ReName(0,name)}},
{text: lan.files.file_menu_rename, onclick: function() {reName(0,name)}},
{text: lan.files.file_menu_auth, onclick: function() {setChmod(0,path)}},
{text: lan.files.file_menu_zip, onclick: function() {Zip(path)}}
{text: lan.files.file_menu_zip, onclick: function() {zip(path)}}
]};
if(type == "dir"){

Loading…
Cancel
Save