ver4.32 release

pull/180/merge
warlee 2018-07-11 00:04:29 +08:00
parent 6084999901
commit 8aeea4a0b2
42 changed files with 1333 additions and 1196 deletions

View File

@ -1,12 +1,20 @@
### ver4.31 `2018/07/09` ### ver4.32 `2018/07/10`
----- -----
#### update: #### update:
- 修复vi语言多语言问题 - 修复vi语言多语言问题
- 分享对话框加入二维码;分享页面加入二维码; - 分享对话框加入二维码;分享页面加入二维码;
- loading图片缓存处理
- 服务器兼容处理: 子目录绑定的服务器兼容问题处理;兼容前端、后端通用处理; - 服务器兼容处理: 子目录绑定的服务器兼容问题处理;兼容前端、后端通用处理;
- IE兼容问题优化: 预览CAD报错问题处理,分享带密码的文件夹视频播放问题; - IE兼容问题优化: 预览CAD报错问题处理, 视频播放问题edge兼容性问题
- 部分服务器上传合并失败问题兼容;
- 其他优化:
- adminer登陆状态处理
- loading图片缓存处理,用户管理loading未加载问题
- 服务器开启了php缓存时更新文件丢失问题
- 编辑器文件预览出现函数列表异常
- 压缩含有逗号的文件报错
- 子目录绑定,浏览器打开文件、文件夹路径出错处理;
- 代理穿透访问时部分界面乱码问题解决
- 音乐播放器,选中多个右键播放时含有已存在播放列表文件时加入列表失败问题.
### ver4.30 `2018/07/05` ### ver4.30 `2018/07/05`

View File

@ -966,7 +966,7 @@ class explorer extends Controller{
$result = KodArchive::create($zipname,$files); $result = KodArchive::create($zipname,$files);
Hook::trigger("explorer.zipAfter",$zipname); Hook::trigger("explorer.zipAfter",$zipname);
if ($result == 0) { if ($result == 0) {
show_json("Create error!",false); show_json("压缩失败!",false);
} }
$info = LNG('zip_success').LNG('size').":".size_format(filesize($zipname)); $info = LNG('zip_success').LNG('size').":".size_format(filesize($zipname));
if ($zipPath=='') { if ($zipPath=='') {

View File

@ -262,7 +262,7 @@ class share extends Controller{
$theConfig['userConfig'] = $userConfig; $theConfig['userConfig'] = $userConfig;
$useTime = mtime() - $GLOBALS['config']['appStartTime']; $useTime = mtime() - $GLOBALS['config']['appStartTime'];
header("Content-Type: application/javascript"); header("Content-Type: application/javascript; charset=utf-8");
echo 'if(typeof(kodReady)=="undefined"){kodReady=[];}'; echo 'if(typeof(kodReady)=="undefined"){kodReady=[];}';
Hook::trigger('user.commonJs.insert',$this->in['st'],$this->in['act']); Hook::trigger('user.commonJs.insert',$this->in['st'],$this->in['act']);
echo 'AUTH=[];'; echo 'AUTH=[];';

View File

@ -295,7 +295,7 @@ class user extends Controller{
} }
$useTime = mtime() - $GLOBALS['config']['appStartTime']; $useTime = mtime() - $GLOBALS['config']['appStartTime'];
header("Content-Type: application/javascript"); header("Content-Type: application/javascript; charset=utf-8");
echo 'if(typeof(kodReady)=="undefined"){kodReady=[];}'; echo 'if(typeof(kodReady)=="undefined"){kodReady=[];}';
Hook::trigger('user.commonJs.insert',$this->in['st'],$this->in['act']); Hook::trigger('user.commonJs.insert',$this->in['st'],$this->in['act']);
echo 'AUTH='.json_encode($GLOBALS['auth']).';'; echo 'AUTH='.json_encode($GLOBALS['auth']).';';

File diff suppressed because one or more lines are too long

2
app/controller/utils.php Executable file

File diff suppressed because one or more lines are too long

View File

@ -242,13 +242,8 @@ function php_env_check(){
return $error; return $error;
} }
//提前判断版本是否一致;
function init_common(){ function check_cache(){
$GLOBALS['in'] = parse_incoming();
if(!file_exists(DATA_PATH)){
show_tips("data 目录不存在!\n\n(检查 DATA_PATH);");
}
//检查是否更新失效 //检查是否更新失效
$content = file_get_contents(BASIC_PATH.'config/version.php'); $content = file_get_contents(BASIC_PATH.'config/version.php');
$result = match($content,"'KOD_VERSION','(.*)'"); $result = match($content,"'KOD_VERSION','(.*)'");
@ -257,7 +252,13 @@ function init_common(){
请关闭缓存或稍后1分钟刷新页面再试 请关闭缓存或稍后1分钟刷新页面再试
<a href='http://www.tuicool.com/articles/QVjeu2i' target='_blank'>了解详情</a>"); <a href='http://www.tuicool.com/articles/QVjeu2i' target='_blank'>了解详情</a>");
} }
}
function init_common(){
$GLOBALS['in'] = parse_incoming();
if(!file_exists(DATA_PATH)){
show_tips("data 目录不存在!\n\n(检查 DATA_PATH);");
}
// session path create and check // session path create and check
$errorTips = "[Error Code:1002] 目录权限错误!请设置程序目录及所有子目录为读写状态, $errorTips = "[Error Code:1002] 目录权限错误!请设置程序目录及所有子目录为读写状态,
linux 运行如下指令: linux 运行如下指令:

View File

@ -79,10 +79,26 @@ function get_host() {
} }
// current request url // current request url
function this_url(){ function this_url(){
$url = get_host().$_SERVER['REQUEST_URI']; $url = rtrim(get_host(),'/').'/'.ltrim($_SERVER['REQUEST_URI'],'/');
return $url; return $url;
} }
//解决部分主机不兼容问题
function webroot_path($basic_path){
$webRoot = str_replace($_SERVER['SCRIPT_NAME'],'',$_SERVER['SCRIPT_FILENAME']);
$webRoot = rtrim(str_replace(array('\\','\/\/','\\\\'),'/',$webRoot),'/').'/';
if( substr($basic_path,0,strlen($webRoot)) == $webRoot ){
return $webRoot;
}
$webRoot = $_SERVER['DOCUMENT_ROOT'];
$webRoot = rtrim(str_replace(array('\\','\/\/','\\\\'),'/',$webRoot),'/').'/';
if( substr($basic_path,0,strlen($webRoot)) == $webRoot ){
return $webRoot;
}
return $basic_path;
}
function ua_has($str){ function ua_has($str){
if(!isset($_SERVER['HTTP_USER_AGENT'])){ if(!isset($_SERVER['HTTP_USER_AGENT'])){
return false; return false;

View File

@ -10,6 +10,7 @@
define('ARCHIVE_LIB',dirname(__FILE__).'/archiveLib/'); define('ARCHIVE_LIB',dirname(__FILE__).'/archiveLib/');
define('PCLZIP_TEMPORARY_DIR',TEMP_PATH); define('PCLZIP_TEMPORARY_DIR',TEMP_PATH);
define('PCLTAR_TEMPORARY_DIR',TEMP_PATH); define('PCLTAR_TEMPORARY_DIR',TEMP_PATH);
define('PCLZIP_SEPARATOR',';@@@,');//压缩多个文件,组成字符串分割
mk_dir(TEMP_PATH); mk_dir(TEMP_PATH);
require ARCHIVE_LIB.'pclerror.lib.php'; require ARCHIVE_LIB.'pclerror.lib.php';

View File

@ -80,9 +80,22 @@ function updateClear(){
del_dir(THE_DATA_PATH.'session'); del_dir(THE_DATA_PATH.'session');
mk_dir(THE_DATA_PATH.'session'); mk_dir(THE_DATA_PATH.'session');
mk_dir(THE_DATA_PATH.'temp/thumb'); mk_dir(THE_DATA_PATH.'temp/thumb');
updateApps(); updateApps();
updateSystemSetting(); updateSystemSetting();
check_version_ok();
@del_file(BASIC_PATH.'app/controller/util.php');
@del_file(BASIC_PATH.'README.md');
}
function check_version_ok(){
//检查是否更新失效
$content = file_get_contents(BASIC_PATH.'config/version.php');
$result = match($content,"'KOD_VERSION','(.*)'");
if($result != KOD_VERSION){
show_tips("您服务器开启了php缓存,文件更新尚未生效;
请关闭缓存或稍后1分钟刷新页面再试
<a href='http://www.tuicool.com/articles/QVjeu2i' target='_blank'>了解详情</a>");
}
} }
//APP更新覆盖 //APP更新覆盖

View File

@ -65,6 +65,8 @@ include(FUNCTION_DIR.'web.function.php');
include(FUNCTION_DIR.'file.function.php'); include(FUNCTION_DIR.'file.function.php');
include(FUNCTION_DIR.'helper.function.php'); include(FUNCTION_DIR.'helper.function.php');
include(CLASS_DIR.'I18n.class.php'); include(CLASS_DIR.'I18n.class.php');
include(BASIC_PATH.'config/version.php');
check_cache();
$config['appStartTime'] = mtime(); $config['appStartTime'] = mtime();
$config['appCharset'] = 'utf-8';//该程序整体统一编码 $config['appCharset'] = 'utf-8';//该程序整体统一编码
@ -92,17 +94,12 @@ if(isset($_COOKIE['APP_HOST'])){
define('APP_HOST',$_COOKIE['APP_HOST']); define('APP_HOST',$_COOKIE['APP_HOST']);
} }
} }
function webroot_path(){
$file = str_replace('\\','/',__FILE__);
return str_replace('config/config.php','',$file);
}
if(!defined('HOST')){ define('HOST',rtrim(get_host(),'/').'/');} if(!defined('HOST')){ define('HOST',rtrim(get_host(),'/').'/');}
if(!defined('WEB_ROOT')){ define('WEB_ROOT',webroot_path() );} if(!defined('WEB_ROOT')){ define('WEB_ROOT',webroot_path(BASIC_PATH) );}
if(!defined('APP_HOST')){ define('APP_HOST',HOST.str_replace(WEB_ROOT,'',BASIC_PATH));} //程序根目录 if(!defined('APP_HOST')){ define('APP_HOST',HOST.str_replace(WEB_ROOT,'',BASIC_PATH));} //程序根目录
define('PLUGIN_HOST',APP_HOST.str_replace(BASIC_PATH,'',PLUGIN_DIR));//插件目录 define('PLUGIN_HOST',APP_HOST.str_replace(BASIC_PATH,'',PLUGIN_DIR));//插件目录
include(CONTROLLER_DIR.'util.php'); include(CONTROLLER_DIR.'utils.php');
include(BASIC_PATH.'config/version.php');
include(BASIC_PATH.'config/setting.php'); include(BASIC_PATH.'config/setting.php');
if(file_exists(CONTROLLER_DIR.'debug.class.php')){ if(file_exists(CONTROLLER_DIR.'debug.class.php')){
include_once(CONTROLLER_DIR.'debug.class.php'); include_once(CONTROLLER_DIR.'debug.class.php');

View File

@ -120,7 +120,7 @@ return array(
"role_type_name_read" => "đọc", "role_type_name_read" => "đọc",
"role_type_name_read:list" => "Danh sách tập tin", "role_type_name_read:list" => "Danh sách tập tin",
"role_type_name_read:info" => "Tệp (thư mục) Bất động sản Xem, tìm kiếm thư mục", "role_type_name_read:info" => "Tệp (thư mục) Bất động sản Xem, tìm kiếm thư mục",
"role_type_name_read:copy" => "file copy", "role_type_name_read:copy" => "Sao chép tập tin",
"role_type_name_read:preview" => "xem trước tập tin (hình ảnh, văn bản, âm thanh và video)", "role_type_name_read:preview" => "xem trước tập tin (hình ảnh, văn bản, âm thanh và video)",
"role_type_name_read:download" => "Tệp (thư mục) Tải về", "role_type_name_read:download" => "Tệp (thư mục) Tải về",
"role_type_name_write" => "viết", "role_type_name_write" => "viết",
@ -141,7 +141,7 @@ return array(
"upload_setting" => "thiết lập", "upload_setting" => "thiết lập",
"upload_tips" => "Sử dụng miếng tải lên, không còn bị giới hạn php.ini; đề nghị kéo thư mục chrome và kinh nghiệm tải lên thả", "upload_tips" => "Sử dụng miếng tải lên, không còn bị giới hạn php.ini; đề nghị kéo thư mục chrome và kinh nghiệm tải lên thả",
"upload_exist" => "Tập tin cùng tên", "upload_exist" => "Tập tin cùng tên",
"upload_exist_rename" => "đổi tên", "upload_exist_rename" => "Đổi tên",
"upload_exist_replace" => "che", "upload_exist_replace" => "che",
"upload_exist_skip" => "nhảy", "upload_exist_skip" => "nhảy",
"upload_add_more" => "thêm hàng loạt", "upload_add_more" => "thêm hàng loạt",
@ -389,10 +389,10 @@ return array(
"sort_type" => "Sắp xếp theo", "sort_type" => "Sắp xếp theo",
"time_type" => "Y/m/d H:i:s", "time_type" => "Y/m/d H:i:s",
"time_type_info" => "Y/m/d H:i:s", "time_type_info" => "Y/m/d H:i:s",
"public_path" => "thư mục công cộng", "public_path" => "Thư mục chia sẻ",
"system_path_not_change" => "thư mục hệ thống, không thể được sửa đổi", "system_path_not_change" => "Thư mục hệ thống, không thể được sửa đổi",
"file" => "hồ sơ", "file" => "Tập tin",
"folder" => "thư mục", "folder" => "Thư mục",
"copy" => "Sao chép", "copy" => "Sao chép",
"past" => "Dán", "past" => "Dán",
"clone" => "Tạo một bản sao", "clone" => "Tạo một bản sao",
@ -411,7 +411,7 @@ return array(
"order_type" => "Sắp xếp theo", "order_type" => "Sắp xếp theo",
"order_desc" => "Giảm dần", "order_desc" => "Giảm dần",
"order_asc" => "Tăng dần", "order_asc" => "Tăng dần",
"rename" => "đổi tên", "rename" => "Đổi tên",
"add_to_fav" => "Thêm vào yêu thích", "add_to_fav" => "Thêm vào yêu thích",
"search_in_path" => "Tìm kiếm thư mục", "search_in_path" => "Tìm kiếm thư mục",
"add_to_play" => "Thêm vào Playlist", "add_to_play" => "Thêm vào Playlist",
@ -485,7 +485,7 @@ return array(
"history_next" => "phía trước", "history_next" => "phía trước",
"history_back" => "Retreat", "history_back" => "Retreat",
"address_in_edit" => "Click để vào chế độ chỉnh sửa", "address_in_edit" => "Click để vào chế độ chỉnh sửa",
"double_click_rename" => "Nhấp đúp vào đổi tên", "double_click_rename" => "Nhấp đúp vào để sửa",
"double_click_open" => "Double-click để mở", "double_click_open" => "Double-click để mở",
"path_null" => "Thư mục rỗng!", "path_null" => "Thư mục rỗng!",
"file_size_title" => "Biểu tượng Kích", "file_size_title" => "Biểu tượng Kích",
@ -535,7 +535,7 @@ return array(
"file_type" => "file Type", "file_type" => "file Type",
"goto" => "Chuyển đến", "goto" => "Chuyển đến",
"server_dwonload_desc" => "Nhiệm vụ đã được thêm vào danh sách tải về", "server_dwonload_desc" => "Nhiệm vụ đã được thêm vào danh sách tải về",
"parent_permission" => "thư mục cho phép cha mẹ", "parent_permission" => "Thư mục cho phép cha mẹ",
"root_path" => "Tài liệu của tôi", "root_path" => "Tài liệu của tôi",
"lib" => "nhà kho", "lib" => "nhà kho",
"fav" => "Bookmark", "fav" => "Bookmark",
@ -610,24 +610,24 @@ return array(
"group_role_member" => "Quản lý người dùng", "group_role_member" => "Quản lý người dùng",
"group_role_mkfile" => "tập tin mới", "group_role_mkfile" => "tập tin mới",
"group_role_mkdir" => "New Folder", "group_role_mkdir" => "New Folder",
"group_role_pathrname" => "đổi tên", "group_role_pathrname" => "Đổi đường dẫn",
"group_role_pathdelete" => "xóa tập tin", "group_role_pathdelete" => "xóa tập tin",
"group_role_pathinfo" => "tập tin thuộc tính", "group_role_pathinfo" => "tập tin thuộc tính",
"group_role_pathmove" => "Di chuyển (copy / cắt / dán / kéo hoạt động)", "group_role_pathmove" => "Di chuyển (copy / cắt / dán / kéo hoạt động)",
"group_role_zip" => "nén", "group_role_zip" => "Nén",
"group_role_unzip" => "không mở", "group_role_unzip" => "Giải nén",
"group_role_search" => "tìm kiếm", "group_role_search" => "Tìm kiếm",
"group_role_filesave" => "Lưu các tập tin để chỉnh sửa", "group_role_filesave" => "Lưu các tập tin để chỉnh sửa",
"group_role_can_upload" => "Tải lên và tải xuống", "group_role_can_upload" => "Tải lên và tải xuống",
"group_role_download" => "từ xa Tải về", "group_role_download" => "Tải về trên Server",
"group_role_passowrd" => "thay đổi mật khẩu", "group_role_passowrd" => "Thay đổi mật khẩu",
"group_role_config" => "cấu hình dữ liệu", "group_role_config" => "Dữ liệu người dùng",
"group_role_fav" => "hoạt động Bookmark (thêm / sửa / xóa)", "group_role_fav" => "Đánh dấu(thêm / sửa / xóa)",
"action_list" => "Xem danh sách", "action_list" => "Xem danh sách",
"action_add" => "thêm vào", "action_add" => "Thêm",
"action_edit" => "chỉnh sửa", "action_edit" => "Sửa",
"action_del" => "xóa bỏ", "action_del" => "Xóa",
"group_role_ext_warning" => "Tải lên không cho phép các tập tin đó,<br/>Đổi tên (đổi tên phần mở rộng được xác định),<br/>sửa lưu, từ xa tải về, giải nén", "group_role_ext_warning" => "Tải lên không cho phép các tập tin đó,<br/>Đổi tên (Đổi tên phần mở rộng được xác định),<br/>sửa lưu, từ xa tải về, giải nén",
"group_tips" => "<li> 1. Tên nhóm người dùng không thể trùng lặp Sau khi tên nhóm được sửa đổi, nó thuộc về người dùng được tổ chức lại và được tự động liên kết. </li><li> 2. Mở rộng giới hạn mối quan hệ giữa bảo mật hệ thống, hãy thận trọng <i>(nếu bạn tạo một php mới trong thư mục web, có nghĩa là thay đổi quyền của chương trình cho người dùng này hầu như không thể)</i> </li><li> 3. Quản lý hộ gia đình, quản lý nhóm quyền, xem các quyền và bổ sung, xóa bỏ và xóa quyền bị ràng buộc, các chương trình được tự động liên kết </li><li> 4. Sau khi nhóm phép được thiết lập để thêm nhóm cho phép, sự cho phép tiếp theo không phải là kế thừa <i>(quyền này tương đương với quyền cao nhất).</i> </li>", "group_tips" => "<li> 1. Tên nhóm người dùng không thể trùng lặp Sau khi tên nhóm được sửa đổi, nó thuộc về người dùng được tổ chức lại và được tự động liên kết. </li><li> 2. Mở rộng giới hạn mối quan hệ giữa bảo mật hệ thống, hãy thận trọng <i>(nếu bạn tạo một php mới trong thư mục web, có nghĩa là thay đổi quyền của chương trình cho người dùng này hầu như không thể)</i> </li><li> 3. Quản lý hộ gia đình, quản lý nhóm quyền, xem các quyền và bổ sung, xóa bỏ và xóa quyền bị ràng buộc, các chương trình được tự động liên kết </li><li> 4. Sau khi nhóm phép được thiết lập để thêm nhóm cho phép, sự cho phép tiếp theo không phải là kế thừa <i>(quyền này tương đương với quyền cao nhất).</i> </li>",
"not_null" => "Các trường bắt buộc không thể để trống!", "not_null" => "Các trường bắt buộc không thể để trống!",
"picture_can_not_null" => "Hình ảnh không thể để trống!", "picture_can_not_null" => "Hình ảnh không thể để trống!",
@ -636,62 +636,62 @@ return array(
"remove_success" => "Xóa thành công!", "remove_success" => "Xóa thành công!",
"remove_fali" => "Xóa không thành công!", "remove_fali" => "Xóa không thành công!",
"clipboard_null" => "Clipboard là trống rỗng!", "clipboard_null" => "Clipboard là trống rỗng!",
"create_success" => "thành công mới!", "create_success" => "Tạo thành công !",
"create_error" => "New thất bại, kiểm tra các thư mục cho phép!", "create_error" => "Tạo thất bại, kiểm tra phân quyền thư mục!",
"copy_success" => "[Copy] - bao gồm thành công vào clipboard!", "copy_success" => "[Sao chép] - đã lưu vàp clipboard!",
"cute_success" => "[Cut] - bao gồm thành công vào clipboard!", "cute_success" => "[Cắt] - đã lưu vào clipboard!",
"clipboard_state" => "tình trạng Clipboard:", "clipboard_state" => "Tình trạng Clipboard:",
"no_permission_write_all" => "Các tập tin hoặc thư mục không cho phép ghi", "no_permission_write_all" => "Các tập tin hoặc thư mục không cho phép ghi",
"no_permission_write_file" => "Các file không có quyền ghi", "no_permission_write_file" => "Các file không có quyền ghi",
"no_permission_read_all" => "Các tập tin hoặc thư mục không có sự cho phép đọc", "no_permission_read_all" => "Các tập tin hoặc thư mục không có sự cho phép đọc",
"copy_not_exists" => "Nguồn không tồn tại", "copy_not_exists" => "Nguồn không tồn tại",
"current_has_parent" => "thư mục đích là một thư mục con của thư mục nguồn!", "current_has_parent" => "Thư mục đích là một thư mục con của thư mục nguồn!",
"past_success" => "<b>dán hoạt động được hoàn</b>", "past_success" => "<b>dán hoạt động được hoàn</b>",
"cute_past_success" => "<b>hoạt động cắt xong</b>(tập tin nguồn bị xóa, clipboard trống)", "cute_past_success" => "<b>hoạt động cắt xong</b>(tập tin nguồn bị xóa, clipboard trống)",
"zip_success" => "nén hoàn thành", "zip_success" => "Nén thành công",
"not_zip" => "không lưu trữ", "not_zip" => "Nén lỗi",
"zip_null" => "Không chọn tập tin hoặc thư mục", "zip_null" => "Không chọn tập tin hoặc thư mục",
"unzip_success" => "Giải nén hoàn chỉnh", "unzip_success" => "Giải nén xong",
"gotoline" => "Nhảy vào dòng", "gotoline" => "Nhảy vào dòng",
"path_is_current" => "Các con đường và con đường hiện tại để mở cùng!", "path_is_current" => "Các con đường và con đường hiện tại để mở cùng!",
"path_exists" => "Các tên đã tồn tại!", "path_exists" => "Các tên đã tồn tại!",
"undo" => "Thu hồi", "undo" => "Hoàn tác",
"redo" => "chống thu hồi", "redo" => "Làm lại",
"preview" => "Xem trước", "preview" => "Xem trước",
"wordwrap" => "bọc", "wordwrap" => "Bọc",
"show_gutter" => "Hiện số dòng", "show_gutter" => "Hiện số dòng",
"char_all_display" => "Hiện các nhân vật vô hình", "char_all_display" => "Hiện các nhân vật vô hình",
"auto_complete" => "tự động nhắc nhở", "auto_complete" => "Tự động hoàn thành",
"auto_save" => "Tự động lưu", "auto_save" => "Tự động lưu",
"function_list" => "Danh sách chức năng", "function_list" => "Danh sách chức năng",
"code_theme" => "mã hóa phong cách", "code_theme" => "Code Style",
"font_size" => "cỡ chữ", "font_size" => "Cỡ chữ",
"confirm" => "Bạn có chắc chắn muốn làm việc này không?", "confirm" => "Bạn có chắc chắn muốn làm việc này không?",
"button_ok" => "xác định", "button_ok" => "Xác nhận",
"button_submit" => "đệ trình", "button_submit" => "Xác nhận",
"button_set" => "thiết lập", "button_set" => "Thiết lập",
"button_cancel" => "bị hủy bỏ", "button_cancel" => "Hủy",
"button_edit" => "chỉnh sửa", "button_edit" => "Sửa",
"button_save" => "Lưu", "button_save" => "Lưu",
"button_apply" => "Áp dụng", "button_apply" => "Áp dụng",
"button_save_all" => "Lưu tất cả", "button_save_all" => "Lưu tất cả",
"button_not_save" => "Không lưu", "button_not_save" => "Không lưu",
"button_add" => "thêm vào", "button_add" => "Thêm",
"button_back_add" => "Trở lại thêm", "button_back_add" => "Thêm lại",
"button_del" => "xóa bỏ", "button_del" => "Xóa",
"button_save_edit" => "lưu các thay đổi", "button_save_edit" => "Lưu các thay đổi",
"button_save_submit" => "lưu Gửi", "button_save_submit" => "Lưu và Gửi",
"button_more" => "hơn", "button_more" => "Thêm",
"button_select_all" => "Chọn tất cả / Invert Selection", "button_select_all" => "Chọn tất cả / Invert Selection",
"charset_AUTO" => "Nhận dạng tự động", "charset_AUTO" => "Nhận dạng tự động",
"charset_UTF_8" => "Unicode", "charset_UTF_8" => "Unicode",
"charset_UTF_16" => "Unicode", "charset_UTF_16" => "Unicode",
"charset_CP1256" => "Ả rập", "charset_CP1256" => "Ả rập",
"charset_ISO_8859_6" => "Ả rập", "charset_ISO_8859_6" => "Ả rập",
"charset_ISO_8859_10" => "ngôn ngữ Bắc Âu", "charset_ISO_8859_10" => "Tiếng Bắc Âu",
"charset_CP1257" => "ngôn ngữ Baltic", "charset_CP1257" => "Tiếng Baltic",
"charset_ISO_8859_13" => "ngôn ngữ Baltic", "charset_ISO_8859_13" => "Tiếng Baltic",
"charset_ISO_8859_4" => "ngôn ngữ Baltic", "charset_ISO_8859_4" => "Tiếng Baltic",
"charset_BIG5_HKSCS" => "繁体-香港", "charset_BIG5_HKSCS" => "繁体-香港",
"charset_BIG5" => "繁体-台湾", "charset_BIG5" => "繁体-台湾",
"charset_Georgian_Academy" => "Gruzia", "charset_Georgian_Academy" => "Gruzia",
@ -707,7 +707,7 @@ return array(
"charset_EUC_JP" => "Nhật Bản", "charset_EUC_JP" => "Nhật Bản",
"charset_ISO_2022_JP" => "Nhật Bản", "charset_ISO_2022_JP" => "Nhật Bản",
"charset_SHIFT_JIS" => "Nhật Bản", "charset_SHIFT_JIS" => "Nhật Bản",
"charset_KOI8_T" => "ngôn ngữ Tajik", "charset_KOI8_T" => "Tiếng Tajik",
"charset_ISO_8859_11" => "Thái", "charset_ISO_8859_11" => "Thái",
"charset_TIS_620" => "Thái", "charset_TIS_620" => "Thái",
"charset_CP1254" => "Thổ Nhĩ Kỳ", "charset_CP1254" => "Thổ Nhĩ Kỳ",
@ -715,67 +715,67 @@ return array(
"charset_ISO_8859_5" => "Cyrillic", "charset_ISO_8859_5" => "Cyrillic",
"charset_KOI8_R" => "Cyrillic", "charset_KOI8_R" => "Cyrillic",
"charset_KOI8_U" => "Cyrillic", "charset_KOI8_U" => "Cyrillic",
"charset_CP1252" => "ngôn ngữ Tây Âu", "charset_CP1252" => "Tiếng Tây Âu",
"charset_ISO_8859_1" => "ngôn ngữ Tây Âu", "charset_ISO_8859_1" => "Tiếng Tây Âu",
"charset_ISO_8859_15" => "ngôn ngữ Tây Âu", "charset_ISO_8859_15" => "Tiếng Tây Âu",
"charset_Macintosh" => "ngôn ngữ Tây Âu", "charset_Macintosh" => "Tiếng Tây Âu",
"charset_CP1255" => "Hebrew", "charset_CP1255" => "Hebrew",
"charset_ISO_8859_8" => "Hebrew", "charset_ISO_8859_8" => "Hebrew",
"charset_CP1253" => "Hy Lạp", "charset_CP1253" => "Hy Lạp",
"charset_ISO_8859_7" => "Hy Lạp", "charset_ISO_8859_7" => "Hy Lạp",
"charset_ARMSCII_8" => "Armenia", "charset_ARMSCII_8" => "Armenia",
"charset_CP1258" => "tiếng việt", "charset_CP1258" => "Tiếng việt",
"charset_VISCII" => "tiếng việt", "charset_VISCII" => "Tiếng việt",
"charset_CP1250" => "ngôn ngữ Trung ương châu Âu", "charset_CP1250" => "Tiếng khu vực trung tâm châu Âu",
"charset_ISO_8859_2" => "ngôn ngữ Trung ương châu Âu", "charset_ISO_8859_2" => "Tiếng khu vực trung tâm châu Âu",
"charset_default_set" => "tập tin Encoding", "charset_default_set" => "Định dạng ký tự",
"charset_convert_save" => "Lưu tập tin được mã hóa như", "charset_convert_save" => "Lưu tập tin được mã hóa như",
"PluginCenter" => "trung tâm cắm", "PluginCenter" => "Plugin Center",
"PluginBuy" => "Ủy quyền mua", "PluginBuy" => "Ủy quyền mua",
"PluginInstalled" => "Đã được cài đặt", "PluginInstalled" => "Đã được cài đặt",
"PluginUpdate" => "cập nhật", "PluginUpdate" => "Cập nhật",
"PluginListNull" => "Không có nội dung!", "PluginListNull" => "Không có nội dung!",
"PluginType" => "phân loại", "PluginType" => "Phân loại",
"PluginTypeAll" => "hoàn toàn", "PluginTypeAll" => "Tất cả",
"PluginTypeFile" => "tập tin được tăng cường", "PluginTypeFile" => "Tập tin tăng cường",
"PluginTypeSafe" => "Công cụ bảo mật", "PluginTypeSafe" => "Công cụ bảo mật",
"PluginTypeTools" => "hữu dụng", "PluginTypeTools" => "Tiện ích",
"PluginTypeMedia" => "Multimedia", "PluginTypeMedia" => "Multimedia",
"PluginTypeOthers" => "khác", "PluginTypeOthers" => "Khấc",
"PluginInstall" => "cài đặt plug", "PluginInstall" => "cài đặt plug",
"PluginEnable" => "Enable plug-ins", "PluginEnable" => "Enable plug-ins",
"PluginDisable" => "Vô hiệu hóa", "PluginDisable" => "Vô hiệu hóa",
"PluginRemove" => "Gỡ bỏ cài đặt các plug", "PluginRemove" => "Gỡ bỏ cài đặt các plug",
"PluginConfig" => "Cấu hình các plugin", "PluginConfig" => "Cấu hình các plugin",
"PluginStatus" => "trạng thái", "PluginStatus" => "Trạng thái",
"PluginStatusEnabled" => "Bật", "PluginStatusEnabled" => "Bật",
"PluginStatusDisabled" => "không được kích hoạt", "PluginStatusDisabled" => "không được kích hoạt",
"PluginStatusNotInstall" => "không cài đặt", "PluginStatusNotInstall" => "không cài đặt",
"PluginInstalling" => "Lắp đặt ...", "PluginInstalling" => "Lắp đặt ...",
"PluginHasUpdate" => "cập nhật", "PluginHasUpdate" => "Cập nhật",
"PluginUpdateStart" => "Cập nhật plug-in", "PluginUpdateStart" => "Cập nhật plug-in",
"PluginNeedConfig" => "Sự cần thiết phải cho phép cấu hình ban đầu", "PluginNeedConfig" => "Sự cần thiết phải cho phép cấu hình ban đầu",
"PluginConfigNotNull" => "Các trường bắt buộc không thể để trống!", "PluginConfigNotNull" => "Các trường bắt buộc không thể để trống!",
"PluginOpen" => "m", "PluginOpen" => "M",
"PluginAuther" => "tác giả", "PluginAuther" => "Tác giả",
"PluginVersion" => "edition", "PluginVersion" => "Phiên bản",
"PluginDownloadNumber" => "cài đặt", "PluginDownloadNumber" => "Số lần cài đặt",
"PluginBack" => "trả lại", "PluginBack" => "Trả lại",
"PluginReadme" => "miêu tả", "PluginReadme" => " tả",
"PluginResetConfig" => "Khôi phục cài đặt mặc định", "PluginResetConfig" => "Khôi phục cài đặt mặc định",
"PluginInstallSelf" => "Cài đặt thủ công", "PluginInstallSelf" => "Cài đặt thủ công",
"Plugin.config.auth" => "Quyền", "Plugin.config.auth" => "Quyền",
"Plugin.config.authDesc" => "Tất cả các thiết lập có sẵn, hoặc chỉ định người dùng, nhóm người dùng, các nhóm nhân quyền có thể sử dụng", "Plugin.config.authDesc" => "Tất cả các thiết lập có sẵn, hoặc chỉ định người dùng, nhóm người dùng, các nhóm nhân quyền có thể sử dụng",
"Plugin.config.authOpen" => "Mở truy cập", "Plugin.config.authOpen" => "Mở truy cập",
"Plugin.config.authOpenDesc" => "Không cần truy cập có thể được truy cập, có thể được sử dụng cho các cuộc gọi giao diện bên ngoài", "Plugin.config.authOpenDesc" => "Không cần truy cập có thể được truy cập, có thể được sử dụng cho các cuộc gọi giao diện bên ngoài",
"Plugin.config.authAll" => "người nắm", "Plugin.config.authAll" => "Tất cả",
"Plugin.config.authUser" => "người sử dụng", "Plugin.config.authUser" => "Người dùng",
"Plugin.config.authGroup" => "Bộ phận chỉ định", "Plugin.config.authGroup" => "Bộ phận chỉ định",
"Plugin.config.authRole" => "nhóm quyền", "Plugin.config.authRole" => "Nhóm quyền",
"Plugin.Config.openWith" => "mở phong cách", "Plugin.Config.openWith" => "Mở với ứng dụng",
"Plugin.Config.openWithDilog" => "thoại nội bộ", "Plugin.Config.openWithDilog" => "Cửa sổ nội bộ",
"Plugin.Config.openWithWindow" => "Trang mới mở ra", "Plugin.Config.openWithWindow" => "Trang mới mở ra",
"Plugin.Config.fileSort" => "ưu tiên mở rộng liên kết", "Plugin.Config.fileSort" => "Phần mở rộng ưu tiên",
"Plugin.Config.fileSortDesc" => "Các phần mở rộng để mở ưu tiên cao hơn lớn hơn", "Plugin.Config.fileSortDesc" => "Các phần mở rộng để mở ưu tiên cao hơn lớn hơn",
"Plugin.Config.fileExt" => "Định dạng tệp được hỗ trợ", "Plugin.Config.fileExt" => "Định dạng tệp được hỗ trợ",
"Plugin.Config.fileExtDesc" => "Liên quan đến mở rộng đến các plug-in", "Plugin.Config.fileExtDesc" => "Liên quan đến mở rộng đến các plug-in",
@ -785,14 +785,14 @@ return array(
"Plugin.default.aceEditor" => "Ace Biên tập viên", "Plugin.default.aceEditor" => "Ace Biên tập viên",
"Plugin.default.htmlView" => "Web Page Preview", "Plugin.default.htmlView" => "Web Page Preview",
"Plugin.default.picasa" => "duyệt hình ảnh Picasa", "Plugin.default.picasa" => "duyệt hình ảnh Picasa",
"Plugin.default.zipView" => "Archive Preview", "Plugin.default.zipView" => "Xem trước nội dung file nén",
"Plugin.default.jPlayer" => "máy nghe nhạc jPlayer", "Plugin.default.jPlayer" => "máy nghe nhạc jPlayer",
"Plugin.auth.viewList" => "Danh sách trình cắm", "Plugin.auth.viewList" => "Danh sách trình cắm",
"Plugin.auth.setting" => "Cài đặt plugin", "Plugin.auth.setting" => "Cài đặt plugin",
"Plugin.auth.status" => "Tắt", "Plugin.auth.status" => "Tắt",
"Plugin.auth.install" => "Cài đặt / gỡ cài đặt", "Plugin.auth.install" => "Cài đặt / gỡ cài đặt",
"Explorer.UI.openWith" => "chọn mở", "Explorer.UI.openWith" => "chọn mở",
"Explorer.UI.openWithText" => "Notepad để mở", "Explorer.UI.openWithText" => "Mở Notepad",
"Explorer.UI.appSetDefault" => "Đặt mở mặc định", "Explorer.UI.appSetDefault" => "Đặt mở mặc định",
"Explorer.UI.appAwaysOpen" => "Luôn luôn sử dụng chương trình được lựa chọn để mở tập tin này", "Explorer.UI.appAwaysOpen" => "Luôn luôn sử dụng chương trình được lựa chọn để mở tập tin này",
"Explorer.UI.selectAppDesc" => "Chọn chương trình bạn muốn mở tập tin này", "Explorer.UI.selectAppDesc" => "Chọn chương trình bạn muốn mở tập tin này",

View File

@ -12,7 +12,7 @@ $config['settings'] = array(
'apiLoginTonken' => '', //设定则认为开启服务端api通信登陆同时作为加密密匙 'apiLoginTonken' => '', //设定则认为开启服务端api通信登陆同时作为加密密匙
'updloadChunkSize' => 1024*1024*0.4,//0.4M;分片上传大小设定;需要小于php.ini上传限制的大小 'updloadChunkSize' => 1024*1024*0.4,//0.4M;分片上传大小设定;需要小于php.ini上传限制的大小
'updloadThreads' => 10, //上传并发数;部分低配服务器上传失败则将此设置为1 'updloadThreads' => 10, //上传并发数;部分低配服务器上传失败则将此设置为1
'updloadBindary' => 1, //以二进制方式上传;后端服务器以php://input接收;0则为传统方式上传 'updloadBindary' => 0, //1:以二进制方式上传;后端服务器以php://input接收;0则为传统方式上传
'paramRewrite' => false, //开启url 去除? 直接跟参数 'paramRewrite' => false, //开启url 去除? 直接跟参数
'httpSendFile' => false, //调用webserver下载 http://www.laruence.com/2012/05/02/2613.html; 'httpSendFile' => false, //调用webserver下载 http://www.laruence.com/2012/05/02/2613.html;
//https://www.lovelucy.info/x-sendfile-in-nginx.html //https://www.lovelucy.info/x-sendfile-in-nginx.html

View File

@ -1,2 +1,2 @@
<?php <?php
define('KOD_VERSION','4.31'); define('KOD_VERSION','4.32');

View File

@ -2,7 +2,7 @@
"id":"VLCPlayer", "id":"VLCPlayer",
"name":"VLC Player", "name":"VLC Player",
"title":"VLC 播放器", "title":"VLC 播放器",
"version":"1.32", "version":"1.33",
"source":{ "source":{
"icon":"{{pluginHost}}static/images/icon.png" "icon":"{{pluginHost}}static/images/icon.png"
}, },

View File

@ -25,7 +25,7 @@ kodReady.push(function(){
setTimeout(function() { setTimeout(function() {
var vlc = getVLC("vlc"); var vlc = getVLC("vlc");
if(!vlc.playlist){ if(!vlc || !vlc.playlist){
dialog.DOM.wrap.find('.error-tips').removeClass('hidden'); dialog.DOM.wrap.find('.error-tips').removeClass('hidden');
} }
dialog._clickMax(); dialog._clickMax();

View File

@ -145,7 +145,6 @@ thead th, thead td {
vertical-align:middle; vertical-align:middle;
font-weight:bold; font-weight:bold;
white-space:nowrap; white-space:nowrap;
border-right:1px solid #34495e;
background:#34495e; background:#34495e;
color:#FFFFFF; color:#FFFFFF;
padding-right:10px; padding-right:10px;
@ -735,3 +734,4 @@ h2, h3 {
.js .checkable .checked th { .js .checkable .checked th {
background: #2196f3; background: #2196f3;
} }
.footer > div{padding-left:10px;}

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
"id":"adminer", "id":"adminer",
"name":"Adminer", "name":"Adminer",
"title":"{{LNG.Adminer.meta.title}}", "title":"{{LNG.Adminer.meta.title}}",
"version":"4.31", "version":"4.63",
"source":{ "source":{
"thumb":"", "thumb":"",
"className":"font-icon icon-bar-chart bg-blue-7", "className":"font-icon icon-bar-chart bg-blue-7",

View File

@ -2,7 +2,7 @@
"id":"jPlayer", "id":"jPlayer",
"name":"jPlayer", "name":"jPlayer",
"title":"jPlayer", "title":"jPlayer",
"version":"1.33", "version":"1.34",
"source":{ "source":{
"icon":"{{pluginHost}}static/images/icon.png", "icon":"{{pluginHost}}static/images/icon.png",
"screenshoot":[ "screenshoot":[

View File

@ -580,7 +580,7 @@ div.dialog-simple.music-player-dialog.my-jPlayer .aui-main{min-height: 400px;}
height: 12px; height: 12px;
position: absolute; position: absolute;
background: #bce1ff; background: #bce1ff;
background: rgba(255, 255, 255, 0.8); background: rgba(255, 255, 255, 0.95);
border-radius: 50%; border-radius: 50%;
right: -10px; right: -10px;
top: -5px; top: -5px;

View File

@ -174,7 +174,6 @@ define(function(require, exports) {
if(playCurrent != find){ if(playCurrent != find){
playIndex(find); playIndex(find);
} }
return false;
} }
continue; continue;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/* power by kodexplorer ver 4.31(2018-07-06) [build 1530883885.3357] */ /* power by kodexplorer ver 4.32(2018-07-10) [build 1531237079.8534] */
@import url('./fileIcon.css'); @import url('./fileIcon.css');
@import url('./common.css'); @import url('./common.css');
.frame-main{position:absolute;top:40px;width:100%;bottom:0px;}.frame-main .tools-left{background:#f8f8f8 url("../../../images/common/bg.gif") 0 0px;position:fixed;line-height:30px;padding-left:20px;height:28px;border-bottom:1px solid #ddd;left:0;width:100%;}.frame-main .tools-left a{font-size:1.25em;font-weight:800;text-decoration:none;color:#999;text-shadow:0 0 3px;display:inline-block;padding:2px 6px;margin-top:0;height:20px;line-height:20px;}.frame-main .tools-left a:hover{background:url("../../../images/common/buttons_40.png") 0 0px repeat-x;-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.8);-moz-box-shadow:0 2px 8px rgba(0,0,0,0.8);box-shadow:0 2px 8px rgba(0,0,0,0.8);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.frame-main .frame-left{position:absolute;left:0;top:30px;bottom:0;width:200px;background:#fff;background-attachment:fixed;overflow:auto;}.frame-main .frame-left .ztree{margin-top:0;}.frame-main .frame-left .ztree li.level0{margin-bottom:5px;}.frame-main .frame-resize{width:10px;cursor:col-resize;z-index:100;position:absolute;left:195px;top:0;bottom:0;overflow:hidden;background:url("../../../images/common/resize.png") 0px 50% no-repeat;}.frame-main .frame-resize.active{background:#000;opacity:0.2;filter:alpha(opacity=20);}.frame-main .frame-right{left:200px;right:0;position:absolute;top:0;bottom:0;overflow:auto;}.frame-main .frame-right .frame-right-main .resize-mask{z-index:999;position:absolute;left:0;top:0;bottom:0;right:0;display:none;}.frame-main .frame-right .frame-right-main .frame{height:100%;border-left:1px solid #ddd;overflow:hidden;} .frame-main{position:absolute;top:40px;width:100%;bottom:0px;}.frame-main .tools-left{background:#f8f8f8 url("../../../images/common/bg.gif") 0 0px;position:fixed;line-height:30px;padding-left:20px;height:28px;border-bottom:1px solid #ddd;left:0;width:100%;}.frame-main .tools-left a{font-size:1.25em;font-weight:800;text-decoration:none;color:#999;text-shadow:0 0 3px;display:inline-block;padding:2px 6px;margin-top:0;height:20px;line-height:20px;}.frame-main .tools-left a:hover{background:url("../../../images/common/buttons_40.png") 0 0px repeat-x;-webkit-box-shadow:0 2px 8px rgba(0,0,0,0.8);-moz-box-shadow:0 2px 8px rgba(0,0,0,0.8);box-shadow:0 2px 8px rgba(0,0,0,0.8);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}.frame-main .frame-left{position:absolute;left:0;top:30px;bottom:0;width:200px;background:#fff;background-attachment:fixed;overflow:auto;}.frame-main .frame-left .ztree{margin-top:0;}.frame-main .frame-left .ztree li.level0{margin-bottom:5px;}.frame-main .frame-resize{width:10px;cursor:col-resize;z-index:100;position:absolute;left:195px;top:0;bottom:0;overflow:hidden;background:url("../../../images/common/resize.png") 0px 50% no-repeat;}.frame-main .frame-resize.active{background:#000;opacity:0.2;filter:alpha(opacity=20);}.frame-main .frame-right{left:200px;right:0;position:absolute;top:0;bottom:0;overflow:auto;}.frame-main .frame-right .frame-right-main .resize-mask{z-index:999;position:absolute;left:0;top:0;bottom:0;right:0;display:none;}.frame-main .frame-right .frame-right-main .frame{height:100%;border-left:1px solid #ddd;overflow:hidden;}
/* ver 4.31(2018-07-06) [build 1530883885.3357] */ /* ver 4.32(2018-07-10) [build 1531237079.8534] */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long