diff --git a/addons/autolink/autolink.js b/addons/autolink/autolink.js index eea4ecf52..a6744c2bf 100644 --- a/addons/autolink/autolink.js +++ b/addons/autolink/autolink.js @@ -9,10 +9,11 @@ var max_255_re = '(?:1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9]?[0-9])'; var ip_re = '(?:'+max_255_re+'\\.){3}'+max_255_re; var port_re = '(?::([0-9]+))?'; + var user_re = '(?:/~[\\w-]+)?'; var path_re = '((?:/[\\w!"$-/:-@]+)*)'; var hash_re = '(?:#([\\w!-@]+))?'; - var url_regex = new RegExp('('+protocol_re+'('+domain_re+'|'+ip_re+'|localhost'+')'+port_re+path_re+hash_re+')', 'ig'); + var url_regex = new RegExp('('+protocol_re+'('+domain_re+'|'+ip_re+'|localhost'+')'+port_re+user_re+path_re+hash_re+')', 'ig'); var AutoLink = xe.createPlugin("autolink", { targets : [], diff --git a/addons/autolink/autolink.spec.html b/addons/autolink/autolink.spec.html index aea13835c..b4873678f 100644 --- a/addons/autolink/autolink.spec.html +++ b/addons/autolink/autolink.spec.html @@ -60,6 +60,10 @@ describe('AutoLink functionality', { "#test9 - don't include parenthesis" : function() { value_of( $('#test9 a').length ).should_be(1); value_of( $('#test9 a').attr('href') ).should_be('http://www.naver.com'); + }, + "#test10 - include tild" : function() { + value_of( $('#test10 a').length ).should_be(1); + value_of( $('#test10 a').attr('href') ).should_be('http://www.xpressengine.com:8000/~user/?mid=def'); } }); @@ -102,6 +106,7 @@ describe('Autolink trigger', {
http://mygony.com
Go to http://mygony.com
Naver(http://www.naver.com)
+
User homepage : http://www.xpressengine.com:8000/~user/?mid=def should be a link.
\ No newline at end of file diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 2406f8b7f..a267ecd96 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -87,7 +87,7 @@ Context::set('site_module_info', $site_module_info); - if($site_module_info->site_srl && isSiteID($site_module_info->vid)) Context::set('vid', $site_module_info->vid); + if($site_module_info->site_srl && isSiteID($site_module_info->domain)) Context::set('vid', $site_module_info->domain); $this->db_info->lang_type = $site_module_info->default_language; if(!$this->db_info->lang_type) $this->db_info->lang_type = 'en'; } @@ -1171,7 +1171,7 @@ function _addJsFile($file, $optimized, $targetie,$index) { if(strpos($file,'://')===false && $file{0}!='/' && $file{0}!='.') $file = './'.$file; $file = preg_replace('@/\./|(?js_files)) return; @@ -1269,7 +1269,7 @@ function _addCSSFile($file, $optimized, $media, $targetie, $index) { if(strpos($file,'://')===false && substr($file,0,1)!='/' && substr($file,0,1)!='.') $file = './'.$file; $file = str_replace(array('/./','//'),'/',$file); - while(strpos($file,'/../')) $file = preg_replace('/\/([^\/]+)\/\.\.\//s','/',$file); + while(strpos($file,'/../')) $file = preg_replace('/\/([^\/]+)\/\.\.\//s','/',$file,1); if(in_array($file, $this->css_files)) return; diff --git a/common/js/js_app.js b/common/js/js_app.js index a6cf46d53..0a376e711 100644 --- a/common/js/js_app.js +++ b/common/js/js_app.js @@ -240,8 +240,7 @@ _app_base = { if (!/^(?:AFTER_|BEFORE_)/.test(msg)) { // top level function return vRet; } else { - if (typeof vRet == 'undefined') vRet = true; - return $.isArray(vRet)?$.inArray(false, vRet):!!vRet; + return $.isArray(vRet)?($.inArray(false, vRet)<0):((typeof vRet=='undefined')?true:!!vRet); } } }; diff --git a/common/js/xml_js_filter.js b/common/js/xml_js_filter.js index c9fa1322d..a90803135 100644 --- a/common/js/xml_js_filter.js +++ b/common/js/xml_js_filter.js @@ -59,7 +59,11 @@ var Validator = xe.createApp('Validator', { if (oForm._filter) filter = oForm._filter.value; - return this.cast('VALIDATE', [oForm, filter]); + var params = [oForm, filter]; + var result = this.cast('VALIDATE', params); + if (typeof result == 'undefined') result = false; + + return result; }, API_ONREADY : function() { var self = this; diff --git a/common/lang/zh-TW.lang.php b/common/lang/zh-TW.lang.php index fc55a95fa..f75b838aa 100644 --- a/common/lang/zh-TW.lang.php +++ b/common/lang/zh-TW.lang.php @@ -257,7 +257,7 @@ $lang->confirm_move = '確定要移動嗎?'; $lang->confirm_reset = '確定要重置嗎?'; $lang->confirm_leave = '確定要退出嗎?'; - $lang->confirm_update = 'Are you sure to update?'; + $lang->confirm_update = '確定要更新嗎?'; $lang->column_type = '格式'; $lang->column_type_list['text'] = '文字輸入(text)'; diff --git a/config/config.inc.php b/config/config.inc.php index ff88c383f..afef6e6f1 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -13,7 +13,7 @@ * @brief XE의 전체 버전 표기 * 이 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함 **/ - define('__ZBXE_VERSION__', '1.4.0.2'); + define('__ZBXE_VERSION__', '1.4.0.3'); /** * @brief zbXE가 설치된 장소의 base path를 구함 diff --git a/modules/autoinstall/autoinstall.admin.controller.php b/modules/autoinstall/autoinstall.admin.controller.php index cf3ed8848..96079da55 100644 --- a/modules/autoinstall/autoinstall.admin.controller.php +++ b/modules/autoinstall/autoinstall.admin.controller.php @@ -82,6 +82,10 @@ case "widgetstyle": $config_file = "/skin.xml"; break; + case "drcomponent": + $config_file = "/info.xml"; + $type = "component"; + break; default: continue; diff --git a/modules/comment/comment.item.php b/modules/comment/comment.item.php index eb505bc66..b081b74fe 100644 --- a/modules/comment/comment.item.php +++ b/modules/comment/comment.item.php @@ -252,9 +252,6 @@ // >, <, "를 다시 복구 $content = str_replace(array('<','>','"'),array('<','>','"'), $content); - // 영문이 연결될 경우 개행이 안 되는 문제를 해결 - $content = preg_replace('/([a-z0-9\+:\/\.\~,\|\!\@\#\$\%\^\&\*\(\)\_]){20}/is',"$0-",$content); - return $content; } diff --git a/modules/comment/queries/getCommentCount.xml b/modules/comment/queries/getCommentCount.xml index 80c8ac276..94b67c0ed 100644 --- a/modules/comment/queries/getCommentCount.xml +++ b/modules/comment/queries/getCommentCount.xml @@ -6,8 +6,7 @@ - + - diff --git a/modules/document/lang/zh-TW.lang.php b/modules/document/lang/zh-TW.lang.php index abb61db42..853d81eb2 100644 --- a/modules/document/lang/zh-TW.lang.php +++ b/modules/document/lang/zh-TW.lang.php @@ -95,5 +95,5 @@ 'trash_ipaddress' => '移除IP位址', ); - $lang->success_trashed = "Successfully moved to trashcan"; + $lang->success_trashed = "成功地移到垃圾桶"; ?> diff --git a/modules/editor/components/image_gallery/tpl/popup.js b/modules/editor/components/image_gallery/tpl/popup.js index 0fa1c2797..36759ddf1 100644 --- a/modules/editor/components/image_gallery/tpl/popup.js +++ b/modules/editor/components/image_gallery/tpl/popup.js @@ -106,7 +106,7 @@ function insertSlideShow() { selected_node.setAttribute("images_list", images_list); selected_node.style.width = width+"px"; } else { - var text = ""; + var text = ""; opener.editorFocus(opener.editorPrevSrl); var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl) opener.editorReplaceHTML(iframe_obj, text); diff --git a/modules/editor/components/multimedia_link/tpl/popup.js b/modules/editor/components/multimedia_link/tpl/popup.js index f1802e7d7..f7d498b6c 100644 --- a/modules/editor/components/multimedia_link/tpl/popup.js +++ b/modules/editor/components/multimedia_link/tpl/popup.js @@ -55,7 +55,7 @@ function insertMultimedia(obj) { return; } - var text = "\""+caption+"\""; + var text = "\""+caption+"\""; opener.editorFocus(opener.editorPrevSrl); diff --git a/modules/editor/components/poll_maker/tpl/popup.html b/modules/editor/components/poll_maker/tpl/popup.html index 5226c73bc..ddfc49b5f 100644 --- a/modules/editor/components/poll_maker/tpl/popup.html +++ b/modules/editor/components/poll_maker/tpl/popup.html @@ -61,9 +61,6 @@ - -
-