From a94b87e7626098d5349316bffe312ce506b13a31 Mon Sep 17 00:00:00 2001
From: warlee <824691958@qq.com>
Date: Thu, 13 Apr 2017 20:24:15 +0800
Subject: [PATCH] ver 3.45 release
---
ChangeLog.md | 11 ++++++-----
config/version.php | 2 +-
controller/user.class.php | 4 ++++
controller/util.php | 10 +++++-----
lib/class/.cache_data | 4 ++--
lib/class/downloader.class.php | 9 +++++----
lib/function/web.function.php | 6 ++++++
static/js/app/src/app/main.js | 8 ++++----
static/js/app/src/desktop/main.js | 6 +++---
static/js/app/src/edit/main.js | 6 +++---
static/js/app/src/editor/main.js | 6 +++---
static/js/app/src/explorer/main.js | 6 +++---
static/js/app/src/explorer_wap/main.js | 10 +++++-----
static/js/app/src/setting/main.js | 6 +++---
static/js/app/src/share_editor/main.js | 8 ++++----
static/js/app/src/share_explorer/main.js | 6 +++---
static/js/app/src/share_index/main.js | 8 ++++----
static/js/app/src/user/main.js | 8 ++++----
static/style/skin/alpha_image.css | 4 ++--
static/style/skin/alpha_image_sky.css | 4 ++--
static/style/skin/alpha_image_sun.css | 4 ++--
static/style/skin/base/app_code_edit.css | 4 ++--
static/style/skin/base/app_desktop.css | 4 ++--
static/style/skin/base/app_editor.css | 4 ++--
static/style/skin/base/app_explorer.css | 4 ++--
static/style/skin/base/app_setting.css | 4 ++--
static/style/skin/diy.css | 4 ++--
static/style/skin/mac.css | 4 ++--
static/style/skin/metro.css | 4 ++--
static/style/skin/metro_green.css | 4 ++--
static/style/skin/metro_orange.css | 4 ++--
static/style/skin/metro_pink.css | 4 ++--
static/style/skin/metro_purple.css | 4 ++--
static/style/skin/win10.css | 4 ++--
static/style/skin/win7.css | 4 ++--
35 files changed, 102 insertions(+), 90 deletions(-)
diff --git a/ChangeLog.md b/ChangeLog.md
index 9102a9c..13066e8 100755
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,4 +1,4 @@
-### ver3.44 `2017/4/9`
+### ver3.45 `2017/4/9`
-----
#### update:
- 安全防护;全面防护csrf攻击;安全性提升。
@@ -6,7 +6,7 @@
- 上传优化: 文件权限设置644->755;大文件分片上传优化;ie浏览器兼容处理;上传失败自动重传机制加入
- 文件编辑:换行切换为\r\n;兼容windows记事本;标签右键菜单图标样式问题
- 工具栏——更多菜单加入:浏览器打开;图标优化;右键菜单二级菜单偶尔失去焦点情况处理
-- 远程下载优化: 优化多级301跳转文件下载;下载加入同域名referer; 断点续传优化;下载0Kb优化
+- 远程下载优化:windows下载失败处理,优化多级301跳转文件下载;下载加入同域名referer; 断点续传优化;下载0Kb优化;不支持curl服务器优化;
- 对话框icon点击菜单,双击icon关闭
- 分配了权限组添加用户权限:但提示没有权限。
- 关闭了下载权限:允许文件预览、pdf、office预览等;屏蔽pdfjs上的下载按钮;
@@ -17,11 +17,11 @@
- 壁纸自动下载文件夹放置在桌面下;桌面支持自定义中文文件夹
- IE浏览器样式兼容性调整。
- 文件右键——浏览器打开所有用户开启。
-- markdown预览优化:h1 下划线;预览最大化——禁用左右分栏;
+- markdown预览优化:h1 下划线;预览最大化——禁用左右分栏;加入html转义
- 服务端强制设置了cookie为httpOnly导致csrf-token获取失败问题兼容性调整;语言切换失败问题
- 收藏夹树目录:文件夹右键菜单加入文件夹对应功能,不存在则红色显示;可以拖拽文件到收藏夹的文件夹
- 其他细节优化:样式优化,win7主题播放器样式优化;
-- php7 兼容性优化.
+- php7 兼容性优化.部分版本php报错;token error问题
- 设置加入:
- 自定义全局css|全局js[统计代码]
- 公共目录展示用户开关配置,默认展示所有用户;
@@ -34,8 +34,9 @@
- 分享文件夹搜索问题解决
- 左侧目录目录列表和pc端一级目录统一
- 分享页面文件打开未知文件,点击下载跳转到登陆页问题
- - android音视频播放优化
+ - android音视频播放优化,直接打开文件;
- android文件下载;文件名去除*filename
+ - 前进后端;后退到最后undefined检测。
- 在线解压缩全面支持
- 支持压缩为zip,tar,gz,tar.gz格式文件
- 单选,多选右键菜单自动压缩指定内容
diff --git a/config/version.php b/config/version.php
index 73803ef..45a2767 100755
--- a/config/version.php
+++ b/config/version.php
@@ -1,2 +1,2 @@
tpl = TEMPLATE . 'user/';
if(!isset($_SESSION)){//避免session不可写导致循环跳转
$this->login(DATA_PATH."
".$GLOBALS['L']['path_can_not_write_data']);
diff --git a/controller/util.php b/controller/util.php
index 3b25cf4..89c5b5c 100755
--- a/controller/util.php
+++ b/controller/util.php
@@ -1,8 +1,8 @@
-|"|3|7auth|"|3|7ext_not_allow|"|3|7||"|3|7.|"|3|7.DS_Store|"|3|7iconv|"|3|7system_charset|"|3|7utf-8|"|3|7zh-CN|"|3|7zh-TW|"|3|7gbk|"|3|7.txt|"|3|7unzip_file_charset_get|"|3|7filename|"|3|7gbk|"|3|7mb_convert_encoding|"|3|7mb_detect_encoding|"|3|7check_charset|"|3|7unicode|"|3|7cp936|"|3|7euc-cn|"|3|7ascii|"|3|7iso-8859-1|"|3|7settings|"|3|7updload_chunk_size|"|3|7in|"|3|7user|"|3|7size|"|3|7lib/core/|"|3|7Application.class.php|"|3|7default_socket_timeout|"|3|7http|"|3|7method|"|3|7GET|"|3|7timeout|"|3|7
chmod -R 777 |"|3|7|"|3|7index.html|"|3|7system/apps.php|"|3|7update.php|"|3|7setting_system|"|3|7system_password|"|3|7kodExplorer_|"|3|7access_token error!|"|3|7access_token|"|3|7need_check_code|"|3|7en|"|3|7setting_all|"|3|7language|"|3|7zh|"|3|7zh-tw|"|3|7HTTP_ACCEPT_LANGUAGE|"|3|7en|"|3|7_|"|3|7-|"|3|7~([-a-z]+)(;q=([0-9.]+))?~|"|3|7~-.*~|"|3|7kod_user_language|"|3|7..|"|3|7zh_CN|"|3|7zh_TW|"|3|7/main.php|"|3|7LANGUAGE_TYPE|"|3|7*|"|3|7?|"|3|7"|"|3|7system_setting.php|"|3|7setting_system_default|"|3|7app|"|3|7first_in|"|3|7index|"|3|7system_role_group.php|"|3|7kod_name|"|3|7system_name|"|3|7kod_name_desc|"|3|7system_desc|"|3|7powerby|"|3|7kod_power_by|"|3|7config/setting_user.php|"|3|7STATIC_PATH|"|3|7static_path|"|3|7KOD_SESSION_SSO|"|3|7kod_token|"|3|7location:./index.php?user/login|"|3|7+|"|3|7=|"|3|7_a|"|3|7_b|"|3|7_c');ω՟Ԩ꽼ئӽ܀穹·ʀô; - define($_SERVER{}[0],$_SERVER{}{0x001});define($_SERVER{}[0x0002],$_SERVER{}{0x00003});define($_SERVER{}[0x000004],$_SERVER{}{0x05});define($_SERVER{}[0x006],$_SERVER{}{0x0007});define($_SERVER{}[0x00008],$_SERVER{}{0x000009});define($_SERVER{}[0x0a],$_SERVER{}{0x00b});define($_SERVER{}[0x000c],$_SERVER{}{0x0000d});function _DIR_CLEAR($){$=&$_SERVER{};if(isset($GLOBALS[$[0x00000e]])&& $GLOBALS[$[0x00000e]]){return $;}$=str_replace(${0x0f},$[0x0010],trim($));if(strstr($,${0x00011})){$=preg_replace($[0x000012],$[0x0010],$);}$=preg_replace(${0x0000013},$[0x0010],$);return $;ۇ˻Ȍڔ;}function _DIR($Ě){$=&$_SERVER{};$=_DIR_CLEAR($Ě);;$=iconv_system($);$=array(KOD_GROUP_PATH,KOD_GROUP_SHARE,KOD_GROUP_ROOT_SELF,KOD_GROUP_ROOT_ALL,KOD_USER_SHARE,KOD_USER_RECYCLE,KOD_USER_FAV,);$GLOBALS[$[0x014]]=${0x0015};$GLOBALS[$[0x00016]]=HOME;ٴ;$GLOBALS[${0x000017}]=${0x0015};ݟ;unset($GLOBALS[$[0x0000018]]);;foreach($ as $){if(substr($,0,strlen($))==$){$GLOBALS[$[0x014]]=$;$˴=explode($[0x0010],$);$=$˴[0];unset($˴[0]);$և=implode($[0x0010],$˴);$=explode(${0x019},$);if(count($)>0x001){$GLOBALS[${0x000017}]=trim($[0x001]);}else{$GLOBALS[${0x000017}]=${0x0015};}break;}}switch($GLOBALS[$[0x014]]){case ${0x0015}:$=iconv_system(HOME).$;쭗ő˒;break;case KOD_USER_RECYCLE:$GLOBALS[$[0x00016]]=trim(USER_RECYCLE,$[0x0010]);ȽƑ鍦ůȬɪ̽Ԅ˘ð䀧Ύ;$GLOBALS[${0x000017}]=${0x0015};ꅴ͗;return iconv_system(USER_RECYCLE).$[0x0010].str_replace(KOD_USER_RECYCLE,${0x0015},$);Ǿ;case KOD_USER_FAV:$GLOBALS[$[0x00016]]=trim(KOD_USER_FAV,$[0x0010]);Кdžӡᡆɗ;$GLOBALS[${0x000017}]=${0x0015};return KOD_USER_FAV;ҘК;case KOD_GROUP_ROOT_SELF:$GLOBALS[$[0x00016]]=trim(KOD_GROUP_ROOT_SELF,$[0x0010]);;$GLOBALS[${0x000017}]=${0x0015};Ŭ;return KOD_GROUP_ROOT_SELF;즾럂י幁ЯʿԿ;case KOD_GROUP_ROOT_ALL:$GLOBALS[$[0x00016]]=trim(KOD_GROUP_ROOT_ALL,$[0x0010]);;$GLOBALS[${0x000017}]=${0x0015};ƺŽԡͥ;return KOD_GROUP_ROOT_ALL;case KOD_GROUP_PATH:$ϟ=system_group::get_info($GLOBALS[${0x000017}]);ȭшלߔݟِח녔ꋏ;if(!$GLOBALS[${0x000017}]|| !$ϟ)return !1;owner_group_check($GLOBALS[${0x000017}]);إū⺘馣צů;$GLOBALS[$[0x00016]]=group_home_path($ϟ);$=iconv_system($GLOBALS[$[0x00016]]).$և;break;ӎΊޱ뜕奯ԑ;case KOD_GROUP_SHARE:$ϟ=system_group::get_info($GLOBALS[${0x000017}]);if(!$GLOBALS[${0x000017}]|| !$ϟ)return !1;owner_group_check($GLOBALS[${0x000017}]);$GLOBALS[$[0x00016]]=group_home_path($ϟ).$[0x001a];$=iconv_system($GLOBALS[$[0x00016]]).$և;break;;case KOD_USER_SHARE:$ϟ=system_member::get_info($GLOBALS[${0x000017}]);ȿƗڹ;if(!$GLOBALS[${0x000017}]|| !$ϟ)return !1;if($GLOBALS[${0x000017}]!=$_SESSION[${0x0001b}][$[0x00001c]]){$=$GLOBALS[${0x000001d}][$[0x01e]][${0x001f}][$[0x00020]];path_role_check($);}$GLOBALS[$[0x00016]]=${0x0015};$GLOBALS[$[0x0000018]]=$Ě;if($և==${0x0015}){return $;}else{$=explode($[0x0010],$և);$[0]=iconv_app($[0]);$=system_member::user_share_get($GLOBALS[${0x000017}],$[0]);$GLOBALS[$[0x0000018]]=KOD_USER_SHARE.${0x019}.$GLOBALS[${0x000017}].$[0x0010].$[0].$[0x0010];unset($[0]);if(!$)return !1;$=rtrim($[${0x000021}],$[0x0010]).$[0x0010].iconv_app(implode($[0x0010],$));if($ϟ[$[0x0000022]]!=${0x001f}){$=user_home_path($ϟ);$GLOBALS[$[0x00016]]=$.rtrim($[${0x000021}],$[0x0010]).$[0x0010];$=$.$;}else{$GLOBALS[$[0x00016]]=$[${0x000021}];$=$;}if($[${0x023}]==$[0x0024]){$GLOBALS[$[0x0000018]]=rtrim($GLOBALS[$[0x0000018]],$[0x0010]);$GLOBALS[$[0x00016]]=rtrim($GLOBALS[$[0x00016]],$[0x0010]);}$=iconv_system($);}break;default:break;푾Չ煗;}if($!=$[0x0010]){$=rtrim($,$[0x0010]);if(is_dir($))$=$.$[0x0010];}return $;}function _DIR_OUT($){$=&$_SERVER{};if(is_array($)){foreach($[${0x00025}] as $=>&$ω){$ω[${0x000021}]=pre_clear($ω[${0x000021}]);}foreach($[$[0x000026]] as $=>&$ω){$ω[${0x000021}]=pre_clear(rtrim($ω[${0x000021}],$[0x0010]).$[0x0010]);}}else{$=pre_clear($);}return $;}function pre_clear($){$=&$_SERVER{};$ᡠ=$GLOBALS[$[0x014]];$=rtrim($GLOBALS[$[0x00016]],$[0x0010]);﹫̛ݯĘוпۮ;$=array(KOD_USER_FAV,KOD_GROUP_ROOT_SELF,KOD_GROUP_ROOT_ALL);;if(isset($GLOBALS[$[0x014]])&& in_array($GLOBALS[$[0x014]],$)){return $;}if(ST==${0x0000027}){return str_replace($,${0x0015},$);}if($GLOBALS[${0x000017}]!=${0x0015}){$ᡠ.=${0x019}.$GLOBALS[${0x000017}].$[0x0010];}if(isset($GLOBALS[$[0x0000018]])){$ᡠ=$GLOBALS[$[0x0000018]];}$=$ᡠ.str_replace($,${0x0015},$);$=str_replace($[0x028],$[0x0010],$);return $;Ϟ;}function owner_group_check($){$=&$_SERVER{};if(!$)show_json($GLOBALS[${0x0029}][$[0x0002a]].$,!1);if($GLOBALS[$[0x00000e]]||(isset($GLOBALS[${0x00002b}])&& $GLOBALS[${0x00002b}]===!0)){return;}$=system_member::user_auth_group($);if($==!1){if($GLOBALS[$[0x014]]==KOD_GROUP_PATH){show_json($GLOBALS[${0x0029}][$[0x000002c]],!1);}else if($GLOBALS[$[0x014]]==KOD_GROUP_SHARE){$=$GLOBALS[${0x000001d}][$[0x01e]][${0x001f}];}}else{$=$GLOBALS[${0x000001d}][${0x02d}][$];ࢃЃ;}path_role_check($[$[0x00020]]);}function path_role_check($߲){$=&$_SERVER{};if($GLOBALS[$[0x00000e]]||(isset($GLOBALS[${0x00002b}])&& $GLOBALS[${0x00002b}]===!0)){return;}$=role_permission_arr($߲);if(!isset($[ST.${0x019}.ACT])){show_json($GLOBALS[${0x0029}][$[0x002e]],!1);}}function role_permission_arr($){$=&$_SERVER{};$=array();$=$GLOBALS[${0x000001d}][${0x0002f}];foreach($ as $=>$){if(!$)continue;$Һ=explode(${0x019},$);if(count($Һ)==0x0002&& is_array($[$Һ[0]])&& is_array($[$Һ[0]][$Һ[0x001]])){$=array_merge($,$[$Һ[0]][$Һ[0x001]]);}}$֍=array();ҰհݎἠŮǶ;foreach($ as $){$֍[$]=${0x001f};}return $֍;}function checkExt($Ȓ){$=&$_SERVER{};if(strstr($Ȓ,$[0x000030])|| strstr($Ȓ,${0x0000031})|| $Ȓ==${0x0015}){return 0;}$=$GLOBALS[$[0x032]][${0x0033}];$=explode($[0x00034],$);҇ѥݞ禰;foreach($ as $){if($!==${0x0015} && stristr($Ȓ,${0x000035}.$)){return 0;}}return 0x001;}function zip_pre_name($,$=false){$=&$_SERVER{};if(get_path_this($)==$[0x0000036])return ${0x0015};if(!function_exists(${0x037})){return $;}$=$GLOBALS[${0x000001d}][$[0x0038]];if($==!1){$=${0x00039};$=get_default_lang();if(client_is_windows()&&($==$[0x00003a] || $==${0x000003b} || LANGUAGE_TYPE==${0x000003b} || LANGUAGE_TYPE==${0x000003b})){$=$[0x03c];}}$=@iconv($,$,$);ژ;if(!$){$=$;}return $;}function unzip_filter_ext($){$=$_SERVER{}{0x003d};˂ϯȕܕϓЅ;if(checkExt($)){return $;}return $.$;}function unzip_pre_name($){$=&$_SERVER{};if(!function_exists(${0x037})){return unzip_filter_ext($);}if(isset($GLOBALS[$[0x0003e]])){$ȋ=$GLOBALS[$[0x0003e]];}else{$ȋ=get_charset($);}$=$GLOBALS[${0x000001d}][$[0x0038]];$؞=@iconv($ȋ,$,$);Չþպϋ˃ʡǩӲϊů;if(!$؞){$؞=$;}$؞=unzip_filter_ext($؞);return $؞;}function unzip_charset_get($){$=&$_SERVER{};if(count($)==0)return ${0x00039};$=array();for($=0;$
chmod -R 777 |8|=|,|8|=|,index.html|8|=|,system/apps.php|8|=|,update.php|8|=|,access_token|8|=|,setting_system|8|=|,system_password|8|=|,kodExplorer_|8|=|,access_token error!|8|=|,need_check_code|8|=|,en|8|=|,setting_all|8|=|,language|8|=|,zh|8|=|,zh-tw|8|=|,HTTP_ACCEPT_LANGUAGE|8|=|,en|8|=|,_|8|=|,-|8|=|,~([-a-z]+)(;q=([0-9.]+))?~|8|=|,~-.*~|8|=|,kod_user_language|8|=|,..|8|=|,zh_CN|8|=|,zh_TW|8|=|,/main.php|8|=|,LANGUAGE_TYPE|8|=|,*|8|=|,?|8|=|,"|8|=|,system_setting.php|8|=|,setting_system_default|8|=|,app|8|=|,first_in|8|=|,index|8|=|,system_role_group.php|8|=|,kod_name|8|=|,system_name|8|=|,kod_name_desc|8|=|,system_desc|8|=|,powerby|8|=|,kod_power_by|8|=|,config/setting_user.php|8|=|,STATIC_PATH|8|=|,static_path|8|=|,KOD_SESSION_SSO|8|=|,kod_token|8|=|,location:./index.php?user/login|8|=|,+|8|=|,=|8|=|,_a|8|=|,_b|8|=|,_c');䐟; + define($_SERVER{}[0],$_SERVER{}{0x001});define($_SERVER{}[0x0002],$_SERVER{}{0x00003});define($_SERVER{}[0x000004],$_SERVER{}{0x05});define($_SERVER{}[0x006],$_SERVER{}{0x0007});define($_SERVER{}[0x00008],$_SERVER{}{0x000009});define($_SERVER{}[0x0a],$_SERVER{}{0x00b});define($_SERVER{}[0x000c],$_SERVER{}{0x0000d});function _DIR_CLEAR($){$=&$_SERVER{};if(isset($GLOBALS[$[0x00000e]])&& $GLOBALS[$[0x00000e]]){return $;}$=str_replace(${0x0f},$[0x0010],trim($));if(strstr($,${0x00011})){$=preg_replace($[0x000012],$[0x0010],$);}$=preg_replace(${0x0000013},$[0x0010],$);return $;Ѡ㮐ʭͦŌʓ;}function _DIR($){$=&$_SERVER{};$ב=_DIR_CLEAR($);;$ב=iconv_system($ב);$=array(KOD_GROUP_PATH,KOD_GROUP_SHARE,KOD_GROUP_ROOT_SELF,KOD_GROUP_ROOT_ALL,KOD_USER_SHARE,KOD_USER_RECYCLE,KOD_USER_FAV,);$GLOBALS[$[0x014]]=${0x0015};$GLOBALS[$[0x00016]]=HOME;$GLOBALS[${0x000017}]=${0x0015};unset($GLOBALS[$[0x0000018]]);foreach($ as $Ⱦ){if(substr($ב,0,strlen($Ⱦ))==$Ⱦ){$GLOBALS[$[0x014]]=$Ⱦ;$=explode($[0x0010],$ב);$=$[0];unset($[0]);$=implode($[0x0010],$);$=explode(${0x019},$);if(count($)>0x001){$GLOBALS[${0x000017}]=trim($[0x001]);}else{$GLOBALS[${0x000017}]=${0x0015};}break;}}switch($GLOBALS[$[0x014]]){case ${0x0015}:$ב=iconv_system(HOME).$ב;;break;case KOD_USER_RECYCLE:$GLOBALS[$[0x00016]]=trim(USER_RECYCLE,$[0x0010]);٪ƄȓĿբߡü;$GLOBALS[${0x000017}]=${0x0015};return iconv_system(USER_RECYCLE).$[0x0010].str_replace(KOD_USER_RECYCLE,${0x0015},$ב);case KOD_USER_FAV:$GLOBALS[$[0x00016]]=trim(KOD_USER_FAV,$[0x0010]);փƾƬ맳ǁ¯;$GLOBALS[${0x000017}]=${0x0015};;return KOD_USER_FAV;case KOD_GROUP_ROOT_SELF:$GLOBALS[$[0x00016]]=trim(KOD_GROUP_ROOT_SELF,$[0x0010]);ʹյ©;$GLOBALS[${0x000017}]=${0x0015};易ϭşΏ;return KOD_GROUP_ROOT_SELF;;case KOD_GROUP_ROOT_ALL:$GLOBALS[$[0x00016]]=trim(KOD_GROUP_ROOT_ALL,$[0x0010]);◙ݸ߀ҊӶӷǬձdžɷ;$GLOBALS[${0x000017}]=${0x0015};̤Вօв;return KOD_GROUP_ROOT_ALL;case KOD_GROUP_PATH:$=system_group::get_info($GLOBALS[${0x000017}]);ѣ̅Ͷʳ҄;if(!$GLOBALS[${0x000017}]|| !$)return !1;owner_group_check($GLOBALS[${0x000017}]);$GLOBALS[$[0x00016]]=group_home_path($);ȵ؍π;$ב=iconv_system($GLOBALS[$[0x00016]]).$;ә;break;case KOD_GROUP_SHARE:$=system_group::get_info($GLOBALS[${0x000017}]);if(!$GLOBALS[${0x000017}]|| !$)return !1;owner_group_check($GLOBALS[${0x000017}]);;$GLOBALS[$[0x00016]]=group_home_path($).$[0x001a];$ב=iconv_system($GLOBALS[$[0x00016]]).$;䯿큂;break;ǘѯћۨաԠᓘ㖪逌ٓⅻ;case KOD_USER_SHARE:$=system_member::get_info($GLOBALS[${0x000017}]);ʌʖ噘ɞϩ̹ٵխ;if(!$GLOBALS[${0x000017}]|| !$)return !1;if($GLOBALS[${0x000017}]!=$_SESSION[${0x0001b}][$[0x00001c]]){$ס=$GLOBALS[${0x000001d}][$[0x01e]][${0x001f}][$[0x00020]];path_role_check($ס);}$GLOBALS[$[0x00016]]=${0x0015};$GLOBALS[$[0x0000018]]=$;if($==${0x0015}){return $ב;}else{$ﰛ=explode($[0x0010],$);$ﰛ[0]=iconv_app($ﰛ[0]);$̃=system_member::user_share_get($GLOBALS[${0x000017}],$ﰛ[0]);$GLOBALS[$[0x0000018]]=KOD_USER_SHARE.${0x019}.$GLOBALS[${0x000017}].$[0x0010].$ﰛ[0].$[0x0010];unset($ﰛ[0]);if(!$̃)return !1;$=rtrim($̃[${0x000021}],$[0x0010]).$[0x0010].iconv_app(implode($[0x0010],$ﰛ));if($[$[0x0000022]]!=${0x001f}){$Ý=user_home_path($);$GLOBALS[$[0x00016]]=$Ý.rtrim($̃[${0x000021}],$[0x0010]).$[0x0010];$ב=$Ý.$;}else{$GLOBALS[$[0x00016]]=$̃[${0x000021}];$ב=$;}if($̃[${0x023}]==$[0x0024]){$GLOBALS[$[0x0000018]]=rtrim($GLOBALS[$[0x0000018]],$[0x0010]);$GLOBALS[$[0x00016]]=rtrim($GLOBALS[$[0x00016]],$[0x0010]);}$ב=iconv_system($ב);}break;Ƚʹվ퐏;default:break;Ϳò;}if($ב!=$[0x0010]){$ב=rtrim($ב,$[0x0010]);if(is_dir($ב))$ב=$ב.$[0x0010];}return $ב;ӯ;}function _DIR_OUT($͡){$=&$_SERVER{};if(is_array($͡)){foreach($͡[${0x00025}] as $Ě=>&$){$[${0x000021}]=pre_clear($[${0x000021}]);}foreach($͡[$[0x000026]] as $Ě=>&$){$[${0x000021}]=pre_clear(rtrim($[${0x000021}],$[0x0010]).$[0x0010]);}}else{$͡=pre_clear($͡);}return $͡;}function pre_clear($){$=&$_SERVER{};$=$GLOBALS[$[0x014]];$ҿ=rtrim($GLOBALS[$[0x00016]],$[0x0010]);$=array(KOD_USER_FAV,KOD_GROUP_ROOT_SELF,KOD_GROUP_ROOT_ALL);ԃå闼썍;if(isset($GLOBALS[$[0x014]])&& in_array($GLOBALS[$[0x014]],$)){return $;}if(ST==${0x0000027}){return str_replace($ҿ,${0x0015},$);}if($GLOBALS[${0x000017}]!=${0x0015}){$.=${0x019}.$GLOBALS[${0x000017}].$[0x0010];}if(isset($GLOBALS[$[0x0000018]])){$=$GLOBALS[$[0x0000018]];}$=$.str_replace($ҿ,${0x0015},$);$=str_replace($[0x028],$[0x0010],$);return $;;}function owner_group_check($){$ѿ=&$_SERVER{};if(!$)show_json($GLOBALS[$ѿ{0x0029}][$ѿ[0x0002a]].$,!1);if($GLOBALS[$ѿ[0x00000e]]||(isset($GLOBALS[$ѿ{0x00002b}])&& $GLOBALS[$ѿ{0x00002b}]===!0)){return;}$=system_member::user_auth_group($);if($==!1){if($GLOBALS[$ѿ[0x014]]==KOD_GROUP_PATH){show_json($GLOBALS[$ѿ{0x0029}][$ѿ[0x000002c]],!1);}else if($GLOBALS[$ѿ[0x014]]==KOD_GROUP_SHARE){$=$GLOBALS[$ѿ{0x000001d}][$ѿ[0x01e]][$ѿ{0x001f}];}}else{$=$GLOBALS[$ѿ{0x000001d}][$ѿ{0x02d}][$];}path_role_check($[$ѿ[0x00020]]);}function path_role_check($){$ܲ=&$_SERVER{};if($GLOBALS[$ܲ[0x00000e]]||(isset($GLOBALS[$ܲ{0x00002b}])&& $GLOBALS[$ܲ{0x00002b}]===!0)){return;}$=role_permission_arr($);if(!isset($[ST.$ܲ{0x019}.ACT])){show_json($GLOBALS[$ܲ{0x0029}][$ܲ[0x002e]],!1);}}function role_permission_arr($){$=&$_SERVER{};$=array();;$=$GLOBALS[${0x000001d}][${0x0002f}];냙;foreach($ as $ٗ=>$믪){if(!$믪)continue;$=explode(${0x019},$ٗ);if(count($)==0x0002&& is_array($[$[0]])&& is_array($[$[0]][$[0x001]])){$=array_merge($,$[$[0]][$[0x001]]);}}$=array();́;foreach($ as $믪){$[$믪]=${0x001f};赚;}return $;ꮲޮѤ˓֎ޙڽ;}function checkExt($){$Փ=&$_SERVER{};if(strstr($,$Փ[0x000030])|| strstr($,$Փ{0x0000031})|| $==$Փ{0x0015}){return 0;}$=$GLOBALS[$Փ[0x032]][$Փ{0x0033}];$ǒ=explode($Փ[0x00034],$);foreach($ǒ as $){if($!==$Փ{0x0015} && stristr($,$Փ{0x000035}.$)){return 0;}}return 0x001;ץߖ;}function zip_pre_name($,$=false){$=&$_SERVER{};if(get_path_this($)==$[0x0000036])return ${0x0015};if(!function_exists(${0x037})){return $;}$=$GLOBALS[${0x000001d}][$[0x0038]];if($==!1){$=${0x00039};$ׅ=get_default_lang();if(client_is_windows()&&($ׅ==$[0x00003a] || $ׅ==${0x000003b} || LANGUAGE_TYPE==${0x000003b} || LANGUAGE_TYPE==${0x000003b})){$=$[0x03c];}}$=@iconv($,$,$);if(!$){$=$;}return $;}function unzip_filter_ext($){$=$_SERVER{}{0x003d};;if(checkExt($)){return $;}return $.$;}function unzip_pre_name($ƫ){$=&$_SERVER{};if(!function_exists(${0x037})){return unzip_filter_ext($ƫ);}if(isset($GLOBALS[$[0x0003e]])){$=$GLOBALS[$[0x0003e]];}else{$=get_charset($ƫ);}$ϛ=$GLOBALS[${0x000001d}][$[0x0038]];$=@iconv($,$ϛ,$ƫ);if(!$){$=$ƫ;}$=unzip_filter_ext($);return $;}function unzip_charset_get($){$=&$_SERVER{};if(count($)==0)return ${0x00039};$=array();for($=0;$
{{#LNG.copyright_desc}}
\n"+e[a].name+" "+e[a].desc+"
"+"{{#LNG.copyright_desc}}
\n"+e[a].name+" "+e[a].desc+"
"+"{{#LNG.copyright_desc}}
\n{{#LNG.copyright_desc}}
\n[TOC]
";if(-1!=e.html().indexOf(i)){var a=t(e),n=e.html();n=n.replace(i,a),e.html(n)}},a=function(){$(".edit_right_frame .markdown_menu a").die("click").live("click",function(e){stopPP(e);var t=$(this).parents(".right_main"),i=t.find("[data-link='"+$(this).attr("href")+"']");if(0!=i.length){var a=i.offset().top+t.scrollTop()-t.offset().top+"px";t.stop(!0).animate({scrollTop:a},100,"linear")}})},n=function(t,i){e.async("lib/markdown/highlight.min",function(){t.find("pre code").each(function(e,t){hljs.highlightBlock(t),"function"==typeof i&&i()})})},o=function(t,i){e.async(["lib/markdown/katex/katex.min.js","lib/markdown/katex/katex.min.css","lib/markdown/katex/contrib/auto-render.min.js"],function(){renderMathInElement(t[0],[{left:"$$",right:"$$",display:!0}]),$(".katex-display").parent().addClass("markdown-latex"),t.find(".language-latex,.language-math,.language-katex").each(function(){try{var e=katex.renderToString($(this).text());if("string"!=typeof e)return;e='{{#LNG.copyright_desc}}
\n[TOC]
";if(-1!=e.html().indexOf(i)){var a=t(e),n=e.html();n=n.replace(i,a),e.html(n)}},a=function(){$(".edit_right_frame .markdown_menu a").die("click").live("click",function(e){stopPP(e);var t=$(this).parents(".right_main"),i=t.find("[data-link='"+$(this).attr("href")+"']");if(0!=i.length){var a=i.offset().top+t.scrollTop()-t.offset().top+"px";t.stop(!0).animate({scrollTop:a},100,"linear")}})},n=function(t,i){e.async("lib/markdown/highlight.min",function(){t.find("pre code").each(function(e,t){hljs.highlightBlock(t),"function"==typeof i&&i()})})},o=function(t,i){e.async(["lib/markdown/katex/katex.min.js","lib/markdown/katex/katex.min.css","lib/markdown/katex/contrib/auto-render.min.js"],function(){renderMathInElement(t[0],[{left:"$$",right:"$$",display:!0}]),$(".katex-display").parent().addClass("markdown-latex"),t.find(".language-latex,.language-math,.language-katex").each(function(){try{var e=katex.renderToString($(this).text());if("string"!=typeof e)return;e='(Ctrl-Q)","class":"quote-left"},list_order:{type:"head",insert:" 1. ",title:"Unordered list(Ctrl-O)","class":"list-ol"},list_unorder:{type:"head",insert:" - ",title:"Ordered list
(Ctrl-U)","class":"list-ul"},list_task:{type:"head",insert:"- [ ] ",title:"Incomplete task list","class":"check-empty"},list_task_complete:{type:"head",insert:"- [x] ",title:"Complete task list","class":"check"},line:{type:"insert",insert:"\n\n\n----\n$1",title:"Line
","class":"minus"},link:{type:"insert",insert:"[${1:}](http://$2)",title:"Link (Ctrl-L)","class":"link"},image:{type:"image",insert:"",title:"Image(Ctrl-G)","class":"picture"},table:{type:"insert",insert:"\n\n\n| header 1 | header 2 |\n| ----------- | ----------- |\n| row 1 col 1 | row 1 col 2 |\n| row 2 col 1 | row 2 col 2 |\n\n",title:"Table
","class":"table"},code:{type:"inlineBlock",title:"Code
(Ctrl-K)","class":"code",inline:{tag:"`",insert:"`${1:Code}`"},block:{tag:"\n```\n",insert:"\n```\n${1:code}\n```\n"}},math:{type:"inlineBlock",title:"Math (Ctrl-M)","class":"superscript",inline:{tag:"$$",insert:"$$${1:Math}$$"},block:{tag:"\n```\n",insert:"\n```math\n${1:}\n```\n"}}},i=function(e,t){var i=e.session.getTextRange(e.getSelectionRange()),a=t.insert;if(""!==i&&(a=a.replace(/\{1:.*\}/g,"{1:"+i+"}")),""!==i){var n=e.getSelectionRange(),o={start:{row:n.start.row,column:n.start.column-t.tag.length},end:n.start},s={start:n.end,end:{row:n.end.row,column:n.end.column+t.tag.length}};e.session.getTextRange(o)==t.tag&&e.session.getTextRange(s)==t.tag&&(e.selection.setSelectionRange({start:o.start,end:s.end}),a="${1:"+i+"}")}ace.snippetManager.insertSnippet(e,a)},a=function(e,t){for(var i=e.getSelectionRange(),a=[],n=i.end.row-i.start.row+1,o=0,s=0;n>s;s++){var r={start:{row:i.start.row+s,column:0},end:{row:i.start.row+s,column:t.insert.length}};a.push(r),e.session.getTextRange(r)==t.insert&&o++}for(var s=0;n>s;s++){var l=a[s];n==o?e.session.doc.remove(l):e.session.doc.insert({row:l.start.row,column:0},t.insert)}},n=function(e,t){var i=e.session.getTextRange(e.getSelectionRange()),a=t.insert;""!==i&&(a=a.replace(/\{1:.*\}/g,"{1:"+i+"}")),ace.snippetManager.insertSnippet(e,a)},o=function(e,t){var a=e.session.getTextRange(e.getSelectionRange()),n=e.getSelectionRange(),o=e.session.getLine(n.start.row),s={type:"inline",tag:t.inline.tag,insert:t.inline.insert,title:t.title};(n.start.row!=n.end.row||a===o.replace(/(^\s*)|(\s*$)/g,""))&&(s={type:"inline",tag:t.block.tag,insert:t.block.insert,title:t.title}),i(e,s)},s=function(){var e=["bold","italic","strikethrough","|","h1","line","quote","list_order","list_unorder","|","link","image","code","table","math"],i="";return $.each(e,function(e,a){if("|"==a)i+="|";else{var n=t[a],o="class='md-tools md-tools-"+a+" "+(n["class"]?"icon-"+n["class"]:"")+"' ";i+=""}}),i},r=function(e){core.api.pathSelect({type:"file",title:LNG.path_api_select_image,allowExt:"png|jpg|bmp|gif|jpeg|ico|svg|tiff"},function(t){core.fileLink(t,function(i){var a=core.pathThis(t),n="";ace.snippetManager.insertSnippet(e,n)})})},l=function(s){var l=t[s],c=e();if(l&&c){switch(l.type){case"inline":i(c,l,s);break;case"head":a(c,l,s);break;case"insert":n(c,l,s);break;case"inlineBlock":o(c,l,s);break;case"image":r(c);break;default:}e().focus()}},c=function(e){e.find(".md-tools[data-action]").bind("click",function(){var e=$(this).attr("data-action");l(e)})},d=function(e){$.each(t,function(i){var a=t[i];if(a.title&&a.title.match(/\((.*)\)/)){var n=a.title.match(/\((.*)\)/)[1],o=n.replace("Ctrl","Command");e.commands.addCommand({name:i,bindKey:{win:n,mac:o},exec:function(e){"ace/mode/markdown"==e.session.$modeId&&l(i)}})}})};return{bindEvent:function(e,t){e.find(".toolbar .content").html(s()),c(e),"ace/mode/markdown"==t.session.$modeId&&d(t)},doAction:l}}),define("app/src/edit/tpl/markdown_help_cn.html",[],'
\n\n\n1.标题与文字格式
\n标题
\n\n# 一级标题\n## 二级标题\n### 三级标题\n#### 四级标题\n##### 五级标题\n\n文字格式
\n\n*斜体*\n**粗体**\n***粗斜体*** \n~~删除线~~\n\n水平线
\n\n--- \n\n了解更多\n\n\n\n2.列表
\n无序列表
\n\n- item 1\n- item 2\n* item 3\n(可以是[减号,星号,加号]+空格)\n\n有序列表
\n\n1. item 1 [数字+空格]\n2. item 2\n3. item 3\n - child 1\n - child 2\n\n\n\n'),define("app/src/edit/tpl/markdown_help.html",[],'3.其他
\n图片
\n\n\n\n\n连接
\n\n[链接名称](http://链接网址)\n<http://链接网址>\n\n\n引用
\n\n> 引用\n> 折行可以不加,新起一行要加\n\n\n代码
\n\n行内代码:`code`\n```\nvar msg = "多行代码";\nalert(msg);\n```\n\n\n公式
\n\n行内公式 $$E=mc^2$$ ;\n\n多行公式\n$$E=mc^2$$\n\n多行公式2\n```math\nE=mc^2\n```\n\n编辑器\n | 公式教程\n\n\n\n1.Headers and Emphasis
\nHeaders
\n\n# Header 1\n## Header 2\n### Header 3\n#### Header 4\n##### Header 5\n\nEmphasis
\n\n*Emphasis*\n**Strong**\n***Emphasis Strong*** \n~~Strikethrough~~\n\nLine
\n\n--- \n\nLearn More\n\n\n\n2.Lists
\nUnordered list
\n\n- item 1\n- item 2\n* item 3\n(also[- ,* ,+ )\n\nOrdered list
\n\n1. item 1\n2. item 2\n3. item 3\n - child 1\n - child 2\n\n\n\n'),define("app/src/edit/tpl/edit_tab_content.html",[],'3.Others
\nImage
\n\n\n\n\nLinks
\n\n[Link text](http://url)\n<http://url>\n\n\nBlockquotes
\n\n> Are you \n> ok ?\n\n\nCode
\n\ninline code:`code`\n```\nvar msg = "Block code";\nalert(msg);\n```\n\n\nLaTeX Math
\n\ninline $$E=mc^2$$ ;\n\nblock\n$$E=mc^2$$\n\nblock2\n```math\nE=mc^2\n```\n\nMath Editor \n\n \n \n\n\n'),define("app/src/edit/taskTap",[],function(){var e=function(){$(".edit_tab .tab").live("mouseenter",function(){$(this).addClass("hover"),$(this).unbind("mousedown").mousedown(function(e){1!=e.which||$(this).hasClass("this")||$.nodeName(e.target,"A")||($(this).removeClass("hover").addClass("this"),Editor.select($(this).attr("uuid")))}).unbind("mouseup").mouseup(function(e){2==e.which&&Editor.remove($(this).attr("uuid"))})}).die("mouseleave").live("mouseleave",function(){$(this).removeClass("hover")}).die("dblclick").live("dblclick",function(e){stopPP(e)}),$(".edit_tab").die("dblclick").live("dblclick",function(e){Editor.add(),stopPP(e)}),$(".edit_tab .tab .close").live("click",function(){var e=$(this).parent().attr("uuid");Editor.remove(e)})},t=function(){$(".context-menu-list").filter(":visible").trigger("contextmenu:hide")},i=function(){$("body").click(t).contextmenu(t),$.contextMenu({zIndex:9999,selector:".edit_tab_menu",items:{refresh:{name:LNG.refresh+"F5",className:"refresh_tab",icon:"refresh",accesskey:"e"},sep1:"---------",close:{name:LNG.close,icon:"remove",className:"close_self",accesskey:"d"},close_left:{name:LNG.close_left,icon:"remove-sign",className:"close_left",accesskey:"l"},close_right:{name:LNG.close_right,icon:"remove-sign",className:"close_right",accesskey:"r"},close_others:{name:LNG.close_others,icon:"remove-sign",className:"close_others",accesskey:"o"},sep2:"--------",open_the_path:{name:LNG.open_the_path,icon:"plus",className:"edit_open_the_path",accesskey:"n"},preview:{name:LNG.preview,icon:"globe",className:"edit_preview",accesskey:"p"}},callback:function(e,t){var i=t.$trigger,a=i.attr("uuid");switch(e){case"refresh":Editor.refresh(a);break;case"close":Editor.remove(a);break;case"close_left":var n=$(".edit_tab .tabs .tab").index(i);$(".edit_tab .tabs .tab:lt("+n+")").each(function(){Editor.remove($(this).attr("uuid"))});break;case"close_right":var n=$(".edit_tab .tabs .tab").index(i);$(".edit_tab .tabs .tab:gt("+n+")").each(function(){Editor.remove($(this).attr("uuid"))});break;case"close_others":$(".edit_tab .tabs .tab").each(function(){var e=$(this).attr("uuid");e!=a&&Editor.remove(e)});break;case"open_the_path":var o=i.attr("title");if(""==o)return Tips.tips(LNG.not_exists,"warning"),void 0;var s=core.pathFather(o),r=ShareData.frameTop();r.core.openPath(s);break;case"preview":Toolbar.doAction("preview");break;default:}}})},a=function(){var e,t,i,a,n=!1,o=!1,s=0,r=0,l=0,c=0,d=0,p=0,u=0,f=0;$(".edit_tab .tab").die("mousedown").live("mousedown",function(t){$.nodeName(t.target,"A")||(e=$.nodeName(t.target,"SPAN")?$(t.target).parent():$(this),1==t.which&&(n=!0,this.setCapture&&this.setCapture(),$(document).mousemove(function(e){m(e)}),$(document).one("mouseup",function(e){v(e),this.releaseCapture&&this.releaseCapture()})))});var h=function(a){o=!0,s=a.pageX,l=a.pageY,$tab_parent=$(".edit_tab"),t=$(".edit_tab .tab"),$(".draggable-dragging").remove(),i=e.clone().addClass("draggable-dragging").prependTo("body"),p=$sizeInt(t.css("margin-right")),u=$tab_parent.width(),f=$tab_parent.get(0).getBoundingClientRect().left,f+=$(window).scrollLeft(),r=e.get(0).getBoundingClientRect().left,d=$sizeInt(t.css("width")),c=$sizeInt(t.css("height"));var n=e.get(0).getBoundingClientRect().top-$sizeInt(e.css("margin-top")),h=a.clientX-s+r;$("body").prepend(""),i.css({width:d+"px",top:n,left:h}),e.css("opacity",0)},m=function(a){if(n){0==o&&h(a);var u=a.clientX-s+r,f=a.clientY-l+c;i.css({left:u,top:f}),t.each(function(){var t=$(this).get(0).getBoundingClientRect().left;if(u>t&&t+d/2+p>u){if(e.attr("uuid")==$(this).attr("uuid"))return;_($(this).attr("uuid"),"left")}if(u>t-d/2+p&&t>u){if(e.attr("uuid")==$(this).attr("uuid"))return;_($(this).attr("uuid"),"right")}})}},_=function(i,n){if(!e.is(":animated")||a!=i){a=i,e.stop(!0,!0),$(".insertTemp").remove(),t=$(".edit_tab .tab");var o=e.width(),s=$(".edit_tab .tab_"+i),r=e.clone(!0).insertAfter(e).css({"margin-right":"0px",border:"none"}).addClass("insertTemp");"left"==n?e.after(s).css("width","0px"):(e.before(s).css("width","0px"),s.before(r)),e.animate({width:o+"px"},animate_time),r.animate({width:"0px"},animate_time,function(){$(this).remove(),t=$(".edit_tab .tab")})}},v=function(){if(n=!1,o=!1,startTime=0,$(".dragMaskView").remove(),Editor.current()&&Editor.current().focus(),void 0!=i){var t=e.get(0).getBoundingClientRect().left,a=e.get(0).getBoundingClientRect().top;i.animate({left:t+"px",top:a+"px"},animate_time,function(){e.css("opacity",1),$(this).remove()})}}},n=function(e,t,i){"remove"==e&&t.removeClass("edit_tab_menu");var a=1.4*animate_time,n=150,o=n,s=$(".edit_tab .tab.edit_tab_menu"),r=$sizeInt($(".edit_tab .tabs").width()),l=$sizeInt(s.css("margin-right"))+$sizeInt(s.css("border-right")),c=$sizeInt($(".edit_tab .add").css("width"))+30,d=s.length,p=Math.floor((r-c)/(n+l));switch(d>p&&(o=Math.floor((r-c)/d)-l),e){case"add":$(".edit_tab .tabs .this").css({"margin-top":"30px",width:o}).stop(1,1).animate({"margin-top":"0px"},a),s.animate({width:o+"px"},a);break;case"remove":void 0!=i&&Editor.select(i),t.stop(1,1).animate({width:"0","margin-top":"+=30"},a,function(){t.remove()}),s.stop(1,1).animate({width:o+"px"},a);break;case"resize":s.css("width",o+"px");break;default:}};return{rightMenu:{hidden:t},resetWidth:n,init:function(){e(),a(),i()}}}),define("app/src/edit/toolbar",[],function(){var e=function(){i(),$(".toolMenu").bind("click mouseup",stopPP),$(".toolMenu").on("mousedown",function(){$(".toolMenu").removeClass("select"),$(this).addClass("select"),$(this).contextMenu({action:e})});var e=function(e,t){if(t.parent().hasClass("top_toolbar"))e.css({left:t.offset().left-4,top:t.outerHeight()-1});else if(t.parent().hasClass("bottom_toolbar")){var i=t.offset().left-e.outerWidth()+t.outerWidth()-5;e.css({left:i,top:t.offset().top-e.outerHeight()})}e.find("input").length>=1&&setTimeout(function(){e.find("input").focus()},10)};$.contextMenu({selector:".menuViewGotoline",trigger:"none",callback:n,items:{gotoline:{name:LNG.goto,className:"disable gotoline_input",type:"text"}}}),$.contextMenu({selector:".menuViewTab",trigger:"none",callback:n,items:{soft_tab:{name:"Soft Tabs (spaces)",className:"soft_tab"},sep1:"---------",tab_size_2:{name:"Tab with:2",className:"tab_size_set tab_size_2"},tab_size_3:{name:"Tab with:3",className:"tab_size_set tab_size_3"},tab_size_4:{name:"Tab with:4",className:"tab_size_set tab_size_4"},tab_size_8:{name:"Tab with:8",className:"tab_size_set tab_size_8"},sep2:"---------",convert_to_space:{name:"Convert To Space",className:"convert_to_space"},convert_to_tab:{name:"Convert To Tabs",className:"convert_to_tab"}}});for(var t=G.code_font_all.split(","),a={},s=0;t.length>s;s++){var r=t[s],l=replaceAll(r," ","_");a["set_font_family_"+r]={name:r,className:"set_font_family_"+l}}$.contextMenu({selector:".menuViewSetting",trigger:"none",callback:n,items:{tools:{name:LNG.tools,icon:"ellipsis-horizontal",accesskey:"m",items:{preview:{name:LNG.preview+"Ctrl+Shift+S",icon:"edit"},open_ie:{name:LNG.open_ie,icon:"external-link",accesskey:"b"},sep1:"---------",beautify_html:{name:"html "+LNG.beautify_code,icon:"angle-right"},beautify_css:{name:"css "+LNG.beautify_code,icon:"angle-right"},beautify_js:{name:"js "+LNG.beautify_code,icon:"angle-right"},sep10:"---------",beautify_php:{name:"php "+LNG.beautify_code,icon:"angle-right"}}},sep1:"---------",function_list:{name:LNG.function_list+"Ctrl+Shift+E",className:"function_list"},show_gutter:{name:LNG.show_gutter,className:"show_gutter"},auto_wrap:{name:LNG.wordwrap,className:"auto_wrap"},display_char:{name:LNG.char_all_display,className:"display_char"},sep2:"---------",font_family:{name:LNG.font_family,icon:"italic",className:"code_font_family_list",accesskey:"m",items:a},ace_mode:{name:LNG.keyboard_type,icon:"code",accesskey:"m",items:{keyboard_type_ace:{name:"Default",className:"keyboard_type_ace"},keyboard_type_vim:{name:"vim",className:"keyboard_type_vim"},keyboard_type_emacs:{name:"emacs",className:"keyboard_type_emacs"}}},sep3:"---------",help:{name:LNG.help,icon:"question",items:{shortcut:{name:LNG.shortcut,icon:"keyboard"},about:{name:LNG.about,icon:"info-sign"},emmet:{name:"Emmet help",icon:"code"},sep4:"-----------",learnMore:{name:LNG.learn_more,icon:"external-link"}}}}}),$(".tools [action]").bind("click",function(e){var t=$(this).attr("action");return n(t),Editor.current()&&Editor.current().focus(),stopPP(e),!1}),$(".tab_size_set").click(function(){var e=$(this).text().split(":");Editor.saveConfig("tab_size",e[1]),Editor.current()&&Editor.current().focus(),Editor.current().execCommand("convertIndent","reset_size")}),$("ul.code_font_family_list .context-menu-item").click(function(){Editor.saveConfig("font_family",$(this).find("span").html(),""),Editor.current()&&Editor.current().focus(),o()}),$("body").click(function(e){try{$(".toolMenu").removeClass("select"),window.parent.rightMenu.hidden(),e&&$(e.target).is("textarea")||$(e.target).is("input")||0!=$(e.target).parents(".right_main").length||Editor.current()&&Editor.current().focus()}catch(e){}}),$(".gotoline_input input").keyup(function(){Editor.current().gotoLine($(this).val())})},t=function(){var e=Editor.aceModeList.modes,t=' \n