version 3.38 release

pull/130/head
warlee 2017-03-01 12:33:28 +08:00
parent 4b2c33663f
commit a83919b7e2
90 changed files with 479 additions and 289 deletions

View File

@ -1,7 +1,32 @@
### ver3.38 `2017/3/1`
-----
#### update:
- 图片打开缩略图列表懒加载优化
- 群组权限默认为可读写
#### fix bug
- 修复部分文本文件编码识别错误问题
- 登陆重定向过多问题session可写进一步判断。
- 树目录新建文件夹取消再删除会删除home问题
- 部分浏览器;编辑器选择内容时会全选问题
- 分享页面音乐播放问题视频播放title不全问题
- 授权版组织架构不显示
- 系统设置——错误提示位置问题,加入关闭按钮。
- 移动端对话框绝对位置问题
- 树目录文件名排序问题;排序模式优化(首次打开没有排序);收藏夹、组织架构不排序
- office编辑保存权限处理没有权限则只读
- office在线编辑新页面打开,文件格式完善;分享页面&分享目录下文件预览;
- 上传大文件,同名文件处理策略没有按配置方式
- 上传大文件断点续传优化;上传大文件有概率出现内容错误问题
- 文件频繁读写内容出现异常的问题优化
- 上传优化:滚动条自动滚动;全部取消-清空已完成
- 已经授权的版本,文件分享页面版权修改提示误判
### ver3.37 `2017/1/1`
-----
#### update:
- 部分主机兼容不支持相对路径问题iconv系统库补全兼容处理压缩时压缩失败不兼容777权限问题优化
- 部分主机兼容不支持相对路径问题iconv系统库补全兼容处理压缩时压缩失败不兼容777权限问题优化incluce_once导致更新覆盖不了问题
- 移动端优化loading效果加入移动端默认隐藏桌面去掉title的hover效果
- 桌面优化:自适应图标间隙高度;优化图标大小范围
- 同名文件默认覆盖
@ -12,7 +37,8 @@
- 错误提示统一处理超时时间优化不再检测connected状态
- 输出清空之前缓存show_json,验证码,文件下载,显示模板)
- 用户管理界面:用户名宽度加宽;授权版支持批量添加用户
- 自动更新优化,更新失败相应处理
- 自动更新优化更新失败相应处理util.js误判问题修复
- 前端处理 app_host;web_host兼容部分反向代理设置上传等问题解决
### ver3.36 `2016/12/31`

View File

@ -107,7 +107,10 @@ if(isset($in['access_token'])){//office edit post
@session_save_path(KOD_SESSION);//session path
@session_start();
@session_write_close();//避免session锁定问题;之后要修改$_SESSION 需要先调用session_start()
//write_log(json_encode($_REQUEST),'default');
$config['autorun'] = array(
array('controller'=>'user','function'=>'loginCheck'),
array('controller'=>'user','function'=>'authCheck')
);

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "الدليل لا يدعم البحث!",
"not_support" => "غير معتمدة!",
"group_not_exist" => "مجموعة العضو غير موجود!",
"upload_clear" => "واضح",
"upload_clear_all" => "مسح جميع",
"upload_clear" => "واضح المنجزة",
"upload_setting" => "نصب",
"upload_tips" => "يستخدم تحميل شريحة، لم تعد تخضع لحدود PHP.INI، وأوصت سحب مجلد الكروم وتجربة تحميل قطرة",
"upload_exist" => "ملف بنفس الاسم",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Директорията не поддържа търсенето!",
"not_support" => "Не се поддържа!",
"group_not_exist" => "Потребителят група не съществува!",
"upload_clear" => "ясно",
"upload_clear_all" => "Изчистване на всички",
"upload_clear" => "Clear Завършен",
"upload_setting" => "Настройте",
"upload_tips" => "Използва парче качване, вече не подлежи на php.ini лимит; препоръчва плъзгане хром папка и капка качването опит",
"upload_exist" => "Файл със същото име",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "ডিরেক্টরি অনুসন্ধান সমর্থন করে না!",
"not_support" => "সমর্থিত নয়!",
"group_not_exist" => "ব্যবহারকারী গ্রুপ অস্তিত্ব নেই!",
"upload_clear" => "স্পষ্ট",
"upload_clear_all" => "সব পরিষ্কার",
"upload_clear" => "সমাপ্ত সাফ",
"upload_setting" => "সেট আপ করুন",
"upload_tips" => "ফালি আপলোড, আর php.ini সীমা সাপেক্ষে ব্যবহার করে; সুপারিশ ক্রোম ফোল্ডার ড্র্যাগ এবং ড্রপ আপলোড অভিজ্ঞতা",
"upload_exist" => "একই নামের ফাইল",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "El directori no és compatible amb la recerca!",
"not_support" => "No és compatible!",
"group_not_exist" => "Grup usuari no existeix!",
"upload_clear" => "clar",
"upload_clear_all" => "esborrar tots",
"upload_clear" => "esborrar",
"upload_setting" => "establir",
"upload_tips" => "Utilitza càrrega llesca, ja no està subjecta a límit de php.ini; recomanada d'arrossegar la carpeta de crom i l'experiència de pujar gota",
"upload_exist" => "Arxiu del mateix nom",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Adresář nepodporuje vyhledávání!",
"not_support" => "Není podporováno!",
"group_not_exist" => "Uživatel skupina neexistuje!",
"upload_clear" => "zřejmý",
"upload_clear_all" => "Vymazat vše",
"upload_clear" => "Clear Dokončeno",
"upload_setting" => "založit",
"upload_tips" => "Používá plátek nahrávat, již nepodléhá php.ini hranici; doporučeno chrom složky drag and drop nahrávání zkušenosti",
"upload_exist" => "Soubor se stejným názvem",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Mappen understøtter ikke søgningen!",
"not_support" => "Understøttes ikke!",
"group_not_exist" => "Brugergruppe findes ikke!",
"upload_clear" => "Clear",
"upload_clear_all" => "Ryd alle",
"upload_clear" => "Clear Afsluttet",
"upload_setting" => "Opsætning",
"upload_tips" => "Bruger skive upload, ikke længere er omfattet php.ini grænse anbefales krom mappe træk og slip upload oplevelse",
"upload_exist" => "Fil af samme navn",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Das Verzeichnis unterstützt nicht die Suche!",
"not_support" => "Nicht unterstützt!",
"group_not_exist" => "Benutzergruppe existiert nicht!",
"upload_clear" => "klar",
"upload_clear_all" => "alle löschen",
"upload_clear" => "Erledigte",
"upload_setting" => "einrichten",
"upload_tips" => "Verwendet Scheibe hoch laden, nicht mehr an der php.ini Grenze; empfohlen Chrom Ordner per Drag & Drop-Upload Erfahrung",
"upload_exist" => "Datei mit dem gleichen Namen",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Ο κατάλογος δεν υποστηρίζει την αναζήτηση!",
"not_support" => "Δεν υποστηρίζεται!",
"group_not_exist" => "ομάδα χρήστης δεν υπάρχει!",
"upload_clear" => "σαφής",
"upload_clear_all" => "Διαγραφή όλων",
"upload_clear" => "Καθαρισμός Ολοκληρώθηκε",
"upload_setting" => "Ρύθμιση",
"upload_tips" => "Χρησιμοποιεί φέτα μεταφόρτωσης, δεν υπόκειται πλέον σε php.ini όριο? Συνιστάται σύρετε το φάκελο chrome και πτώση εμπειρία μεταφόρτωση",
"upload_exist" => "Αρχείο με το ίδιο όνομα",

View File

@ -6,7 +6,7 @@ return array(
"share_can_upload" => "Can Upload",
"move_error" => "Move Error",
"setting_basic" => "Basic Setting",
"setting_user_sound_open" => "Turns on the sound",
"setting_user_sound_open" => "Turn on the sound",
"setting_user_animate_open" => "Open the animation",
"recycle_open_if" => "Open The Recycle",
"recycle_open" => "Open",
@ -52,7 +52,7 @@ return array(
"path_is_root_tips" => "I have been the root of it!",
"kod_group" => "All Group",
"my_kod_group" => "My Group",
"space_tips_default" => "(GB) 0 no limit",
"space_tips_default" => "(GB) 0 Unlimited",
"space_tips_full" => "No limit",
"space_size" => "Space Size",
"space_size_use" => "Space Use",
@ -81,14 +81,14 @@ return array(
"system_set_home_path_tips" => "The empty directory then uses the default directory",
"system_member_group" => "Group",
"system_member_group_edit" => "Edit Group",
"system_member_remove" => "Rmove User",
"system_member_remove_tips" => "Confirm delete users? After <br/> delete the user directory will completely remove",
"system_member_remove" => "Remove User",
"system_member_remove_tips" => "Confirm deleting users? After <br/> deletion the users directory will be completely removed",
"system_member_set_role" => "Confirm the selected user group permissions?",
"system_member_remove_group" => "OK to remove the selected user from this group?",
"system_member_import" => "Batch add",
"system_member_import_desc" => "A user of each line,<br/>already exists has been automatically ignored",
"system_member_import_desc" => "A user of each line,<br/>those were already existed will be automatically ignored",
"system_member_use" => "Enable",
"system_member_unuse" => "Disabled",
"system_member_unuse" => "Disable",
"system_member_group_config" => "Set groups",
"system_member_group_remove" => "Remove from the group",
"system_member_group_insert" => "Add to the group",
@ -99,10 +99,11 @@ return array(
"system_role_read" => "Only Read",
"system_role_write" => "Read Write",
"button_save_and_add" => "Save and continue",
"path_cannot_search" => "The directory does not support the search!",
"not_support" => "not support!",
"group_not_exist" => "Group not exists!",
"upload_clear" => "Clear",
"path_cannot_search" => "The directory does not support searching!",
"not_support" => "not supported!",
"group_not_exist" => "Group does not exist!",
"upload_clear_all" => "Clear all",
"upload_clear" => "Clear completed",
"upload_setting" => "Setting",
"upload_tips" => "Use piecewise upload, no longer limited to php.ini;",
"upload_exist" => "Duplicate files",
@ -129,7 +130,7 @@ return array(
"my_share" => "My share",
"group_share" => "Group Public",
"share_edit" => "Edit share",
"share_remove" => "Cancle share",
"share_remove" => "Cancel share",
"share_remove_tips" => "Determine the cancel share? The Share link will fail.",
"share_path" => "Share path",
"share_title" => "Resource sharing",
@ -141,7 +142,7 @@ return array(
"share_cancle" => "Cancel share",
"share_create" => "Create Share",
"share_url" => "Share Link",
"share_not_download" => "Cann't Download",
"share_not_download" => "Can't Download",
"share_not_download_tips" => "Prohibit the download share! ",
"share_code_read" => "Code",
"share_save" => "Save Configuration",
@ -159,10 +160,10 @@ return array(
"recycle_clear" => "Clear trash",
"recycle_clear_success" => "Clear trash success.",
"recycle_clear_info" => "Are you sure clear recycle bin?",
"fav_remove" => "Cancle fav",
"fav_remove" => "Cancel fav",
"remove_item" => "Item",
"uploading" => "Uploading ",
"upload_tips_more" => "File too much, it is recommended to upload compressed, and then extract the line!",
"upload_tips_more" => "Too much files, it is recommended to upload compressed, and then extract the line!",
"show_file" => "New page preview",
"unknow_file_title" => "File open tip!",
"unknow_file_tips" => "Not to support the open",
@ -219,20 +220,20 @@ return array(
"php_env_check" => "Environment check:",
"php_env_error" => "Environment error:",
"php_env_error_ignore" => "Ignore",
"php_env_error_version" => "PHP version must more than 5.0",
"php_env_error_iconv" => "Not open iconv",
"php_env_error_mb_string" => "Not open mb_string",
"php_env_error_file" => "Not open file_get_contents",
"php_env_error_version" => "PHP version must be greater than 5.0",
"php_env_error_iconv" => "iconv is not enabled",
"php_env_error_mb_string" => "mb_string is not enable",
"php_env_error_file" => "file_get_contents is not enabled",
"php_env_error_path" => "Can not write",
"php_env_error_list_dir" => "Your web server has a directory directory feature turned on, please disable this feature for security reasons! <a href=\"https://www.google.com.hk/#newwindow=1&safe=strict&q=web+server+turn+off+directory+listing\" target=\"blank\">how? </a>",
"php_env_error_gd" => "Not open php GD",
"install_login" => "Use the following account login",
"php_env_error_gd" => "php GD is not enabled",
"install_login" => "Use the following account to log in",
"install_enter" => "Enter",
"install_user_default" => "Administrator: {0} / (below set a password) <br/> Average user: {1} <br/> Guest users: {2}",
"login_root_password" => "Set the administrator password",
"login_root_password_tips" => "Please set admin's password!",
"forget_password" => "Forget Password",
"forget_password_tips" => "Forgot Administrator Password: <br/> Please log server delete <b>./data/system/install.lock</b> reset; <br/><br/> Non-administrator Forgot Password: <br/> Please contact the administrator to reset!",
"forget_password_tips" => "Forgot Administrator Password: <br/> Please log into the server and delete <b>./data/system/install.lock</b> reset; <br/><br/> Non-administrator Forgot Password: <br/> Please contact the administrator to reset!",
"copyright_desc" => "Kodexplorer is a highly acclaimed web document management system that you can use for internal document management or sharing. It can also be used to manage web sites on the server, replace Ftp, and even be developed directly as web IDE. At the same time you can also secondary development of this program integrated into your existing system.",
"copyright_contact" => "Authorize or customized, please contact QQ: <a href=\"http://wpa.qq.com/msgrd?v=3&uin=3232048103&site=qq&menu=yes\" target=\"_blank\">3232048103</a> <a href=\"javascript:core.openWindow('http://kalcaddle.com/qa.html');\">problem Feedback</a>",
"copyright_info" => "Copyright © <a href=\"http://kalcaddle.com/\" target=\"_blank\">kalcaddle.com</a> All rights reserved.",
@ -249,10 +250,10 @@ return array(
"need_check_code" => "Need Verification",
"login_rember_password" => "Remember me",
"us" => "kalcaddle.com",
"login_not_null" => "User name and password can not be empty!",
"login_not_null" => "User name and password cannot be empty!",
"code_error" => "Verification code error",
"password_error" => "Username or password error!",
"password_not_null" => "Password can not empty!",
"password_not_null" => "Password cannot be empty!",
"old_password_error" => "Old password error!",
"permission" => "Permission",
"permission_edit" => "Permission Edit",
@ -272,7 +273,7 @@ return array(
"close_others" => "Close others",
"loading" => "Loading...",
"warning" => "Warning",
"getting" => "Data getting...",
"getting" => "Retrieving data...",
"sending" => "Sending...",
"data_error" => "Data error! ",
"get_success" => "Success!",
@ -321,7 +322,7 @@ return array(
"add_to_fav" => "Add to bookmark",
"search_in_path" => "Folder",
"add_to_play" => "Add to playlist",
"manage_fav" => "Manage bookmark",
"manage_fav" => "Manage bookmarks",
"refresh_tree" => "Reload tree",
"manage_folder" => "Show in Finder",
"close_menu" => "Close menu",
@ -341,7 +342,7 @@ return array(
"moving" => "Move file",
"remove_title" => "Delete confirmation",
"remove_info" => "Confirmation remove the selected?",
"name_isexists" => "Wrong,the name already exists! ",
"name_isexists" => "Error,the name already exists! ",
"install" => "Install",
"width" => "Width",
"height" => "Height",
@ -374,7 +375,7 @@ return array(
"edit_can_not" => "Is not a text file",
"edit_too_big" => "Cannot be greater than 40M",
"open_default" => "Default mode",
"open_ie" => "Browser open",
"open_ie" => "Open in browser",
"refresh" => "Reload",
"refresh_all" => "Reload forced",
"newfile" => "New file",
@ -389,7 +390,7 @@ return array(
"address_in_edit" => "Click to enter the edit",
"double_click_rename" => "Double click the title rename",
"double_click_open" => "Double click to open",
"path_null" => "Folder is empty,you can drag and drop files to upload the window. ",
"path_null" => "Folder is empty, you can drag and drop files to the window to upload.",
"file_size_title" => "File icon size",
"file_size_small_super" => "Super small",
"file_size_small" => "Small",
@ -478,7 +479,7 @@ return array(
"setting_about" => "About",
"setting_success" => "Setting successfully.",
"can_not_repeat" => "Name already exists!",
"absolute_path" => "Absolute address",
"absolute_path" => "Absolute path",
"group" => "User group",
"data_not_full" => "Data submission incomplete! ",
"default_user_can_not_do" => "Default user cannot operate",
@ -490,7 +491,7 @@ return array(
"group_already_remove" => "The user group is deleted",
"group_not_exists" => "The user group does not exist",
"member_add" => "Add user",
"password_null_not_update" => "Empty representative doesn not modify the password",
"password_null_not_update" => "Empty representative not to modify the password",
"if_save_file" => "File has not been saved",
"if_remove" => "To confirm the deletion",
"member_remove_tips" => "Delete the user directory will be empty",
@ -570,7 +571,7 @@ return array(
"button_edit" => "Edit",
"button_save" => "Save",
"button_save_all" => "Save all",
"button_not_save" => "Don not save",
"button_not_save" => "Dont save",
"button_add" => "Add",
"button_back_add" => "Add and back",
"button_del" => "Delete",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "El directorio no es compatible con la búsqueda!",
"not_support" => "No es compatible!",
"group_not_exist" => "Grupo usuario no existe!",
"upload_clear" => "claro",
"upload_clear_all" => "Borrar todos",
"upload_clear" => "Borrar",
"upload_setting" => "establecer",
"upload_tips" => "Utiliza carga rebanada, ya no está sujeta a límite de php.ini; recomendada de arrastrar la carpeta de cromo y la experiencia de subir gota",
"upload_exist" => "Archivo del mismo nombre",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Kataloog ei toeta otsing!",
"not_support" => "Ei toetata!",
"group_not_exist" => "Kasutaja rühm ei ole olemas!",
"upload_clear" => "selge",
"upload_clear_all" => "Puhasta kõik",
"upload_clear" => "Clear Valminud",
"upload_setting" => "Luua",
"upload_tips" => "Kasutab viilu laadida, ei kuulu enam php.ini piiri; soovitatav kroomitud kausta lohistada üleslaadimisel kogemus",
"upload_exist" => "Faili sama nime",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "دایرکتوری جستجو پشتیبانی نمی کند!",
"not_support" => "پشتیبانی نمی شود!",
"group_not_exist" => "گروه کاربر وجود ندارد!",
"upload_clear" => "واضح",
"upload_clear_all" => "پاک کردن همه",
"upload_clear" => "پاک کردن کامل",
"upload_setting" => "تنظیم",
"upload_tips" => "استفاده از آپلود برش، به هیچ عنوان دیگر به حد فایل php.ini توصیه می شود کشیدن پوشه کروم و تجربه آپلود قطره",
"upload_exist" => "فایل به همین نام",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Hakemistoa ei tue haku!",
"not_support" => "Ei tuettu!",
"group_not_exist" => "Käyttäjä ryhmä ei ole olemassa!",
"upload_clear" => "selkeä",
"upload_clear_all" => "Tyhjennä kaikki",
"upload_clear" => "Tyhjennä Valmiit",
"upload_setting" => "Määritä",
"upload_tips" => "Käyttää viipale ladata, ei enää sovelleta php.ini rajaa; suositeltava kromi kansio lähettämistä vetämällä ja pudottamalla kokemus",
"upload_exist" => "Tiedosto on sama nimi",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Le répertoire ne supporte pas la recherche!",
"not_support" => "Non pris en charge!",
"group_not_exist" => "Groupe d'utilisateurs n'existe pas!",
"upload_clear" => "clair",
"upload_clear_all" => "Effacer tout",
"upload_clear" => "Effacer Terminé",
"upload_setting" => "installer",
"upload_tips" => "Utilise tranche téléchargement, ne sont plus soumis à la limite php.ini; recommandé glisser le dossier de chrome et drop expérience de téléchargement",
"upload_exist" => "Fichier du même nom",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "O directorio non soporta a busca!",
"not_support" => "Non soportado!",
"group_not_exist" => "grupo de usuarios non existe!",
"upload_clear" => "claro",
"upload_clear_all" => "borrar",
"upload_clear" => "borrar Feito",
"upload_setting" => "establecer",
"upload_tips" => "Usa carga porción, non máis suxeita a límite php.ini; recomendado arrastrar cartafol Chrome e experiencia carga caída",
"upload_exist" => "Arquivo co mesmo nome",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "निर्देशिका खोज का समर्थन नहीं करता है!",
"not_support" => "समर्थित नहीं!",
"group_not_exist" => "उपयोगकर्ता समूह मौजूद नहीं है!",
"upload_clear" => "स्पष्ट",
"upload_clear_all" => "सभी साफ़",
"upload_clear" => "पूरे साफ",
"upload_setting" => "सेट अप",
"upload_tips" => "टुकड़ा अपलोड, अब नहीं php.ini सीमा के अधीन उपयोग करता है; सिफारिश क्रोम फ़ोल्डर खींचें और ड्रॉप अपलोड अनुभव",
"upload_exist" => "एक ही नाम के फ़ाइल",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Katalog ne podržava pretraživanje!",
"not_support" => "Nije podržano!",
"group_not_exist" => "Korisnik grupa ne postoji!",
"upload_clear" => "jasno",
"upload_clear_all" => "Očisti sve",
"upload_clear" => "Vedro Završena",
"upload_setting" => "postaviti",
"upload_tips" => "Koristi kriška prijenos, više ne podliježu php.ini granice, preporučuje krom mape povucite i ispustite prijenos iskustva",
"upload_exist" => "Datoteka istog imena",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "A könyvtár nem támogatja a keresést!",
"not_support" => "Nem támogatott!",
"group_not_exist" => "Felhasználói csoport nem létezik!",
"upload_clear" => "világos",
"upload_clear_all" => "Tiszta minden",
"upload_clear" => "Tiszta Befejezett",
"upload_setting" => "beállítása",
"upload_tips" => "Felhasználás szelet feltöltés, már nem vonatkoznak a php.ini határt; ajánlott króm mappát drag and drop feltöltési tapasztalat",
"upload_exist" => "Fájl az azonos nevű",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "direktori tidak mendukung pencarian!",
"not_support" => "Tidak didukung!",
"group_not_exist" => "kelompok pengguna tidak ada!",
"upload_clear" => "jelas",
"upload_clear_all" => "Hapus semua",
"upload_clear" => "jelas Selesai",
"upload_setting" => "mendirikan",
"upload_tips" => "Menggunakan meng-upload slice, tidak lagi tunduk pada batasan php.ini; direkomendasikan tarik folder chrome dan penurunan pengalaman upload",
"upload_exist" => "File dengan nama yang sama",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "La directory non supporta la ricerca!",
"not_support" => "Non supportato!",
"group_not_exist" => "Gruppo utenti non esiste!",
"upload_clear" => "chiaro",
"upload_clear_all" => "Cancellare tutto",
"upload_clear" => "Cancella Completato",
"upload_setting" => "impostare",
"upload_tips" => "Utilizza caricare fetta, non più soggetta a limiti php.ini; raccomandato trascinare la cartella chrome e l'esperienza caricando goccia",
"upload_exist" => "File con lo stesso nome",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "ディレクトリは、検索をサポートしていません!",
"not_support" => "サポートされていません!",
"group_not_exist" => "ユーザグループは存在しません!",
"upload_clear" => "クリア",
"upload_clear_all" => "すべてクリア",
"upload_clear" => "Clear完了",
"upload_setting" => "セットアップ",
"upload_tips" => "php.iniの制限を受けなくなったスライスのアップロードを使用し、推奨クロムフォルダのドラッグドロップのアップロードの経験",
"upload_exist" => "同じ名前のファイル",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "디렉토리 검색을 지원하지 않습니다!",
"not_support" => "지원되지 않음!",
"group_not_exist" => "사용자 그룹이 존재하지 않는!",
"upload_clear" => "맑은",
"upload_clear_all" => "모두 지우기",
"upload_clear" => "클리어 완료",
"upload_setting" => "설정",
"upload_tips" => "php.ini의 제한에 따라 더 이상 조각 업로드를 사용, 권장 크롬 폴더 드래그 앤 드롭 업로드 경험",
"upload_exist" => "같은 이름의 파일",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Katalogas nepalaiko paiešką!",
"not_support" => "Nepalaikoma!",
"group_not_exist" => "Vartotojų grupė neegzistuoja!",
"upload_clear" => "aiškus",
"upload_clear_all" => "Išvalyti viską",
"upload_clear" => "Išvalyti Baigtas",
"upload_setting" => "įsteigti",
"upload_tips" => "Naudoja gabalas įkelti, nebetaikomos php.ini ribos; rekomenduojama chromo aplanko vilkite ir upuść įkelti patirtis",
"upload_exist" => "Failo to paties pavadinimo",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "De directory ondersteunt de zoekopdracht!",
"not_support" => "Niet ondersteund!",
"group_not_exist" => "Gebruikersgroep bestaat niet!",
"upload_clear" => "duidelijk",
"upload_clear_all" => "Clear all",
"upload_clear" => "Clear Completed",
"upload_setting" => "oprichten",
"upload_tips" => "Gebruikt slice upload, niet langer onderworpen aan php.ini beperken; aanbevolen chroom map slepen en neerzetten uploaden ervaring",
"upload_exist" => "Bestand met dezelfde naam",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Katalogen støtter ikke søk!",
"not_support" => "Støttes!",
"group_not_exist" => "Brukergruppe finnes ikke!",
"upload_clear" => "Clear",
"upload_clear_all" => "Fjern alle",
"upload_clear" => "Clear Fullført",
"upload_setting" => "Sett opp",
"upload_tips" => "Bruker skive opplasting, ikke lenger gjenstand for php.ini grense, anbefales chrome mappen dra og slipp-opplasting erfaring",
"upload_exist" => "Fil med samme navn",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Katalog nie obsługuje wyszukiwania!",
"not_support" => "Nie jest obsługiwany!",
"group_not_exist" => "Grupa użytkowników nie istnieje!",
"upload_clear" => "jasny",
"upload_clear_all" => "Wyczyść wszystko",
"upload_clear" => "Wyczyść Zakończono",
"upload_setting" => "utworzyć",
"upload_tips" => "Używa przesyłanie plaster, nie podlega już php.ini limitu; zaleca przeciągnij i upuść Folder chrom doświadczenie przesyłania",
"upload_exist" => "Plik o tej samej nazwie",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "O diretório não suporta a busca!",
"not_support" => "Não suportado!",
"group_not_exist" => "grupo de usuários não existe!",
"upload_clear" => "claro",
"upload_clear_all" => "Limpar",
"upload_clear" => "Limpar Concluído",
"upload_setting" => "estabelecer",
"upload_tips" => "Usa carregamento fatia, não mais sujeita a limite php.ini; recomendado arrastar pasta chrome e experiência upload queda",
"upload_exist" => "Arquivo com o mesmo nome",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Directorul nu acceptă căutarea!",
"not_support" => "Nu este suportat!",
"group_not_exist" => "grup de utilizatori nu există!",
"upload_clear" => "clar",
"upload_clear_all" => "Șterge tot",
"upload_clear" => "Golirea a fost finalizată",
"upload_setting" => "Creare",
"upload_tips" => "Utilizeaza de încărcare felie, nu mai sunt supuse la limita php.ini; recomandat tragere dosar de crom și picătură de experiență de încărcare",
"upload_exist" => "Fișier cu același nume",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Каталог не поддерживает поиск!",
"not_support" => "Не поддерживается!",
"group_not_exist" => "Группа пользователей не существует!",
"upload_clear" => "ясно",
"upload_clear_all" => "Очистить все",
"upload_clear" => "Очистить завершенные",
"upload_setting" => "устанавливать",
"upload_tips" => "Использует ломтик загружать, больше не подлежит php.ini пределу, рекомендуется перетащить папку хром и падение опыт загрузка",
"upload_exist" => "Файл с таким же именем",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "බහලුම මෙම සෝදිසි සහාය නොදක්වයි!",
"not_support" => "පහසුකම් සපයන්නේ නැත!",
"group_not_exist" => "පරිශීලක කාණ්ඩ නොපවතියි!",
"upload_clear" => "පැහැදිලි",
"upload_clear_all" => "සියලු දේ ඉවත්",
"upload_clear" => "පැහැදිලි සම්පූර්ණ",
"upload_setting" => "සකසන්න",
"upload_tips" => "php.ini සීමාව යටත් තවදුරටත් පෙත්තක් උඩුගත, භාවිතා කරයි; නිර්දේශ ක්රෝමියම් ෆෝල්ඩරය ඇද උඩුගත අත්දැකීම් අතහැර",
"upload_exist" => "මෙම නම සහිත ගොනුවක්",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Adresár nepodporuje vyhľadávanie!",
"not_support" => "Nie je podporované!",
"group_not_exist" => "Užívateľ skupina neexistuje!",
"upload_clear" => "zrejmý",
"upload_clear_all" => "vymazať všetko",
"upload_clear" => "clear Dokončené",
"upload_setting" => "založiť",
"upload_tips" => "Používa plátok nahrávať, už nepodlieha php.ini hranicu; odporúča chróm zložky drag and drop nahrávania skúsenosti",
"upload_exist" => "Súbor s rovnakým názvom",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Imenik ne podpira iskanje!",
"not_support" => "Ne podpira!",
"group_not_exist" => "Uporabnik skupina ne obstaja!",
"upload_clear" => "Počisti",
"upload_clear_all" => "Počisti vse",
"upload_clear" => "Počisti Dokončana",
"upload_setting" => "Nastavitev",
"upload_tips" => "Uporablja rezine nalaganje, ni več predmet php.ini meje; priporoča povleci mapo krom in spusti nalaganje izkušnje",
"upload_exist" => "Datoteka z istim imenom",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Директоријум не подржава потрагу!",
"not_support" => "Није подржан!",
"group_not_exist" => "Корисничка група не постоји!",
"upload_clear" => "јасно",
"upload_clear_all" => "јасно све",
"upload_clear" => "јасно Завршен",
"upload_setting" => "поставити",
"upload_tips" => "Користи слице додавање, не подлеже пхп.ини границе; препоручује хром фасцикла драг анд дроп уплоад искуство",
"upload_exist" => "Датотека са истим именом",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Katalogen stöder inte sökningen!",
"not_support" => "stöds inte!",
"group_not_exist" => "Användargrupp finns inte!",
"upload_clear" => "klar",
"upload_clear_all" => "Rensa alla",
"upload_clear" => "Rensa Avslutade",
"upload_setting" => "inrätta",
"upload_tips" => "Använder skiva uppladdning, inte längre omfattas av php.ini gräns, rekommenderas krom mapp dra och släpp uppladdning erfarenhet",
"upload_exist" => "Fil med samma namn",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "அடைவு தேடல் ஆதரிக்கவில்லை!",
"not_support" => "ஆதரவு இல்லை!",
"group_not_exist" => "பயனர் குழு இல்லை!",
"upload_clear" => "தெளிவு",
"upload_clear_all" => "அனைத்து தெளிவு",
"upload_clear" => "தெளிவான நிறைவு",
"upload_setting" => "அமைக்கவும்",
"upload_tips" => "துண்டு பதிவேற்ற, இனி php.ini வரம்பிற்கு உட்பட்டு பயன்படுத்துகிறது; பரிந்துரைக்கப்படுகிறது Chrome கோப்புறையை இழுத்து பதிவேற்றம் அனுபவம்",
"upload_exist" => "அதே பெயரில் கோப்பு",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "ไดเรกทอรีไม่สนับสนุนการค้นหา!",
"not_support" => "ไม่ได้รับการสนับสนุน!",
"group_not_exist" => "กลุ่มผู้ใช้ไม่อยู่!",
"upload_clear" => "ชัดเจน",
"upload_clear_all" => "ล้างทั้งหมด",
"upload_clear" => "ล้างเสร็จสมบูรณ์",
"upload_setting" => "จัดตั้งขึ้น",
"upload_tips" => "ใช้การอัปโหลดชิ้นไม่อยู่ภายใต้ขีด จำกัด php.ini; แนะนำลากโฟลเดอร์โครเมี่ยมและประสบการณ์การอัปโหลดลดลง",
"upload_exist" => "ไฟล์ที่มีชื่อเดียวกัน",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "dizin arama desteklemiyor!",
"not_support" => "desteklenmiyor!",
"group_not_exist" => "Kullanıcı grubu yok!",
"upload_clear" => "ık",
"upload_clear_all" => "Tümünü temizle",
"upload_clear" => "temizle Tamamlandı",
"upload_setting" => "kurmak",
"upload_tips" => "php.ini sınırına tabi artık dilim yükleme kullanır; önerilen krom klasör sürükle ve bırak yükleme deneyimi",
"upload_exist" => "aynı adı taşıyan dosya",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Каталог не підтримує пошук!",
"not_support" => "Чи не дозволені!",
"group_not_exist" => "Група користувачів не існує!",
"upload_clear" => "ясно",
"upload_clear_all" => "Очистити всі",
"upload_clear" => "Очистити завершені",
"upload_setting" => "встановлювати",
"upload_tips" => "Використовує скибочку завантажувати, більше не підлягає php.ini межі, рекомендується перетягнути папку хром і падіння досвід завантаження",
"upload_exist" => "Файл з таким же ім'ям",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "katalog qidirish qo'llab-quvvatlamaydi!",
"not_support" => "qo'llanmagan!",
"group_not_exist" => "Foydalanuvchi guruhi mavjud emas!",
"upload_clear" => "aniq",
"upload_clear_all" => "Clear barcha",
"upload_clear" => "aniq yakunlandi",
"upload_setting" => "sozlang",
"upload_tips" => "php.ini limiti mavzu endi tilim upload, foydalanadi; tavsiya Chrome papkani drag va tomchi o'rnatish tajribasi",
"upload_exist" => "Shu nomi Fayl",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "Các thư mục không hỗ trợ việc tìm kiếm!",
"not_support" => "Không được hỗ trợ!",
"group_not_exist" => "nhóm người sử dụng không tồn tại!",
"upload_clear" => "trong sáng",
"upload_clear_all" => "Xóa tất cả",
"upload_clear" => "rõ ràng hoàn thành",
"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_exist" => "Tập tin cùng tên",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "该目录不支持搜索!",
"not_support" => "暂不支持!",
"group_not_exist" => "用户组不存在!",
"upload_clear" => "清空",
"upload_clear_all" => "清空所有",
"upload_clear" => "清空已完成",
"upload_setting" => "设置",
"upload_tips" => "采用分片上传,不再受php.ini限制;推荐chrome体验文件夹拖拽上传",
"upload_exist" => "同名文件处理",

View File

@ -102,7 +102,8 @@ return array(
"path_cannot_search" => "该目录不支持搜尋!",
"not_support" => "暂不支持!",
"group_not_exist" => "用户组不存在!",
"upload_clear" => "清除",
"upload_clear_all" => "清空所有",
"upload_clear" => "清空已完成",
"upload_setting" => "設定",
"upload_tips" => "採取分段上傳,不再受php.ini限制;推薦Chrome體驗資料夾拖曳上傳",
"upload_exist" => "重複的文件",

View File

@ -10,7 +10,7 @@
$config['settings'] = array(
'download_url_time' => 0, //下载地址生效时间按秒计算0代表不限制默认不限制
'api_login_tonken' => '', //设定则认为开启服务端api通信登陆同时作为加密密匙
'update_chunk_size' => 1024*1024, //分片上传大小设定不设定则用post_max_size;有时会受nginx的post_size限制
'updload_chunk_size'=> 1024*1024, //1M;分片上传大小设定不设定则用post_max_size;有时会受nginx的post_size限制
'param_rewrite' => false,
);
@ -146,7 +146,7 @@ $config['role_setting'] = array(
//只读配置guest需要检查path的action
$config['role_guest_check'] = array(
'explorer' => array(//排除只读pathCopy、clipboard、pathInfo、search
'mkdir','mkfile','pathRname','pathDelete','zip','unzip','pathCute',
'mkdir','mkfile','pathRname','pathDelete','zip','unzip','pathCute','officeSave',
'pathCuteDrag','pathCopyDrag','pathPast','serverDownload','fileUpload'),
'app' => array('user_app','add','edit','del'),//
'editor' => array('fileSave'),

View File

@ -1,2 +1,2 @@
<?php
define('KOD_VERSION','3.37');
define('KOD_VERSION','3.38');

View File

@ -67,7 +67,9 @@ class explorer extends Controller{
//属性查看,单个文件则生成临时下载地址。没有权限则不显示
if (count($info_list)==1 && $info_list[0]['type']!='folder') {//单个文件
$file = $info_list[0]['path'];
if($GLOBALS['is_root'] || $GLOBALS['auth']['explorer:fileDownload']==1){
if( $GLOBALS['is_root'] ||
$GLOBALS['auth']['explorer:fileDownload']==1 ||
isset($this->in['viewPage'])){
$data['download_path'] = _make_file_proxy($file);
}
if($data['size'] < 100*1024|| isset($this->in['get_md5'])){//100kb
@ -583,6 +585,10 @@ class explorer extends Controller{
}
$success=0;$error=0;
foreach ($list as $val) {
if(!$val['path'] || $val['path'] == '/'){
$error++;
continue;
}
$path_this = _DIR($val['path']);
//不是自己目录的分享列表,不支持删除
if( $GLOBALS['path_type'] == KOD_USER_SHARE &&
@ -1076,7 +1082,7 @@ class explorer extends Controller{
//kodoffice 预览
if(defined("OFFICE_KOD_SERVER")){
$file_link = APPHOST.'index.php?explorer/fileProxy&path='.$this->in['path'];
$file_link = APPHOST.'index.php?explorer/fileProxy&path='.rawurlencode($this->in['path']);
$view_type = '&appMode=edit&access_token='.session_id();
if(OFFICE_KOD_ACTION == 'read'){//只读
$view_type = '&appMode=view';
@ -1086,7 +1092,8 @@ class explorer extends Controller{
$app_r = rand_string(10);
$office_url = OFFICE_KOD_SERVER.rawurlencode($file_link)
.'&lang='.LANGUAGE_TYPE.'&appType=desktop'.$view_type
.'&file_time='.@filemtime($this->path).'&user_id='.$user_info['user_id'].'&user_name='.$user_info['name']
.'&file_time='.@filemtime($this->path).'&key='.md5($this->path)
.'&user_id='.$user_info['user_id'].'&user_name='.$user_info['name']
.'&app_id='.OFFICE_KOD_APP_ID.'&app_s='.$app_r.'&app_v='.md5($app_r.OFFICE_KOD_APP_KEY);
header("location:".$office_url);
exit;
@ -1164,6 +1171,8 @@ class explorer extends Controller{
@header( 'Content-Type: application/json; charset==utf-8');
@header( 'X-Robots-Tag: noindex' );
@header( 'X-Content-Type-Options: nosniff' );
write_log(json_encode(array($this->in,$info)),'office_save');
echo json_encode($info);
exit;
}
@ -1173,13 +1182,15 @@ class explorer extends Controller{
$download = isset($this->in['download']);
file_put_out($this->path,$download);
}
/**
* 上传,html5拖拽 flash 多文件
*/
public function fileUpload(){
$save_path = _DIR($this->in['upload_to']);
if (!path_writeable($save_path)) show_json($this->in['upload_to'],false);
if (!path_writeable($save_path)) show_json($this->L['no_permission_write'],false);
if ($save_path == '') show_json($this->L['upload_error_big'],false);
if (strlen($this->in['fullPath']) > 1) {//folder drag upload
$full_path = _DIR_CLEAR(rawurldecode($this->in['fullPath']));
$full_path = get_path_father($full_path);

View File

@ -14,6 +14,7 @@ class share extends Controller{
function __construct(){
parent::__construct();
$this->tpl = TEMPLATE.'share/';
$auth = system_role::get_info(1);
//不需要检查的action
$arr_not_check = array('common_js');
if (!in_array(ACT,$arr_not_check)){
@ -215,6 +216,13 @@ class share extends Controller{
$user = $member->get($this->in['user']);
$user_config = fileCache::load(USER_PATH.$user['path'].'/'.'data/config.php');
}
if(isset($this->config['setting_system']['version_hash'])){
$the_config['version_hash'] = $this->config['setting_system']['version_hash'];
}
if(defined('OFFICE_KOD_SERVER')){
$the_config['kodOffice'] = OFFICE_KOD_OPEN;
}
$the_config['user_config'] = $user_config;
$js = 'LNG='.json_encode($GLOBALS['L']).';';
@ -356,7 +364,7 @@ class share extends Controller{
$app_r = rand_string(10);
$office_url = OFFICE_KOD_SERVER.rawurlencode($file_url)
.'&lang='.LANGUAGE_TYPE.'&appType=desktp&appMode=view'
.'&file_time='.@filemtime($this->path)
.'&file_time='.@filemtime($this->path).'&key='.md5($this->path)
.'&app_id='.OFFICE_KOD_APP_ID.'&app_s='.$app_r.'&app_v='.md5($app_r.OFFICE_KOD_APP_KEY);
header("location:".$office_url);
exit;

View File

@ -22,7 +22,9 @@ class user extends Controller{
}
}
//不需要判断的action
$this->notCheck = array('loginFirst','login','logout','loginSubmit','checkCode','public_link','qrcode','sso');
$this->notCheck = array(
'loginFirst','login','logout','loginSubmit',
'checkCode','public_link','qrcode','sso');
$this->notCheckApp = array('share','debug');
$this->config['forceWap'] = is_wap() && (!isset($_COOKIE['forceWap']) || $_COOKIE['forceWap'] == '1');
}
@ -233,6 +235,9 @@ class user extends Controller{
if(isset($this->config['setting_system']['version_hash'])){
$the_config['version_hash'] = $this->config['setting_system']['version_hash'];
}
if(defined('OFFICE_KOD_SERVER')){
$the_config['kodOffice'] = OFFICE_KOD_OPEN;
}
if (!isset($GLOBALS['auth'])) {
$GLOBALS['auth'] = array();
}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<?php exit;?>{"1":{"user_id":"1","name":"admin","password":"21232f297a57a5a743894a0e4a801fc3","role":"1","config":{"size_max":1,"size_use":5369},"group_info":{"1":"write"},"path":"admin","status":1,"create_time":"","size_max":"1","last_login":""},"100":{"user_id":"100","name":"demo","password":"fe01ce2a7fbac8fafaed7c982a04e229","role":"2","config":{"size_max":5,"size_use":1048576},"group_info":{"1":"read"},"path":"demo","status":1,"last_login":"","create_time":""},"101":{"user_id":"101","name":"guest","password":"084e0343a0486ff05530df6c705c8bb4","role":"100","config":{"size_max":0.1,"size_use":1048576},"group_info":{"1":"read"},"path":"guest","status":1,"last_login":"","create_time":""}}
<?php exit;?>{"1":{"user_id":"1","name":"admin","password":"21232f297a57a5a743894a0e4a801fc3","role":"1","config":{"size_max":1,"size_use":5369},"group_info":{"1":"write"},"path":"admin","status":1,"create_time":"","size_max":"1","last_login":""},"100":{"user_id":"100","name":"demo","password":"fe01ce2a7fbac8fafaed7c982a04e229","role":"2","config":{"size_max":5,"size_use":1048576},"group_info":{"1":"write"},"path":"demo","status":1,"last_login":"","create_time":""},"101":{"user_id":"101","name":"guest","password":"084e0343a0486ff05530df6c705c8bb4","role":"100","config":{"size_max":0.1,"size_use":1048576},"group_info":{"1":"read"},"path":"guest","status":1,"last_login":"","create_time":""}}

File diff suppressed because one or more lines are too long

View File

@ -113,6 +113,7 @@ class fileCache{
//是否发生改变
$last_hash = @md5_file($this->file);
if($last_hash != $this->file_hash){
$this->file_hash = $last_hash;
$this->data= self::load($this->file);
}
}
@ -167,7 +168,6 @@ class fileCache{
if (!file_exists($file)){
@touch($file);
}
$str = file_get_contents($file);
$str = substr($str, strlen(CONFIG_EXIT));
$data= json_decode($str,true);
@ -177,13 +177,12 @@ class fileCache{
/**
* 保存数据;
*/
public static function save($file,$data){//10000次需要6s
public static function save($file,$data){//10000次需要6s
if (!$file) return false;
$file = iconv_system($file);
if (!file_exists($file)){
@touch($file);
}
chmod_path($file,0777);
if (!path_writeable($file)) {
if(isset($GLOBALS['L'])){
@ -197,14 +196,16 @@ class fileCache{
show_tips('json_encode error!');
}
if($fp = fopen($file, "w")){
if (flock($fp, LOCK_EX)) { // 进行排它型锁定
$str = CONFIG_EXIT.$json_str;
fwrite($fp, $str);
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // 释放锁定
}
$buffer = CONFIG_EXIT.$json_str;
$file_temp = $file.mtime();
if($fp = fopen($file_temp, "w")){
fwrite($fp, $buffer);
fflush($fp);
fclose($fp);
rename($file_temp,$file);
}else{
unlink($file_temp);
show_tips('[fileCache:save] open error!');
}
return true;
}

View File

@ -27,10 +27,10 @@ function _autoload($className){
function init_model($model_name){
if (!class_exists($model_name.'Model')) {
$model_file = MODEL_DIR.$model_name.'Model.class.php';
include($model_file);
if(!is_file($model_file)){
return false;
}
include($model_file);
}
$reflectionObj = new ReflectionClass($model_name.'Model');
$args = func_get_args();
@ -438,10 +438,71 @@ function show_json($data,$code = true,$info=''){
ob_end_clean();
header("X-Powered-By: kodExplorer.");
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result);
$json = json_encode($result);
if($json === false){
$json = __json_encode($result);
}
echo $json;
exit;
}
function __json_encode( $data ) {
if( is_array($data) || is_object($data) ) {
$islist = is_array($data) && ( empty($data) || array_keys($data) === range(0,count($data)-1) );
if( $islist ) {
$json = '[' . implode(',', array_map('__json_encode', $data) ) . ']';
} else {
$items = Array();
foreach( $data as $key => $value ) {
$items[] = __json_encode("$key") . ':' . __json_encode($value);
}
$json = '{' . implode(',', $items) . '}';
}
} else if( is_string($data) ) {
$string = '"' . addcslashes($data, "\\\"\n\r\t/" . chr(8) . chr(12)) . '"';
$json = '';
$len = strlen($string);
# Convert UTF-8 to Hexadecimal Codepoints.
for( $i = 0; $i < $len; $i++ ) {
$char = $string[$i];
$c1 = ord($char);
# Single byte;
if( $c1 <128 ) {
$json .= ($c1 > 31) ? $char : sprintf("\\u%04x", $c1);
continue;
}
# Double byte
$c2 = ord($string[++$i]);
if ( ($c1 & 32) === 0 ) {
$json .= sprintf("\\u%04x", ($c1 - 192) * 64 + $c2 - 128);
continue;
}
# Triple
$c3 = ord($string[++$i]);
if( ($c1 & 16) === 0 ) {
$json .= sprintf("\\u%04x", (($c1 - 224) <<12) + (($c2 - 128) << 6) + ($c3 - 128));
continue;
}
# Quadruple
$c4 = ord($string[++$i]);
if( ($c1 & 8 ) === 0 ) {
$u = (($c1 & 15) << 2) + (($c2>>4) & 3) - 1;
$w1 = (54<<10) + ($u<<6) + (($c2 & 15) << 2) + (($c3>>4) & 3);
$w2 = (55<<10) + (($c3 & 15)<<6) + ($c4-128);
$json .= sprintf("\\u%04x\\u%04x", $w1, $w2);
}
}
} else {
$json = strtolower(var_export( $data, true ));
}
return $json;
}
/**
* 简单模版转换,用于根据配置获取列表:
* 参数cute1:第一次切割的字符串cute2第二次切割的字符串,

View File

@ -32,18 +32,13 @@
// 传入参数为程序编码时,有传出,则用程序编码,
// 传入参数没有和输出无关时,则传入时处理成系统编码。
if(!defined("DEFAULT_PERRMISSIONS")){
define("DEFAULT_PERRMISSIONS",0755);
}
function iconv_app($str){
if (!function_exists('iconv')){
return $str;
}
global $config;
$result = @iconv($config['system_charset'], $config['app_charset'], $str);
if (!$result || strlen($result)==0) {//转换失败
$result = iconv($config['system_charset'], $config['app_charset'], $str);
if (strlen($result)==0) {//转换失败
$result = $str;
}
return $result;
@ -53,8 +48,8 @@ function iconv_system($str){
return $str;
}
global $config;
$result = @iconv($config['app_charset'], $config['system_charset'], $str);
if (!$result || strlen($result)==0) {//转换失败
$result = iconv($config['app_charset'], $config['system_charset'], $str);
if (strlen($result)==0) {//转换失败
$result = $str;
}
return $result;
@ -145,7 +140,7 @@ function path_readable($path){
$mode = get_mode($path);
if( $mode &&
strlen($mode) == 18 &&
substr($mode,-9,1) == 'r'){// drwx rwx r-x(0775)
substr($mode,-9,1) == 'r'){// -rwx rwx rwx(0777)
return true;
}
return false;
@ -158,7 +153,7 @@ function path_writeable($path){
$mode = get_mode($path);
if( $mode &&
strlen($mode) == 18 &&
substr($mode,-8,1) == 'w'){// drwx rwx r-x(0775)
substr($mode,-8,1) == 'w'){// -rwx rwx rwx (0777)
return true;
}
return false;
@ -420,7 +415,7 @@ function path_haschildren($dir,$check_file=false){
*/
function del_file($fullpath){
if (!@unlink($fullpath)) { // 删除不了,尝试修改文件权限
@chmod($fullpath, DEFAULT_PERRMISSIONS);
@chmod($fullpath, 0777);
if (!@unlink($fullpath)) {
return false;
}
@ -435,20 +430,20 @@ function del_file($fullpath){
function del_dir($dir){
if(!file_exists($dir) || !is_dir($dir)) return true;
if (!$dh = opendir($dir)) return false;
ignore_timeout();
@set_time_limit(0);
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") {
$fullpath = $dir . '/' . $file;
if (!is_dir($fullpath)) {
if (!unlink($fullpath)) { // 删除不了,尝试修改文件权限
chmod($fullpath, DEFAULT_PERRMISSIONS);
chmod($fullpath, 0777);
if (!unlink($fullpath)) {
return false;
}
}
} else {
if (!del_dir($fullpath)) {
chmod($fullpath, DEFAULT_PERRMISSIONS);
chmod($fullpath, 0777);
if (!del_dir($fullpath)) return false;
}
}
@ -477,7 +472,7 @@ function copy_dir($source, $dest){
if (!$dest) return false;
if (is_dir($source) && $source == substr($dest,0,strlen($source))) return false;//防止父文件夹拷贝到子文件夹,无限递归
ignore_timeout();
@set_time_limit(0);
$result = true;
if (is_file($source)) {
if ($dest[strlen($dest)-1] == '/') {
@ -486,13 +481,13 @@ function copy_dir($source, $dest){
$__dest = $dest;
}
$result = @copy($source, $__dest);
@chmod($__dest, DEFAULT_PERRMISSIONS);
@chmod($__dest, 0777);
}else if(is_dir($source)) {
if ($dest[strlen($dest)-1] == '/') {
$dest = $dest . basename($source);
}
if (!is_dir($dest)) {
@mkdir($dest,DEFAULT_PERRMISSIONS);
@mkdir($dest,0777);
}
if (!$dh = opendir($source)) return false;
while (($file = readdir($dh)) !== false) {
@ -505,8 +500,35 @@ function copy_dir($source, $dest){
return $result;
}
/**
* 移动文件&文件夹;(同名文件夹则特殊处理)
* 问题win下挂载磁盘移动到系统盘时rmdir导致遍历不完全
*/
function move_path2($source,$dest,$repeat_add='',$repeat_type='replace'){
if (!$dest) return false;
if (is_dir($source) && $source == substr($dest,0,strlen($source))) return false;//防止父文件夹拷贝到子文件夹,无限递归
@set_time_limit(0);
if (is_file($source)) {
return move_file($source,$dest,$repeat_add,$repeat_type);
}else if(is_dir($source)) {
if ($dest[strlen($dest)-1] == '/') {
$dest = $dest . basename($source);
}
if (!file_exists($dest)) {
@mkdir($dest,0777);
}
if (!$dh = opendir($source)) return false;
while (($file = readdir($dh)) !== false) {
if ($file =='.' || $file =='..') continue;
move_path($source."/".$file, $dest."/".$file,$repeat_add,$repeat_type);
}
closedir($dh);
return @rmdir($source);
}
}
function move_file($source,$dest,$repeat_add,$repeat_type){
if ($dest[strlen($dest)-1] == '/') {
if ($dest[strlen($dest)-1] == '/') {
$dest = $dest . "/" . basename($source);
}
if(file_exists($dest)){
@ -514,57 +536,35 @@ function move_file($source,$dest,$repeat_add,$repeat_type){
}
return intval(@rename($source,$dest));
}
/**
* [move_path description]
* @param [type] $source [源文件]
* @param [type] $dest [目标路径]
* @param string $repeat_add [文件重复则追加]
* @param string $repeat_type [重复处理方式]
* @return [type] [bool]
*
* rename:先用rename
* 1.文件,rename可以在不同盘符之间移动.
* 2.空文件夹:也可以在不同盘符之间移动.但是目标文件夹的父目录必须存在
* 3.对于非空文件夹,只能在同一盘符下移动.
*/
function move_path($source,$dest,$repeat_add='',$repeat_type='replace'){
if (!$dest || !file_exists($source)) return false;
if (!$dest || !file_exists($source)) return false;
if (is_dir($source) && $source == substr($dest,0,strlen($source))) return false;//防止父文件夹拷贝到子文件夹,无限递归
if(is_file($source)){
return move_file($source,$dest,$repeat_add,$repeat_type);
}else if(is_dir($source)){
//尝试直接重命名
$the_dest = $dest;
if(file_exists($the_dest)){
$the_dest = get_filename_auto($dest,$repeat_add,$repeat_type);
}
if( @rename(rtrim($source,'/'),rtrim($the_dest,'/')) ){
return true;
}
}
ignore_timeout();
@set_time_limit(0);
if(is_file($source)){
return move_file($source,$dest,$repeat_add,$repeat_type);
}
recursion_dir($source,$dirs,$files,-1,0);
@mkdir($dest);
foreach($dirs as $f){
$path = $dest.'/'.substr($f,strlen($source));
if(!file_exists($path)){
mk_dir($path);
}
$path = $dest.'/'.substr($f,strlen($source));
if(!file_exists($path)){
mk_dir($path);
}
}
$file_success = 0;
foreach($files as $f){
$path = $dest.'/'.substr($f,strlen($source));
$file_success += move_file($f,$path,$repeat_add,$repeat_type);
$path = $dest.'/'.substr($f,strlen($source));
$file_success += move_file($f,$path,$repeat_add,$repeat_type);
}
foreach($dirs as $f){
rmdir($f);
rmdir($f);
}
@rmdir($source);
if($file_success == count($files)){
del_dir($source);
return true;
del_dir($source);
return true;
}
return false;
}
@ -576,7 +576,7 @@ function move_path($source,$dest,$repeat_add='',$repeat_type='replace'){
* @param int $mode
* @return bool
*/
function mk_dir($dir, $mode = DEFAULT_PERRMISSIONS){
function mk_dir($dir, $mode = 0777){
if (is_dir($dir) || @mkdir($dir, $mode)){
return true;
}
@ -750,7 +750,7 @@ function file_search($path,$search,$is_case){
* @return :string
*/
function chmod_path($path,$mod){
if (!isset($mod)) $mod = DEFAULT_PERRMISSIONS;
if (!isset($mod)) $mod = 0777;
if (!file_exists($path)) return;
if (is_file($path)) return @chmod($path,$mod);
if (!$dh = @opendir($path)) return false;
@ -863,7 +863,7 @@ function file_put_out($file,$download=false){
$filename = iconv_app(get_path_this($file));
}
ignore_timeout();
@set_time_limit(0);
ob_end_clean();
$mime = get_file_mime(get_path_ext($file));
$time = gmdate('D, d M Y H:i:s', filemtime($file));
@ -940,7 +940,7 @@ function file_put_out($file,$download=false){
* 支持fopen的打开都可以支持本地、url
*/
function file_download_this($from, $file_name,$header_size=0){
ignore_timeout();
@set_time_limit(0);
if ($fp = @fopen ($from, "rb")){
if(!$download_fp = @fopen($file_name, "wb")){
return false;
@ -1021,22 +1021,23 @@ function get_post_max(){
// 兼容move_uploaded_file 和 流的方式上传
function kod_move_uploaded_file($from_path,$save_path){
$temp_path = $save_path.'.parttmp';
if($from_path == "php://input"){
$in = @fopen("php://input", "rb");
$out = @fopen($save_path, "wb");
$in = @fopen($from_path, "rb");
$out = @fopen($temp_path, "wb");
if(!$in || !$out) return false;
while ($buff = fread($in, 4096)) {
fwrite($out, $buff);
while (!feof($in)) {
fwrite($out, fread($in, 409600));
}
@fclose($in);
@fclose($out);
return true;
fclose($in);
fclose($out);
}else{
if (get_filesize($from_path) == 0) {
show_json('upload_error',false,'zero size');
show_json('chunk upload error!',false);
}
return move_uploaded_file($from_path,$save_path);
move_uploaded_file($from_path,$temp_path);
}
return rename($temp_path,$save_path);
}
/**
@ -1060,12 +1061,12 @@ function upload_chunk($fileInput, $path = './',$temp_path,$repeat_action){
$arr['part_'.$index] = md5_file($chunk_file_pre.$index);
}
}
show_json('success',ture,$arr);
show_json('success',true,$arr);
}else{
show_json('not_exists',false);
}
}
//if(mt_rand(0, 100) < 50) die("server error");
//if(mt_rand(0, 100) < 50) die("server error".$chunk);
space_size_use_check();//空间检测
$file_name = "";
if (!empty($_FILES)) {
@ -1088,25 +1089,35 @@ function upload_chunk($fileInput, $path = './',$temp_path,$repeat_action){
}
if (!$done){
show_json('upload_success',true,'chunk_'.$chunk.' success!');
}
$save_path = $path.$file_name;
$out = fopen($save_path, "wb");
if(!$out){
show_json('no_permission_write',false);
}
if ($done && flock($out, LOCK_EX)) {
for( $index = 0; $index < $chunks; $index++ ) {
if (!$in = @fopen($temp_file_pre.$index,"rb")) break;
while ($buff = fread($in, 4096)) {
fwrite($out, $buff);
}
fclose($in);
unlink($temp_file_pre.$index);
}else{
$save_path = $path.$file_name;
$save_path_temp = $temp_file_pre.mtime();
if(!$out = fopen($save_path_temp, "wb")){
show_json('no_permission_write',false);
}
if (!flock($out, LOCK_EX)) {
show_json('lock dist move error',false);
}else{
for( $index = 0; $index < $chunks; $index++ ) {
$chunk_file = $temp_file_pre.$index;
if (!$fp_in = @fopen($chunk_file,"rb")){//并发情况下另一个访问时文件已删除
flock($out, LOCK_UN);
fclose($out);
unlink($save_path_temp);
//write_log("upload_error:".$chunk.':'.$file_name.'/'.$chunk_file,'upload');
show_json('open chunk error! cur='.$chunk.';index='.$index,false);
}
while (!feof($fp_in)) {
fwrite($out, fread($fp_in, 409600));
}
fclose($fp_in);
unlink($chunk_file);
}
flock($out, LOCK_UN);
fclose($out);
}
flock($out, LOCK_UN);
fclose($out);
}
//wirte_log($_SESSION['kod_user']['name'].' upload file:'.$save_path,'file_upload');
rename($save_path_temp,$save_path);
space_size_use_change($save_path);//使用的空间增加
show_json('upload_success',true,iconv_app(_DIR_OUT($save_path)));
}else {

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

@ -321,7 +321,7 @@ artDialog.fn = artDialog.prototype = {
return span.width();
},
reset_title_length:function(){
if(!this.config.resize){
if(this.config && !this.config.resize){
return;
}
var DOM = this.DOM,

View File

@ -295,8 +295,13 @@ Picasa.prototype = {
// 生成列表项
createItems : function() {
var itemStr = '';
// change by warlee 大于200则展示的时候再处理
for (var i=0; i<this.arrCount; i++){
itemStr += '<li number="'+i+'"><img src="'+ this.arrItems[i][0][0] +'" draggable="false"/></li>';
if(i>=200){
itemStr += '<li number="'+i+'"><img data-original="'+ this.arrItems[i][0][0] +'" draggable="false"/></li>';
}else{
itemStr += '<li number="'+i+'"><img src="'+ this.arrItems[i][0][0] +'" draggable="false"/></li>';
}
}
this.fItems.innerHTML = itemStr;
this.fItems.style.width = (this.arrCount*36) +'px';
@ -496,6 +501,13 @@ Picasa.prototype = {
this.hint();
this.activeImage.src = this.arrItems[this.currentNo][0][1];
this.Picture.src = this.activeImage.src;
//缩略图 change by warlee
var $image = $('#PV_Items .current img');
if(!$image.attr('src')){
$image.attr('src',$image.attr('data-original'));
}
$('#PV_Picture').css('display','none').fadeIn(200);
},
loadedAction : function() {

View File

@ -847,7 +847,7 @@ var loadRipple = function(search_arr,ignore_arr){
$ripp.animate({'opacity':0},400,function(){
$ripp.remove();
});
});
});
});
}

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

@ -420,8 +420,8 @@ body{overflow-x: hidden;}
.dropdown-menu.pull-right {top: 37px;}
.menu-right_tool li a{line-height: 30px;color: #666;}
.menu-right_tool li a i{padding-right: 5px;}
.aui_state_focus{top:5% !important;}
.aui_state_focus{top:10% !important;}
.aui_state_fucus,.aui_state_lock{position: fixed !important;}
.copyright_dialog.dialog-simple .aui_header { background: transparent; opacity: 1; filter: alpha(opacity=100);}
@ -547,6 +547,8 @@ div.dialog-simple .aui_header { opacity: 0.01; filter: alpha(opacity=1);}
div.dialog-simple .aui_nw,div.dialog-simple .aui_ne { height: 0px;}
div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opacity=100);}
.file_upload{height:360px;padding:5px;margin-right:10px;min-width:320px;overflow:hidden;}
.file_upload .top_nav{border-bottom:1px solid #ddd;margin-top:6px;}
.file_upload .menu{display:block;text-decoration:none;float:left;padding:0px 15px;height:26px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee');background:#eee;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:-moz-linear-gradient(top,#fff,#eee);background-image:-o-linear-gradient(top,#fff,#eee);background-image:-ms-linear-gradient(top,#fff,#eee);background-image:linear-gradient(top,#fff,#eee);-pie-background:linear-gradient(to top,#fff,#eee);font-size:1em;border:1px solid #ccc;text-align:center;line-height:24px;margin-right:5px;margin-bottom:-1px;color:#444;border-radius:4px 4px 0 0;}

View File

@ -58,6 +58,7 @@ input:focus {border-color: #75A1F0; outline: none; box-shadow: 0 0 12px #75A1F0;
position: absolute;
margin-top: 20px;
bottom: 0px;
font-size: 10px;
}