From 2548b3702e4a8a9b6dbce6887a90a6d6bf095f20 Mon Sep 17 00:00:00 2001 From: chschy Date: Thu, 30 Aug 2012 05:16:01 +0000 Subject: [PATCH 01/94] issue 2322 whne recompile cache, link error of virtual site menu git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11123 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DB.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index d339947a1..5960af780 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -407,6 +407,7 @@ */ function executeQuery($query_id, $args = NULL, $arg_columns = NULL) { static $cache_file = array(); + if(!$query_id) return new Object(-1, 'msg_invalid_queryid'); if(!$this->db_type) return; @@ -414,7 +415,7 @@ $this->query_id = $query_id; - if(!isset($cache_file[$query_id])) { + if(!isset($cache_file[$query_id]) || !file_exists($cache_file[$query_id])) { $id_args = explode('.', $query_id); if(count($id_args) == 2) { $target = 'modules'; From bf76e14f321272024dca8a458a3c59c25fbf788a Mon Sep 17 00:00:00 2001 From: devjin Date: Mon, 3 Sep 2012 06:29:55 +0000 Subject: [PATCH 02/94] issue 2341 fixed a bug that friends move another group. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11140 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../communication.controller.php | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/communication/communication.controller.php b/modules/communication/communication.controller.php index d9352b386..3362ef2cd 100644 --- a/modules/communication/communication.controller.php +++ b/modules/communication/communication.controller.php @@ -290,15 +290,27 @@ * Move a group of the friend * @return void|Object (success : void, fail : Object) **/ - function procCommunicationMoveFriend() { + function procCommunicationMoveFriend() + { // Check login information - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + if(!Context::get('is_logged')) + { + return new Object(-1, 'msg_not_logged'); + } + $logged_info = Context::get('logged_info'); // Check variables - $friend_srl_list = trim(Context::get('friend_srl_list')); - if(!$friend_srl_list) return new Object(-1, 'msg_cart_is_null'); + $friend_srl_list = Context::get('friend_srl_list'); + if(!$friend_srl_list) + { + return new Object(-1, 'msg_cart_is_null'); + } + + if(!is_array($friend_srl_list)) + { + $friend_srl_list = explode('|@|', $friend_srl_list); + } - $friend_srl_list = explode('|@|', $friend_srl_list); if(!count($friend_srl_list)) return new Object(-1, 'msg_cart_is_null'); $friend_count = count($friend_srl_list); From 38e0c8e595efecb3c8c29693046f1976207050b9 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 3 Sep 2012 06:30:13 +0000 Subject: [PATCH 03/94] issue 2333, fixed a bug that always convert default url to lowcase and save to DB. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11141 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/module/module.controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index 6a436d6b2..b6b550744 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -244,7 +244,7 @@ if(isSiteID($args->domain) && $oModuleModel->isIDExists($args->domain)) return new Object(-1,'msg_already_registed_vid'); if($args->domain && !isSiteID($args->domain)) { - $args->domain = strtolower($args->domain); + $args->domain = $args->domain; } } From 58849099c1616a30bfaa7b4dd50c917eb20ef18d Mon Sep 17 00:00:00 2001 From: ChanMyeong Date: Mon, 3 Sep 2012 06:42:51 +0000 Subject: [PATCH 04/94] Issue 2340 fixed. .xe_content img {max-width:100%;height:auto !important} git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11142 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- addons/resize_image/css/resize_image.mobile.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/resize_image/css/resize_image.mobile.css b/addons/resize_image/css/resize_image.mobile.css index a62075411..53d753413 100644 --- a/addons/resize_image/css/resize_image.mobile.css +++ b/addons/resize_image/css/resize_image.mobile.css @@ -1 +1 @@ -.xe_content img { max-width:100%; height:auto; } +.xe_content img{max-width:100%;height:auto !important} From e27d4f7bbcb293f6506798930ef7e40aaaa6e9a2 Mon Sep 17 00:00:00 2001 From: ChanMyeong Date: Mon, 3 Sep 2012 07:01:54 +0000 Subject: [PATCH 05/94] Issue 2296 fixed. Invalid form element was removed. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11143 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/rss/tpl/rss_admin_index.html | 54 +++++++++++++------------- modules/rss/tpl/rss_module_config.html | 10 ++--- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/modules/rss/tpl/rss_admin_index.html b/modules/rss/tpl/rss_admin_index.html index 3ef69f84a..8e63e6fdb 100644 --- a/modules/rss/tpl/rss_admin_index.html +++ b/modules/rss/tpl/rss_admin_index.html @@ -47,29 +47,29 @@ -
-

{$lang->feed} {$lang->cmd_management}

-
- - - - - - - - - - - - +

{$lang->feed} {$lang->cmd_management}

+
+
{$lang->mid}{$lang->description}{$lang->open_rss} - - {$lang->cmd_save}
+ + + + + + + + + + + - - - - - + + + + - - - -
{$lang->mid}{$lang->description}{$lang->open_rss} + + {$lang->cmd_save}
{$value['mid']} + {$value['mid']} + {$value['feed_description']} @@ -83,10 +83,8 @@
-
- + + + + diff --git a/modules/rss/tpl/rss_module_config.html b/modules/rss/tpl/rss_module_config.html index 85b2c3038..431ece1ef 100644 --- a/modules/rss/tpl/rss_module_config.html +++ b/modules/rss/tpl/rss_module_config.html @@ -1,9 +1,9 @@
- - - - - + + + + +

{$lang->open_rss}

{$lang->about_open_rss}

From 815e6b5bef635ced5821e5dcaa0c77125239ef59 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 3 Sep 2012 10:13:55 +0000 Subject: [PATCH 06/94] Issue 2314: Image rendering problem in IE8 when there's a delay during the loading is fixed. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11144 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../components/image_gallery/tpl/slide_gallery.js | 11 ++++++++++- .../components/image_gallery/tpl/slide_gallery.min.js | 8 ++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/editor/components/image_gallery/tpl/slide_gallery.js b/modules/editor/components/image_gallery/tpl/slide_gallery.js index 08efeafc6..b2aa90358 100644 --- a/modules/editor/components/image_gallery/tpl/slide_gallery.js +++ b/modules/editor/components/image_gallery/tpl/slide_gallery.js @@ -19,10 +19,19 @@ var slideShow = xe.createPlugin('slideShow', { API_SHOW_SLIDE : function(sender, params) { var self=this, srl = params[0], key = '@'+srl, imgs, $zone, $thumb, $holder, i, c; - + var p = params; imgs = this.cast('GET_IMAGES', [srl]); if(!imgs.length) return; + for(var i=0, nLen=imgs.length; ia?a=b.length-1:a>=b.length&&(a=0),this.cast("SET_SLIDE",[g,a]))},API_NEXT_SLIDE:function(g,f){this._showSideSlide(f[0],1)},API_PREV_SLIDE:function(g,f){this._showSideSlide(f[0],-1)},API_SET_SLIDE:function(g,f){var b=f[0],a=f[1],c,d,e;c=this.cast("GET_IMAGES",[b]);if(c.length&&is_def(d=c[a]))this._current["@"+b]=a,k("#zone_gallery_navigator_status_"+b).text(a+1+"/"+c.length),this._thumbs["@"+b].find("img").eq(a).animate({opacity:1}).end().not(":eq("+a+")").animate({opacity:0.5}), -b=this._holders["@"+b],c=b.parent().innerWidth(),a=d.$obj.prop("width"),e=d.$obj.prop("height"),0==a&&(a=d.$obj.attr("width")),0==e&&(e=d.$obj.attr("height")),a>c-20&&(c-=20,e=Math.floor(e*(c/a)),a=c,d.$obj.css("cursor","pointer"),d.$obj.attr("rel","xe_gallery")),d.$obj.css({width:a,height:e,margin:"0 10px"}),b.empty().append(d.$obj)}}),i=xe.getApp("Gallery")[0];i&&i.registerPlugin(new m)})(jQuery); +(function(k){var m=xe.createPlugin("slideShow",{_holders:{},_thumbs:{},_current:{},init:function(){this._holders={};this._thumbs={};this._current={}},API_SHOW_SLIDE:function(h,f){var b=this,a=f[0],d="@"+a,c,e,j,i,g,l;c=this.cast("GET_IMAGES",[a]);if(c.length){g=0;for(e=c.length;ga?a=b.length-1:a>=b.length&&(a=0),this.cast("SET_SLIDE",[h,a]))},API_NEXT_SLIDE:function(h,f){this._showSideSlide(f[0],1)},API_PREV_SLIDE:function(h,f){this._showSideSlide(f[0],-1)},API_SET_SLIDE:function(h,f){var b=f[0],a=f[1],d,c,e;d=this.cast("GET_IMAGES",[b]);if(d.length&&is_def(c=d[a]))this._current["@"+b]=a,k("#zone_gallery_navigator_status_"+ +b).text(a+1+"/"+d.length),this._thumbs["@"+b].find("img").eq(a).animate({opacity:1}).end().not(":eq("+a+")").animate({opacity:0.5}),b=this._holders["@"+b],d=b.parent().innerWidth(),a=c.$obj.prop("width"),e=c.$obj.prop("height"),0==a&&(a=c.$obj.attr("width")),0==e&&(e=c.$obj.attr("height")),a>d-20&&(d-=20,e=Math.floor(e*(d/a)),a=d,c.$obj.css("cursor","pointer"),c.$obj.attr("rel","xe_gallery")),c.$obj.css({width:a,height:e,margin:"0 10px"}),b.empty().append(c.$obj)}}),i=xe.getApp("Gallery")[0];i&&i.registerPlugin(new m)})(jQuery); From 7f68216fe51ff7257093368d6f1826c3569c5972 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 3 Sep 2012 13:14:24 +0000 Subject: [PATCH 07/94] Issue 2315 : The blur layer now covers the entire document. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11145 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- addons/resize_image/js/resize_image.js | 21 +++++++++++++++------ addons/resize_image/js/resize_image.min.js | 10 ++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/addons/resize_image/js/resize_image.js b/addons/resize_image/js/resize_image.js index be1e197eb..c1de9b2ae 100644 --- a/addons/resize_image/js/resize_image.js +++ b/addons/resize_image/js/resize_image.js @@ -90,10 +90,14 @@ function getScreen() { $("#xe_gallery_controls,#xe_gallery_screen").css({ display:"block", - width : clientWidth + "px", - height : clientHeight + "px", - left : $(document).scrollLeft(), - top : $(document).scrollTop() + width : $(document).width() + "px", + height : $(document).height() + "px", + left : 0, + top : 0 + //width : clientWidth + "px", + //height : clientHeight + "px", + // left : $(document).scrollLeft(), + // top : $(document).scrollTop() }); closebtn.css("left", Math.round((clientWidth-60)/2) + "px"); @@ -126,8 +130,13 @@ function getScreen() { if(!src) src = this.list.eq(this.index).attr("src"); imgframe.attr("src", src).css({ - left : Math.round( Math.max( (clientWidth-imgframe.width()-14)/2, 0 ) ) + "px", - top : Math.round( Math.max( (clientHeight-imgframe.height()-14)/2, 0 ) ) + "px" + left : Math.round( Math.max( parseInt($(document).scrollLeft()) + (clientWidth-imgframe.width()-14)/2, 0 ) ) + "px", + top : Math.round( Math.max( parseInt($(document).scrollTop()) + (clientHeight-imgframe.height()-14)/2, 0 ) ) + "px" + }); + + closebtn.css({ + left : Math.round( Math.max( parseInt($(document).scrollLeft()) + (clientWidth-closebtn.width())/2, 0 ) ) + "px", + top : Math.round( Math.max( parseInt($(document).scrollTop()) + 10, 0 ) ) + "px" }); }; diff --git a/addons/resize_image/js/resize_image.min.js b/addons/resize_image/js/resize_image.min.js index 659fd9f56..fe8f24f84 100644 --- a/addons/resize_image/js/resize_image.min.js +++ b/addons/resize_image/js/resize_image.min.js @@ -1,9 +1,7 @@ /** * @brief 화면내에서 상위 영역보다 이미지가 크면 리사이즈를 하고 클릭시 원본을 보여줄수 있도록 변경 **/ -(function($){var xScreen=null;function getScreen(){var body=$(document.body);var controls,imgframe,closebtn,prevbtn,nextbtn;if(!xScreen){xScreen=$("
").attr("id","xe_gallery_screen").css({position:"absolute",display:"none",backgroundColor:"black",zIndex:500,opacity:0.5});controls=$("
").attr("id","xe_gallery_controls").css({position:"absolute",display:"none",overflow:"hidden",zIndex:510});closebtn=$("").attr("id","xe_gallery_closebtn").attr("src",request_uri+"addons/resize_image/iconClose.png").css({top:"10px"}).click(function(){xScreen.xeHide()}).appendTo(controls);prevbtn=$("").attr("id","xe_gallery_prevbtn").attr("src",request_uri+"addons/resize_image/iconLeft.png").css("left","10px").click(function(){xScreen.xePrev()}).appendTo(controls);nextbtn=$("").attr("id","xe_gallery_nextbtn").attr("src",request_uri+"addons/resize_image/iconRight.png").css("right","10px").click(function(){xScreen.xeNext()}).appendTo(controls);controls.find("img").attr({width:60,height:60,className:"iePngFix"}).css({position:"absolute",width:"60px",height:"60px",zIndex:530,cursor:"pointer"});imgframe=$("").attr("id","xe_gallery_holder").css("border","7px solid white").css("zIndex",520).appendTo(controls).draggable();body.append(xScreen).append(controls);xScreen.xeShow=function(){var clientWidth=$(window).width();var clientHeight=$(window).height();$("#xe_gallery_controls,#xe_gallery_screen").css({display:"block",width:clientWidth+"px",height:clientHeight+"px",left:$(document).scrollLeft(),top:$(document).scrollTop()});closebtn.css("left",Math.round((clientWidth-60)/2)+"px");$("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round((clientHeight-60)/2)+"px");this.xeMove(0);};xScreen.xeHide=function(event){xScreen.css("display","none");controls.css("display","none");};xScreen.xePrev=function(){this.xeMove(-1);};xScreen.xeNext=function(){this.xeMove(1);};xScreen.xeMove=function(val){var clientWidth=$(window).width();var clientHeight=$(window).height();this.index+=val;prevbtn.css("visibility",(this.index>0)?"visible":"hidden");nextbtn.css("visibility",(this.index
');function doResize(contentWidth,count){if(!count)count=0;if(count>=10)return;var $img=this;var beforSize={'width':$img.width(),'height':$img.height()};if(!beforSize.width||!beforSize.height){setTimeout(function(){doResize.call($img,contentWidth,++count)},200);return;} -if(beforSize.width<=contentWidth)return;var resize_ratio=contentWidth/beforSize.width;$img.removeAttr('width').removeAttr('height').css({'width':contentWidth,'height':parseInt(beforSize.height*resize_ratio,10)});} -$('div.xe_content').each(function(){dummy.appendTo(this);var contentWidth=dummy.width();dummy.remove();if(!contentWidth)return;$('img',this).each(function(){var $img=$(this);var imgSrc=$img.attr('src');if(regx_skip.test(imgSrc)&&!regx_allow_i6pngfix.test(imgSrc))return;$img.attr('rel','xe_gallery');doResize.call($img,contentWidth);});$('img[rel=xe_gallery]',this).live('mouseover',function(){var $img=$(this);if(!$img.parent('a').length&&!$img.attr('onclick')){$img.css('cursor','pointer').click(slideshow);}});});});})(jQuery); +(function($){var xScreen=null +function getScreen(){var body=$(document.body),controls,imgframe,closebtn,prevbtn,nextbtn;if(!xScreen){xScreen=$("
").attr("id","xe_gallery_screen").css({position:"absolute",display:"none",backgroundColor:"black",zIndex:500,opacity:0.5});controls=$("
").attr("id","xe_gallery_controls").css({position:"absolute",display:"none",overflow:"hidden",zIndex:510});closebtn=$("").attr("id","xe_gallery_closebtn").attr("src",request_uri+"addons/resize_image/iconClose.png").css({top:"10px"}).click(function(){xScreen.xeHide()}).appendTo(controls);prevbtn=$("").attr("id","xe_gallery_prevbtn").attr("src",request_uri+"addons/resize_image/iconLeft.png").css("left","10px").click(function(){xScreen.xePrev()}).appendTo(controls);nextbtn=$("").attr("id","xe_gallery_nextbtn").attr("src",request_uri+"addons/resize_image/iconRight.png").css("right","10px").click(function(){xScreen.xeNext()}).appendTo(controls);controls.find("img").attr({width:60,height:60,className:"iePngFix"}).css({position:"absolute",width:"60px",height:"60px",zIndex:530,cursor:"pointer"});imgframe=$("").attr("id","xe_gallery_holder").css("border","7px solid white").css("zIndex",520).appendTo(controls).draggable();body.append(xScreen).append(controls);xScreen.xeShow=function(){var clientWidth=$(window).width(),clientHeight=$(window).height();$("#xe_gallery_controls,#xe_gallery_screen").css({display:"block",width:$(document).width()+"px",height:$(document).height()+"px",left:0,top:0});closebtn.css("left",Math.round((clientWidth-60)/2)+"px");$("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round((clientHeight-60)/2)+"px");this.xeMove(0)};xScreen.xeHide=function(event){xScreen.css("display","none");controls.css("display","none")};xScreen.xePrev=function(){this.xeMove(-1)};xScreen.xeNext=function(){this.xeMove(1)};xScreen.xeMove=function(val){var clientWidth=$(window).width(),clientHeight=$(window).height();this.index+=val;prevbtn.css("visibility",(this.index>0)?"visible":"hidden");nextbtn.css("visibility",(this.index
') +function doResize(contentWidth,count){if(!count)count=0;if(count>=10)return;var $img=this,beforSize={width:$img.width(),height:$img.height()};if(!beforSize.width||!beforSize.height){setTimeout(function(){doResize.call($img,contentWidth,++count)},200);return};if(beforSize.width<=contentWidth)return;var resize_ratio=contentWidth/beforSize.width;$img.removeAttr('width').removeAttr('height').css({width:contentWidth,height:parseInt(beforSize.height*resize_ratio,10)})};$('div.xe_content').each(function(){var contentWidth=dummy.appendTo(this).width();dummy.remove();if(!contentWidth)return;$('img',this).each(function(){var $img=$(this),imgSrc=$img.attr('src');if(regx_skip.test(imgSrc)&&!regx_allow_i6pngfix.test(imgSrc))return;$img.attr('rel','xe_gallery');doResize.call($img,contentWidth)});$('img[rel=xe_gallery]',this).live('mouseover',function(){var $img=$(this);if(!$img.parent('a').length&&!$img.attr('onclick'))$img.css('cursor','pointer').click(slideshow)})})})})(jQuery) \ No newline at end of file From 071bcb6e558eb29eacc8de3dbd836dd710e6d387 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 3 Sep 2012 13:16:37 +0000 Subject: [PATCH 08/94] Issue 2032: fixed typo git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11146 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/common.js | 12 ++++++------ common/js/xe.js | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/common/js/common.js b/common/js/common.js index 6cb9b8bbc..bb8128aae 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -364,18 +364,18 @@ function sendMailTo(to) { /** * @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움) **/ -function move_url(url, open_wnidow) { +function move_url(url, open_window) { if(!url) return false; - if(typeof(open_wnidow) == 'undefined') open_wnidow = 'N'; - if(open_wnidow=='N') { - open_wnidow = false; + if(typeof(open_window) == 'undefined') open_window = 'N'; + if(open_window=='N') { + open_window = false; } else { - open_wnidow = true; + open_window = true; } if(/^\./.test(url)) url = request_uri+url; - if(open_wnidow) { + if(open_window) { winopen(url); } else { location.href=url; diff --git a/common/js/xe.js b/common/js/xe.js index 62d8af7fe..345459888 100644 --- a/common/js/xe.js +++ b/common/js/xe.js @@ -648,18 +648,18 @@ function sendMailTo(to) { /** * @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움) **/ -function move_url(url, open_wnidow) { +function move_url(url, open_window) { if(!url) return false; - if(typeof(open_wnidow) == 'undefined') open_wnidow = 'N'; - if(open_wnidow=='N') { - open_wnidow = false; + if(typeof(open_window) == 'undefined') open_window = 'N'; + if(open_window=='N') { + open_window = false; } else { - open_wnidow = true; + open_window = true; } if(/^\./.test(url)) url = request_uri+url; - if(open_wnidow) { + if(open_window) { winopen(url); } else { location.href=url; From 910814ac5eaf77e939413463b34551e073afdbd0 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 4 Sep 2012 02:24:56 +0000 Subject: [PATCH 09/94] issue 2270, fixed a bug that exceed memory size on module instance list git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11147 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/module/module.admin.model.php | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/module/module.admin.model.php b/modules/module/module.admin.model.php index a4315e172..e3065dc5c 100644 --- a/modules/module/module.admin.model.php +++ b/modules/module/module.admin.model.php @@ -50,11 +50,51 @@ return $output; } + function getSelectedManageHTML($grantList) + { + // Grant virtual permission for access and manager + $grantList->access->title = Context::getLang('grant_access'); + $grantList->access->default = 'guest'; + if(count($grantList)) + { + foreach($grantList as $key => $val) { + if(!$val->default) $val->default = 'guest'; + if($val->default == 'root') $val->default = 'manager'; + $grant_list->{$key} = $val; + } + } + $grant_list->manager->title = Context::getLang('grant_manager'); + $grant_list->manager->default = 'manager'; + Context::set('grant_list', $grant_list); + + // Get a list of groups + $oMemberModel = &getModel('member'); + $group_list = $oMemberModel->getGroups(0); + Context::set('group_list', $group_list); + + Context::set('module_srls', 'dummy'); + $content = ''; + // Call a trigger for additional settings + // Considering uses in the other modules, trigger name cen be publicly used + $output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'before', $content); + $output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'after', $content); + Context::set('setup_content', $content); + + // Get information of module_grants + $oTemplate = &TemplateHandler::getInstance(); + return $oTemplate->compile($this->module_path.'tpl', 'include.manage_selected.html'); + } + /** * @brief Common:: module's permission displaying page in the module * Available when using module instance in all the modules **/ function getModuleGrantHTML($module_srl, $source_grant_list) { + if(!$module_srl) + { + return; + } + // get member module's config $oMemberModel = &getModel('member'); $member_config = $oMemberModel->getMemberConfig(); From d60b68df3523a660f7a6049d7aa612f91e91004c Mon Sep 17 00:00:00 2001 From: chschy Date: Tue, 4 Sep 2012 06:28:46 +0000 Subject: [PATCH 10/94] issue 2348 330 error of counter widget git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11154 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- widgets/counter_status/counter_status.class.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/widgets/counter_status/counter_status.class.php b/widgets/counter_status/counter_status.class.php index 4792ff718..717c33fca 100644 --- a/widgets/counter_status/counter_status.class.php +++ b/widgets/counter_status/counter_status.class.php @@ -19,11 +19,15 @@ $site_module_info = Context::get('site_module_info'); $output = $oCounterModel->getStatus(array('00000000', date('Ymd', time()-60*60*24), date('Ymd')), $site_module_info->site_srl); - foreach($output as $key => $val) { - if(!$key) Context::set('total_counter', $val); - elseif($key == date("Ymd")) Context::set('today_counter', $val); - else Context::set('yesterday_counter', $val); - } + if(count($output)) + { + foreach($output as $key => $val) + { + if(!$key) Context::set('total_counter', $val); + elseif($key == date("Ymd")) Context::set('today_counter', $val); + else Context::set('yesterday_counter', $val); + } + } // Set a path of the template skin (values of skin, colorset settings) $tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin); Context::set('colorset', $args->colorset); From b37e172f65aa9429a4a1d9e6f5dedd8aca154f84 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 5 Sep 2012 05:30:52 +0000 Subject: [PATCH 11/94] version up to 1.5.3.2.beta git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11162 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- config/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.inc.php b/config/config.inc.php index 7f3cc2592..0b5860483 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -14,7 +14,7 @@ * Display XE's full version * Even The file should be revised when releasing altough no change is made */ - define('__XE_VERSION__', '1.5.3.2'); + define('__XE_VERSION__', '1.5.3.2.beta'); /** * @deprecated __ZBXE_VERSION__ will be removed. Use __XE_VERSION__ instead. From 343b52c1e9994d7e5e5eb192fe0223c756bf01fc Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 5 Sep 2012 05:48:06 +0000 Subject: [PATCH 12/94] fixed a syntax error on php4 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11163 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/comment/comment.controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/comment/comment.controller.php b/modules/comment/comment.controller.php index 9031179c1..8e07365ce 100644 --- a/modules/comment/comment.controller.php +++ b/modules/comment/comment.controller.php @@ -666,7 +666,7 @@ * @param int $document_srl * @return object */ - function deleteComments($document_srl, &$obj = NULL) { + function deleteComments($document_srl, $obj = NULL) { // create the document model object $oDocumentModel = &getModel('document'); $oCommentModel = &getModel('comment'); From 49fe7763796efb7a9faeb74f9c4770844380fe2f Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 5 Sep 2012 11:30:14 +0000 Subject: [PATCH 13/94] issue 2159, fixed a problem that does not restore prev. value of array name type(ex. aaa[]) on return page by error. fixed a problem that restore prev. value at all form on page have multiple form. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11168 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 13 +++- classes/display/HTMLDisplayHandler.php | 77 ++++++++++++++++++---- classes/module/ModuleHandler.class.php | 3 +- classes/template/TemplateHandler.class.php | 31 ++++++++- 4 files changed, 108 insertions(+), 16 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 3582c6198..fcfe688d3 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -964,11 +964,22 @@ class Context { { foreach($_GET as $key => $val) { - $vars[] = $key . '=' . ($val ? urlencode(Context::convertEncodingStr($val)) : ''); + if(is_array($val)) + { + foreach($val as $key2 => $val2) + { + $vars[] = $key . "[$key2]=" . ($val2 ? urlencode(Context::convertEncodingStr($val2)) : ''); + } + } + else + { + $vars[] = $key . '=' . ($val ? urlencode(Context::convertEncodingStr($val)) : ''); + } } $url .= '?' . join('&', $vars); } } + return $url; } diff --git a/classes/display/HTMLDisplayHandler.php b/classes/display/HTMLDisplayHandler.php index 02fab5eff..2a1acae70 100644 --- a/classes/display/HTMLDisplayHandler.php +++ b/classes/display/HTMLDisplayHandler.php @@ -140,13 +140,7 @@ class HTMLDisplayHandler { if(is_array(Context::get('INPUT_ERROR'))) { - $INPUT_ERROR = Context::get('INPUT_ERROR'); - $keys = array_keys($INPUT_ERROR); - $keys = '('.implode('|', $keys).')'; - - $output = preg_replace_callback('@(]*?)\sname="'.$keys.'"([^>]*?)/?>@is', array(&$this, '_preserveValue'), $output); - $output = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveSelectValue'), $output); - $output = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveTextAreaValue'), $output); + $output = preg_replace_callback('@]* id="' . $_SESSION['INPUT_ERROR_ID'] . '"[^<>]*/?>.*?@is', array(&$this, '_inputError'), $output); } if(__DEBUG__==3) $GLOBALS['__trans_content_elapsed__'] = getMicroTime()-$start; @@ -179,6 +173,61 @@ class HTMLDisplayHandler { $oModuleController->replaceDefinedLangCode($output); } + /** + * Display prev values that inputted by user + * @param array $matches + * @return string + */ + function _inputError($matches) + { + $INPUT_ERROR = Context::get('INPUT_ERROR'); + + $keys = array(); + foreach($INPUT_ERROR as $key => $value) + { + if(is_array($value)) + { + $keys[] = $key . '\[[^\]]*\]'; + } + else + { + $keys[] = $key; + } + } + + $keys = '('.implode('|', $keys).')'; + + $matches[0] = preg_replace_callback('@(]*?)\sname="'.$keys.'"([^>]*?)/?>@is', array(&$this, '_preserveValue'), $matches[0]); + $matches[0] = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveSelectValue'), $matches[0]); + $matches[0] = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveTextAreaValue'), $matches[0]); + + return $matches[0]; + } + + function _getInputErrorValue($ogName, &$value) + { + $INPUT_ERROR = Context::get('INPUT_ERROR'); + + if(preg_match('/^([^\[]+)\[([^\]]+)\]$/', $ogName, $m)) + { + $name = $m[1]; + $key = $m[2]; + } + else + { + $name = $ogName; + } + + if(isset($key)) + { + $value = $INPUT_ERROR[$name][$key]; + } + else + { + $value = $INPUT_ERROR[$name]; + } + } + /** * when display mode is HTML, prepare code before print about tag value. * @param array $match input value. @@ -186,7 +235,7 @@ class HTMLDisplayHandler { **/ function _preserveValue($match) { - $INPUT_ERROR = Context::get('INPUT_ERROR'); + $this->_getInputErrorValue($match[3], $value); $str = $match[1].$match[2].' name="'.$match[3].'"'.$match[4]; @@ -197,7 +246,7 @@ class HTMLDisplayHandler { switch($type){ case 'text': case 'hidden': - $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str).' value="'.@htmlspecialchars($INPUT_ERROR[$match[3]]).'"'; + $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str).' value="'.@htmlspecialchars($value).'"'; break; case 'password': $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str); @@ -205,7 +254,7 @@ class HTMLDisplayHandler { case 'radio': case 'checkbox': $str = preg_replace('@\schecked(="[^"]*?")?@', ' ', $str); - if(@preg_match('@\s(?i:value)="'.$INPUT_ERROR[$match[3]].'"@', $str)) { + if(@preg_match('@\s(?i:value)="'.$value.'"@', $str)) { $str .= ' checked="checked"'; } break; @@ -221,13 +270,14 @@ class HTMLDisplayHandler { **/ function _preserveSelectValue($matches) { - $INPUT_ERROR = Context::get('INPUT_ERROR'); + $this->_getInputErrorValue($matches[1], $value); + preg_replace('@\sselected(="[^"]*?")?@', ' ', $matches[0]); preg_match('@@is', $matches[0], $mm); preg_match_all('@]*\svalue="([^"]*)".+@isU', $matches[0], $m); - $key = array_search($INPUT_ERROR[$matches[1]], $m[1]); + $key = array_search($value, $m[1]); if($key === FALSE) { return $matches[0]; @@ -245,9 +295,10 @@ class HTMLDisplayHandler { **/ function _preserveTextAreaValue($matches) { + $this->_getInputErrorValue($matches[1], $value); $INPUT_ERROR = Context::get('INPUT_ERROR'); preg_match('@@is', $matches[0], $mm); - return $mm[0].$INPUT_ERROR[$matches[1]].''; + return $mm[0].$value.''; } /** diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 678abf9cf..7f2629146 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -547,7 +547,8 @@ function _setInputValueToSession() { $requestVars = Context::getRequestVars(); - unset($requestVars->act, $requestVars->mid, $requestVars->vid, $requestVars->success_return_url, $requestVars->error_return_url); + $_SESSION['INPUT_ERROR_ID'] = $requestVars->xe_form_id; + unset($requestVars->module, $requestVars->act, $requestVars->mid, $requestVars->vid, $requestVars->success_return_url, $requestVars->error_return_url, $requestVars->xe_form_id); foreach($requestVars AS $key=>$value) $_SESSION['INPUT_ERROR'][$key] = $value; } diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index 31de9b8f4..3ced5c796 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -225,9 +225,9 @@ class TemplateHandler { **/ function _compileFormAuthGeneration($matches) { - // form ruleset attribute move to hidden tag if($matches[1]) { + // form ruleset attribute move to hidden tag preg_match('/ruleset="([^"]*?)"/is', $matches[1], $m); if($m[0]) { @@ -256,8 +256,24 @@ class TemplateHandler { //assign to addJsFile method for js dynamic recache $matches[1] = ''.$matches[1]; } + + // form id attribute move to hidden tag + preg_match('/id="([^"]*?)"/is', $matches[1], $m); + if(!$m[1]) + { + $mt = microtime(); + $rand = mt_rand(); + $m[1] = md5($mt . $rand); + $matches[1] = substr($matches[1], 0, 5) . ' id="' . $m[1] . '" ' . substr($matches[1], 5); + } + $matches[2] = '' . $matches[2]; + $formId = $m[1]; } + // generate array key index + $this->arrayKeyIndex = array(); + $matches[2] = preg_replace_callback('/(<(?:input|select|textarea)[^>]* name=")([^"]+)\[\](")/is', array($this, '_generateArrayKey'), $matches[2]); + // if not exists default hidden tag, generate hidden tag preg_match_all('/]* name="(act|mid|vid)"/is', $matches[2], $m2); $checkVar = array('act', 'mid', 'vid'); @@ -287,6 +303,19 @@ class TemplateHandler { return implode($matches); } + function _generateArrayKey($matches) + { + if(!$this->arrayKeyIndex[$matches[2]]) + { + $this->arrayKeyIndex[$matches[2]] = 0; + } + + $matches[2] = $matches[2] . '[' . $this->arrayKeyIndex[$matches[2]]++ . ']'; + + $matches[0] = ''; + return implode($matches); + } + /** * fetch using ob_* function * @param string $buff if buff is not null, eval it instead of including compiled template file From 16900934cf18403da61b3367493ac0f7c1231262 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 5 Sep 2012 11:39:37 +0000 Subject: [PATCH 14/94] issue 1908 add copied_srls value in trigger object add 'success_copied' lang in common language file git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11169 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/lang/lang.xml | 6 +++++- modules/document/document.admin.controller.php | 1 + modules/document/document.controller.php | 6 +++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/common/lang/lang.xml b/common/lang/lang.xml index 526d4bc03..b310f7fbd 100644 --- a/common/lang/lang.xml +++ b/common/lang/lang.xml @@ -2935,6 +2935,10 @@ + + + + @@ -3768,4 +3772,4 @@ - \ No newline at end of file + diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index ab777dde4..9dc64989d 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -361,6 +361,7 @@ } // Call a trigger (before) + $triggerObj->copied_srls = $copied_srls; $output = ModuleHandler::triggerCall('document.copyDocumentModule', 'after', $triggerObj); if(!$output->toBool()) { $oDB->rollback(); diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 90c095ee8..c78109892 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -1918,14 +1918,14 @@ class documentController extends document { $msg_code = 'success_moved'; } - elseif($type == 'copy') { + elseif($type == 'copy') + { if(!$module_srl) return new Object(-1, 'fail_to_move'); $output = $oDocumentAdminController->copyDocumentModule($document_srl_list, $module_srl, $category_srl); if(!$output->toBool()) return new Object(-1, 'fail_to_move'); - $msg_code = 'success_copy'; - + $msg_code = 'success_copied'; } elseif($type =='delete') { $oDB = &DB::getInstance(); From 908f8f2b07c20011b5b3d54048013a0c5cbb7039 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 5 Sep 2012 12:09:10 +0000 Subject: [PATCH 15/94] issue 1973 when import document from ttxml, insert with comment status's value is zero so, zero's mean is not approved. so, default value change to 1. Also, it is sync with schema. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11170 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/comment/queries/insertComment.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/comment/queries/insertComment.xml b/modules/comment/queries/insertComment.xml index 5389c1939..d466a8f68 100644 --- a/modules/comment/queries/insertComment.xml +++ b/modules/comment/queries/insertComment.xml @@ -24,6 +24,6 @@ - + From bbf29def20302400422015b36089f8f5e1411674 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 6 Sep 2012 02:40:18 +0000 Subject: [PATCH 16/94] issue 2159, fixed a error on module setting page git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11171 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/template/TemplateHandler.class.php | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index 3ced5c796..ba4eb0ddc 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -227,6 +227,18 @@ class TemplateHandler { { if($matches[1]) { + // form id attribute move to hidden tag + preg_match('/id="([^"]*?)"/is', $matches[1], $m); + if(!$m[1]) + { + $mt = microtime(); + $rand = mt_rand(); + $m[1] = md5($mt . $rand); + $matches[1] = substr($matches[1], 0, 5) . ' id="' . $m[1] . '" ' . substr($matches[1], 5); + } + $matches[2] = '' . $matches[2]; + $formId = $m[1]; + // form ruleset attribute move to hidden tag preg_match('/ruleset="([^"]*?)"/is', $matches[1], $m); if($m[0]) @@ -256,18 +268,6 @@ class TemplateHandler { //assign to addJsFile method for js dynamic recache $matches[1] = ''.$matches[1]; } - - // form id attribute move to hidden tag - preg_match('/id="([^"]*?)"/is', $matches[1], $m); - if(!$m[1]) - { - $mt = microtime(); - $rand = mt_rand(); - $m[1] = md5($mt . $rand); - $matches[1] = substr($matches[1], 0, 5) . ' id="' . $m[1] . '" ' . substr($matches[1], 5); - } - $matches[2] = '' . $matches[2]; - $formId = $m[1]; } // generate array key index From 3bfce53fe6d73cb5282226db85d1fbcbc58bcb1b Mon Sep 17 00:00:00 2001 From: chschy Date: Thu, 6 Sep 2012 02:44:56 +0000 Subject: [PATCH 17/94] issue 2354 not inserted spafilter git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11172 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/spamfilter/spamfilter.controller.php | 2 +- modules/spamfilter/tpl/js/spamfilter_admin.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index 525d896a3..e0d889b92 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -140,7 +140,7 @@ $ipaddress_list = str_replace("\r","",$ipaddress_list); $ipaddress_list = explode("\n",$ipaddress_list); foreach($ipaddress_list as $ipaddressValue) { - preg_match("/(\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/\s*(.*))?/",$ipaddressValue,$matches); + preg_match("/(\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?/",$ipaddressValue,$matches); if($ipaddress=trim($matches[1])) { $args->ipaddress = $ipaddress; if(!$description && $matches[4]) $args->description = $matches[4]; diff --git a/modules/spamfilter/tpl/js/spamfilter_admin.js b/modules/spamfilter/tpl/js/spamfilter_admin.js index 46a42623a..3d8e6bd74 100644 --- a/modules/spamfilter/tpl/js/spamfilter_admin.js +++ b/modules/spamfilter/tpl/js/spamfilter_admin.js @@ -21,8 +21,8 @@ function doDeleteDeniedWord(word) { } function doInsertDeniedIP(msg_invalid_format){ var fo_obj = get_by_id('spamfilterInsert'); - var reg_ipaddress = /^(\d{1,3}(?:.(\d{1,3}|\*)){3}\s*(\/\/[^\r\n]*)?[\r\n]*)*$/; - var matchStr_ipaddress = fo_obj.ipaddressList.value; + var reg_ipaddress = /^((\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?)*\s*$/; + var matchStr_ipaddress = fo_obj.ipaddress_list.value; if(!matchStr_ipaddress.match(reg_ipaddress)) { alert(msg_invalid_format); return false; } @@ -32,8 +32,8 @@ function doInsertDeniedIP(msg_invalid_format){ } function doInsertDeniedWord(msg_invalid_format){ var fo_obj = get_by_id('spamfilterInsert'); - var reg_word = /^(.{2,40}[\r\n]+)*.{0,40}$/; - var matchStr_word = fo_obj.wordList.value; + var reg_word = /^(.{2,40}\s*)*$/; + var matchStr_word = fo_obj.word_list.value; if(!matchStr_word.match(reg_word)) { alert(msg_invalid_format); return false; } From 376dea3ac786e2179ed2d359bd51c32ab5b19d01 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 6 Sep 2012 07:26:01 +0000 Subject: [PATCH 18/94] issue 2355, fixed a bug that does not load widget setting page git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11173 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/template/TemplateHandler.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index 31de9b8f4..48ac871c3 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -187,7 +187,7 @@ class TemplateHandler { $buff = preg_replace('@@s', '', $buff); // replace value of src in img/input/script tag - $buff = preg_replace_callback('/<(?:img|input|script)(?:(?!["\'\/]\s*>).)* src="(?!https?:\/\/|[\/\{])([^"]+)"/is', array($this, '_replacePath'), $buff); + $buff = preg_replace_callback('/<(?:img|input|script)[^<>]*src="(?!https?:\/\/|[\/\{])([^"]+)"[^<>]*>/is', array($this, '_replacePath'), $buff); // replace loop and cond template syntax $buff = $this->_parseInline($buff); @@ -222,7 +222,7 @@ class TemplateHandler { * 4. generate return url, return url use in server side validator * @param array $matches * @return string - **/ + function _compileFormAuthGeneration($matches) { // form ruleset attribute move to hidden tag From 48cb160b9944fe5d369c2579ed43a0ef21a29aa4 Mon Sep 17 00:00:00 2001 From: ovclas Date: Thu, 6 Sep 2012 08:37:49 +0000 Subject: [PATCH 19/94] issue 2321 if module_srl is null, return false git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11174 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/comment/comment.controller.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/comment/comment.controller.php b/modules/comment/comment.controller.php index 2dde08d49..a1b9bc156 100644 --- a/modules/comment/comment.controller.php +++ b/modules/comment/comment.controller.php @@ -114,6 +114,11 @@ */ function isModuleUsingPublishValidation($module_srl=null) { + if(!$module_srl == null) + { + return false; + } + $oModuleModel = &getModel('module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); $module_part_config = $oModuleModel->getModulePartConfig('comment',$module_info->module_srl); From 9db28e2db4e389a503d11ec0d5431eb27f1b425d Mon Sep 17 00:00:00 2001 From: devjin Date: Thu, 6 Sep 2012 09:28:39 +0000 Subject: [PATCH 20/94] issue 1971 deleted a poll when deleted a poll title. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11175 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/poll/poll.admin.controller.php | 23 ++++++++++++++++- .../poll/queries/getPollByDeletePollTitle.xml | 25 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 modules/poll/queries/getPollByDeletePollTitle.xml diff --git a/modules/poll/poll.admin.controller.php b/modules/poll/poll.admin.controller.php index b992f4983..6198bef8c 100644 --- a/modules/poll/poll.admin.controller.php +++ b/modules/poll/poll.admin.controller.php @@ -80,12 +80,19 @@ /** * @brief Delete the poll (when several questions are registered in one poll, delete this question) **/ - function deletePollTitle($poll_index_srl) { + function deletePollTitle($poll_index_srl) + { $args->poll_index_srl = $poll_index_srl; $oDB = &DB::getInstance(); $oDB->begin(); + $output = executeQueryArray('poll.getPollByDeletePollTitle', $args); + if($output->toBool() && $output->data && $output->data[0]->count == 1) + { + $dargs->poll_srl = $output->data[0]->poll_srl; + } + $output = $oDB->executeQuery('poll.deletePollTitle', $args); if(!$output) { $oDB->rollback(); @@ -98,6 +105,20 @@ return $output; } + if($dargs->poll_srl) + { + $output = executeQuery('poll.deletePoll', $dargs); + if(!$output) { + $oDB->rollback(); + return $output; + } + + $output = executeQuery('poll.deletePollLog', $dargs); + if(!$output) { + $oDB->rollback(); + return $output; + } + } $oDB->commit(); return new Object(); diff --git a/modules/poll/queries/getPollByDeletePollTitle.xml b/modules/poll/queries/getPollByDeletePollTitle.xml new file mode 100644 index 000000000..b68225982 --- /dev/null +++ b/modules/poll/queries/getPollByDeletePollTitle.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + +
+ + + + + + + + + + + + + From 5da785312cb844b9f84b192e706a4c96341e005d Mon Sep 17 00:00:00 2001 From: ovclas Date: Fri, 7 Sep 2012 00:47:15 +0000 Subject: [PATCH 21/94] issue 2347 fix admin menu bug git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11177 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- config/func.inc.php | 2 +- modules/menu/menu.admin.controller.php | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/config/func.inc.php b/config/func.inc.php index 7368dbc6b..67ff1c780 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -326,7 +326,7 @@ $request_uri = Context::getRequestUri(); if(!$num_args) return $request_uri; - $url = Context::getUrl($num_args, $args_list); + $url = Context::getUrl($num_args, $args_list, null, false); if(!preg_match('/^http/i',$url)){ preg_match('/^(http|https):\/\/([^\/]+)\//',$request_uri,$match); $url = Context::getUrl($num_args, $args_list, null, false); diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 308bfa4d3..e4414e05a 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -606,16 +606,24 @@ //$info = $oModuleModel->getModuleInfoXml($moduleName); $info = $oModuleModel->getModuleActionXml($moduleName); - $url = getNotEncodedUrl('', 'module', 'admin', 'act', $info->menu->{$menuName}->index); - if(empty($url)) $url = getNotEncodedUrl('', 'module', 'admin', 'act', $info->admin_index_act); - if(empty($url)) $url = getNotEncodedUrl('', 'module', 'admin'); + $url = getNotEncodedFullUrl('', 'module', 'admin', 'act', $info->menu->{$menuName}->index); + if(empty($url)) $url = getNotEncodedFullUrl('', 'module', 'admin', 'act', $info->admin_index_act); + if(empty($url)) $url = getNotEncodedFullUrl('', 'module', 'admin'); $dbInfo = Context::getDBInfo(); $args->menu_item_srl = (!$requestArgs->menu_item_srl) ? getNextSequence() : $requestArgs->menu_item_srl; $args->parent_srl = $requestArgs->parent_srl; $args->menu_srl = $requestArgs->menu_srl; $args->name = sprintf('{$lang->menu_gnb_sub[\'%s\']}', $menuName); - $args->url = str_replace($dbInfo->default_url, '', $url); + //if now page is https... + if(strpos($url, 'https') !== false) + { + $args->url = str_replace('https'.substr($dbInfo->default_url, 4), '', $url); + } + else + { + $args->url = str_replace($dbInfo->default_url, '', $url); + } $args->open_window = 'N'; $args->expand = 'N'; $args->normal_btn = ''; From d3284d2e1cf56e9581e12de349baf8481dd2aa3b Mon Sep 17 00:00:00 2001 From: chschy Date: Fri, 7 Sep 2012 00:54:33 +0000 Subject: [PATCH 22/94] issue 2135 modified str_replace params to array() git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11178 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/layout.model.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index bd44a99a0..dc2d8ca9b 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -484,8 +484,7 @@ if($header_script) { - $header_script = str_replace('"','\\"',$header_script); - $buff .= sprintf(' $layout_info->header_script = "%s"; ', str_replace('$','\$',$header_script)); + $buff .= sprintf(' $layout_info->header_script = "%s"; ', str_replace(array('$','"'),array('\$','\\"'),$header_script)); } $buff = ''; From 973f6337b02d54f4b1f4e72572015510a30c59a5 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 01:54:37 +0000 Subject: [PATCH 23/94] issue 2355, fixed a bug that does not load widget setting page git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11182 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/template/TemplateHandler.class.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index 48ac871c3..db748c792 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -120,14 +120,14 @@ class TemplateHandler { $oCacheHandler = &CacheHandler::getInstance('template'); // get cached buff - if($oCacheHandler->isSupport()){ - $cache_key = 'template:'.$this->file; - $buff = $oCacheHandler->get($cache_key, $latest_mtime); - } else { - if(is_readable($this->compiled_file) && filemtime($this->compiled_file)>$latest_mtime && filesize($this->compiled_file)) { - $buff = 'file://'.$this->compiled_file; - } - } + // if($oCacheHandler->isSupport()){ + // $cache_key = 'template:'.$this->file; + // $buff = $oCacheHandler->get($cache_key, $latest_mtime); + // } else { + // if(is_readable($this->compiled_file) && filemtime($this->compiled_file)>$latest_mtime && filesize($this->compiled_file)) { + // $buff = 'file://'.$this->compiled_file; + // } + // } if(!$buff) { $buff = $this->parse(); @@ -187,7 +187,7 @@ class TemplateHandler { $buff = preg_replace('@@s', '', $buff); // replace value of src in img/input/script tag - $buff = preg_replace_callback('/<(?:img|input|script)[^<>]*src="(?!https?:\/\/|[\/\{])([^"]+)"[^<>]*>/is', array($this, '_replacePath'), $buff); + $buff = preg_replace_callback('/<(?:img|input|script)[^<>]*src="(?!https?:\/\/|[\/\{])([^"]+)"/is', array($this, '_replacePath'), $buff); // replace loop and cond template syntax $buff = $this->_parseInline($buff); @@ -222,6 +222,7 @@ class TemplateHandler { * 4. generate return url, return url use in server side validator * @param array $matches * @return string + **/ function _compileFormAuthGeneration($matches) { @@ -323,6 +324,7 @@ class TemplateHandler { **/ function _replacePath($match) { + debugPrint($match); //return origin code when src value include variable. if(preg_match('/^[\'|"]\s*\.\s*\$/', $match[1])) { From 912a1810dd9ebad66c2d2e4ed6069ee94088bb76 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 02:01:57 +0000 Subject: [PATCH 24/94] issue 2355 , fixed a bug that does not load widget setting page git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11183 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/template/TemplateHandler.class.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index db748c792..050adf159 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -120,14 +120,14 @@ class TemplateHandler { $oCacheHandler = &CacheHandler::getInstance('template'); // get cached buff - // if($oCacheHandler->isSupport()){ - // $cache_key = 'template:'.$this->file; - // $buff = $oCacheHandler->get($cache_key, $latest_mtime); - // } else { - // if(is_readable($this->compiled_file) && filemtime($this->compiled_file)>$latest_mtime && filesize($this->compiled_file)) { - // $buff = 'file://'.$this->compiled_file; - // } - // } + if($oCacheHandler->isSupport()){ + $cache_key = 'template:'.$this->file; + $buff = $oCacheHandler->get($cache_key, $latest_mtime); + } else { + if(is_readable($this->compiled_file) && filemtime($this->compiled_file)>$latest_mtime && filesize($this->compiled_file)) { + $buff = 'file://'.$this->compiled_file; + } + } if(!$buff) { $buff = $this->parse(); @@ -324,7 +324,6 @@ class TemplateHandler { **/ function _replacePath($match) { - debugPrint($match); //return origin code when src value include variable. if(preg_match('/^[\'|"]\s*\.\s*\$/', $match[1])) { From e3dcb48f8827102f77be83ec68f6392ef9cc7515 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 02:46:59 +0000 Subject: [PATCH 25/94] issue 2247, Remove non utf-8 and user defined area codes git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11186 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../xml/xmlquery/argument/Argument.class.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/classes/xml/xmlquery/argument/Argument.class.php b/classes/xml/xmlquery/argument/Argument.class.php index 5ac884869..def8b2814 100644 --- a/classes/xml/xmlquery/argument/Argument.class.php +++ b/classes/xml/xmlquery/argument/Argument.class.php @@ -163,11 +163,50 @@ class Argument { * @return string */ function _escapeStringValue($value) { + // Remove non-utf8 chars. + $regex = <<<'END' +/ +( + (?: + [\x00-\x7F] # single-byte sequences 0xxxxxxx + |[\xC0-\xDF][\x80-\xBF] # double-byte sequences 110xxxxx 10xxxxxx + |[\xE0-\xEF][\x80-\xBF]{2} # triple-byte sequences 1110xxxx 10xxxxxx * 2 + )+ +) +|([\xF0-\xF7][\x80-\xBF]{3}) # quadruple-byte sequence 11110xxx 10xxxxxx * 3 +|([\x80-\xBF]) # invalid byte in range 10000000 - 10111111 +|([\xC0-\xFF]) # invalid byte in range 11000000 - 11111111 +/x +END; + + $value = preg_replace_callback($regex, array($this, 'utf8Replacer'), $value); $db = &DB::getInstance(); $value = $db->addQuotes($value); return '\'' . $value . '\''; } + function utf8Replacer($captures) { + if (!empty($captures[1])) + { + // Valid byte sequence. Return unmodified. + return $captures[1]; + } + elseif(!empty($captures[2])) + { + // Remove user defined area + if("\xF3\xB0\x80\x80" <= $captures[2]) + { + return; + } + + return $captures[2]; + } + else + { + return; + } + } + function isValid() { return $this->isValid; } From de9492a1c05567c03acd648b58de67751bc7533f Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 05:48:07 +0000 Subject: [PATCH 26/94] issue 2438, fixed a bug that use pc layout's header script on mobile mode git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11187 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 7f2629146..d4078f367 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -151,7 +151,17 @@ $this->mid = $module_info->mid; $this->module_info = $module_info; Context::setBrowserTitle($module_info->browser_title); - $part_config= $oModuleModel->getModulePartConfig('layout',$module_info->layout_srl); + + if($module_info->use_mobile && Mobile::isFromMobilePhone()) + { + $layoutSrl = $module_info->mlayout_srl; + } + else + { + $layoutSrl = $module_info->layout_srl; + } + + $part_config= $oModuleModel->getModulePartConfig('layout',$layoutSrl); Context::addHtmlHeader($part_config->header_script); } From e03e365ff05973d9bba8dab95216dcfe89468ec0 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 06:16:34 +0000 Subject: [PATCH 27/94] rollback r11168, r11171. issue 2159. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11188 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 13 +--- classes/display/HTMLDisplayHandler.php | 77 ++++------------------ classes/module/ModuleHandler.class.php | 3 +- classes/template/TemplateHandler.class.php | 31 +-------- 4 files changed, 16 insertions(+), 108 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index fcfe688d3..3582c6198 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -964,22 +964,11 @@ class Context { { foreach($_GET as $key => $val) { - if(is_array($val)) - { - foreach($val as $key2 => $val2) - { - $vars[] = $key . "[$key2]=" . ($val2 ? urlencode(Context::convertEncodingStr($val2)) : ''); - } - } - else - { - $vars[] = $key . '=' . ($val ? urlencode(Context::convertEncodingStr($val)) : ''); - } + $vars[] = $key . '=' . ($val ? urlencode(Context::convertEncodingStr($val)) : ''); } $url .= '?' . join('&', $vars); } } - return $url; } diff --git a/classes/display/HTMLDisplayHandler.php b/classes/display/HTMLDisplayHandler.php index 2a1acae70..02fab5eff 100644 --- a/classes/display/HTMLDisplayHandler.php +++ b/classes/display/HTMLDisplayHandler.php @@ -140,7 +140,13 @@ class HTMLDisplayHandler { if(is_array(Context::get('INPUT_ERROR'))) { - $output = preg_replace_callback('@]* id="' . $_SESSION['INPUT_ERROR_ID'] . '"[^<>]*/?>.*?@is', array(&$this, '_inputError'), $output); + $INPUT_ERROR = Context::get('INPUT_ERROR'); + $keys = array_keys($INPUT_ERROR); + $keys = '('.implode('|', $keys).')'; + + $output = preg_replace_callback('@(]*?)\sname="'.$keys.'"([^>]*?)/?>@is', array(&$this, '_preserveValue'), $output); + $output = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveSelectValue'), $output); + $output = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveTextAreaValue'), $output); } if(__DEBUG__==3) $GLOBALS['__trans_content_elapsed__'] = getMicroTime()-$start; @@ -173,61 +179,6 @@ class HTMLDisplayHandler { $oModuleController->replaceDefinedLangCode($output); } - /** - * Display prev values that inputted by user - * @param array $matches - * @return string - */ - function _inputError($matches) - { - $INPUT_ERROR = Context::get('INPUT_ERROR'); - - $keys = array(); - foreach($INPUT_ERROR as $key => $value) - { - if(is_array($value)) - { - $keys[] = $key . '\[[^\]]*\]'; - } - else - { - $keys[] = $key; - } - } - - $keys = '('.implode('|', $keys).')'; - - $matches[0] = preg_replace_callback('@(]*?)\sname="'.$keys.'"([^>]*?)/?>@is', array(&$this, '_preserveValue'), $matches[0]); - $matches[0] = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveSelectValue'), $matches[0]); - $matches[0] = preg_replace_callback('@]*\sname="'.$keys.'".+@isU', array(&$this, '_preserveTextAreaValue'), $matches[0]); - - return $matches[0]; - } - - function _getInputErrorValue($ogName, &$value) - { - $INPUT_ERROR = Context::get('INPUT_ERROR'); - - if(preg_match('/^([^\[]+)\[([^\]]+)\]$/', $ogName, $m)) - { - $name = $m[1]; - $key = $m[2]; - } - else - { - $name = $ogName; - } - - if(isset($key)) - { - $value = $INPUT_ERROR[$name][$key]; - } - else - { - $value = $INPUT_ERROR[$name]; - } - } - /** * when display mode is HTML, prepare code before print about tag value. * @param array $match input value. @@ -235,7 +186,7 @@ class HTMLDisplayHandler { **/ function _preserveValue($match) { - $this->_getInputErrorValue($match[3], $value); + $INPUT_ERROR = Context::get('INPUT_ERROR'); $str = $match[1].$match[2].' name="'.$match[3].'"'.$match[4]; @@ -246,7 +197,7 @@ class HTMLDisplayHandler { switch($type){ case 'text': case 'hidden': - $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str).' value="'.@htmlspecialchars($value).'"'; + $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str).' value="'.@htmlspecialchars($INPUT_ERROR[$match[3]]).'"'; break; case 'password': $str = preg_replace('@\svalue="[^"]*?"@', ' ', $str); @@ -254,7 +205,7 @@ class HTMLDisplayHandler { case 'radio': case 'checkbox': $str = preg_replace('@\schecked(="[^"]*?")?@', ' ', $str); - if(@preg_match('@\s(?i:value)="'.$value.'"@', $str)) { + if(@preg_match('@\s(?i:value)="'.$INPUT_ERROR[$match[3]].'"@', $str)) { $str .= ' checked="checked"'; } break; @@ -270,14 +221,13 @@ class HTMLDisplayHandler { **/ function _preserveSelectValue($matches) { - $this->_getInputErrorValue($matches[1], $value); - + $INPUT_ERROR = Context::get('INPUT_ERROR'); preg_replace('@\sselected(="[^"]*?")?@', ' ', $matches[0]); preg_match('@@is', $matches[0], $mm); preg_match_all('@]*\svalue="([^"]*)".+@isU', $matches[0], $m); - $key = array_search($value, $m[1]); + $key = array_search($INPUT_ERROR[$matches[1]], $m[1]); if($key === FALSE) { return $matches[0]; @@ -295,10 +245,9 @@ class HTMLDisplayHandler { **/ function _preserveTextAreaValue($matches) { - $this->_getInputErrorValue($matches[1], $value); $INPUT_ERROR = Context::get('INPUT_ERROR'); preg_match('@@is', $matches[0], $mm); - return $mm[0].$value.''; + return $mm[0].$INPUT_ERROR[$matches[1]].''; } /** diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index d4078f367..d36f24ed3 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -557,8 +557,7 @@ function _setInputValueToSession() { $requestVars = Context::getRequestVars(); - $_SESSION['INPUT_ERROR_ID'] = $requestVars->xe_form_id; - unset($requestVars->module, $requestVars->act, $requestVars->mid, $requestVars->vid, $requestVars->success_return_url, $requestVars->error_return_url, $requestVars->xe_form_id); + unset($requestVars->act, $requestVars->mid, $requestVars->vid, $requestVars->success_return_url, $requestVars->error_return_url); foreach($requestVars AS $key=>$value) $_SESSION['INPUT_ERROR'][$key] = $value; } diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index ba4eb0ddc..31de9b8f4 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -225,21 +225,9 @@ class TemplateHandler { **/ function _compileFormAuthGeneration($matches) { + // form ruleset attribute move to hidden tag if($matches[1]) { - // form id attribute move to hidden tag - preg_match('/id="([^"]*?)"/is', $matches[1], $m); - if(!$m[1]) - { - $mt = microtime(); - $rand = mt_rand(); - $m[1] = md5($mt . $rand); - $matches[1] = substr($matches[1], 0, 5) . ' id="' . $m[1] . '" ' . substr($matches[1], 5); - } - $matches[2] = '' . $matches[2]; - $formId = $m[1]; - - // form ruleset attribute move to hidden tag preg_match('/ruleset="([^"]*?)"/is', $matches[1], $m); if($m[0]) { @@ -270,10 +258,6 @@ class TemplateHandler { } } - // generate array key index - $this->arrayKeyIndex = array(); - $matches[2] = preg_replace_callback('/(<(?:input|select|textarea)[^>]* name=")([^"]+)\[\](")/is', array($this, '_generateArrayKey'), $matches[2]); - // if not exists default hidden tag, generate hidden tag preg_match_all('/]* name="(act|mid|vid)"/is', $matches[2], $m2); $checkVar = array('act', 'mid', 'vid'); @@ -303,19 +287,6 @@ class TemplateHandler { return implode($matches); } - function _generateArrayKey($matches) - { - if(!$this->arrayKeyIndex[$matches[2]]) - { - $this->arrayKeyIndex[$matches[2]] = 0; - } - - $matches[2] = $matches[2] . '[' . $this->arrayKeyIndex[$matches[2]]++ . ']'; - - $matches[0] = ''; - return implode($matches); - } - /** * fetch using ob_* function * @param string $buff if buff is not null, eval it instead of including compiled template file From db5f54f6bb281b4bdb9e48b10d5032bb57721983 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 10 Sep 2012 06:45:04 +0000 Subject: [PATCH 28/94] Issue 2445 : Problem with the enter key is fixed. The first problem mentioned in the issue description is due to the missing 'xe.current_lang' javascript varible declaration in the setup page. The declaration clause needs to be embeded in the page with PHP. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11189 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/admin.js | 9 ++++- modules/admin/tpl/js/admin.min.js | 61 ++++++++++++++++--------------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index 240bc2348..e3775841b 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -942,10 +942,10 @@ $('.multiLangEdit') function on_complete(data, idx){ var results = data.results, $btn, i, c; - if(data.error || !results || (r_idx != idx+1)) return; - $this.removeClass('loading'); + if(data.error || !results || results.length === 0 || (r_idx != idx+1)) return; + $ul.empty(); for(i=0,c=results.length; i < c; i++) { $btn = $('');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var j,g,f,k,n,h,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); -k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;j=e.pageY;h=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, -left:h.left,top:h.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:h.left,top:h.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=h.top-(j-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", -function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); -jQuery(function(a){var d=null,b=null,e=0,j=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var h=d.results,g,m;if(!d.error&&h&&e==b+1){f.removeClass("loading");l.empty();g=0;for(m=h.length;g').data("langkey", -h[g].name).text(h[g].value),a("
  • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), -!1;e=b.find("button.active");if(13==f)return e.click(),!1;if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container",f);b.data("mle-langkey")|| -b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(j);j=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this);e=a(b.attr("href")).insertBefore(b); -d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},j=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor",!0).bind("multilang-reset",function(){f.data("multilang-current-name", -"").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;j()}).find("h2 a").click(function(){p=!p;j();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,h;d=f.data("multilang-list");h=b.data("multilang-name");if(d&&d[h]){d=d[h];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name",h);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&& -e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;j();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ -d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); -e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);g=!0;k.trigger("hide"); -b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
      ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); -jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(g){e.html(g.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", -function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1})}var b,e,j;b=a(this);j=b.attr("href");e=a(j).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); +e.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function b(){e.trigger("after-open.tc")}var e=a(this),k,h,f;k=a(e.attr("href"));h=e.data("effect");f=e.data("duration")||"fast";k.data("state","showing");e.trigger("before-open.tc");d=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||k.has(b).length)))return!0; +e.trigger("close.tc");return!1});switch(h){case "slide":k.slideDown(f,b);break;case "slide-h":h=k.css({"overflow-x":"",width:""}).width();k.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:h},f,function(){k.css({"overflow-x":"",width:""});b()});break;case "fade":k.fadeIn(f,b);break;default:k.show(),e.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){e.trigger("after-close.tc")}var e=a(this),d,h,f;a(document).unbind("mousedown.tc keydown.tc");d=a(e.attr("href"));h=e.data("effect"); +f=e.data("duration")||"fast";d.data("state","hiding");e.trigger("before-close.tc");switch(h){case "slide":d.slideUp(f,b);break;case "slide-h":d.animate({width:0},f,function(){d.hide();b()});break;case "fade":d.fadeOut(f,b);break;default:d.hide(),e.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); +jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var d,b,e;d=a(this);b=a(d.attr("href")).find(">ul");e=d.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:e},function(e){var h=e.site_list,f,l;b.empty();d.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(e.error||!a.isArray(h))d.trigger("close.tc");else{f=0;for(l=h.length;f< +l;f++)e=a("
    • ").appendTo(b),a('
    • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var k,h,f,l,n,j,o,m,g,q;if(1==e.which){h=a(this);f=h.closest("tr");l=h.closest("table");q=l.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); +l.trigger(before_event);if(before_event.isDefaultPrevented())return!1;k=e.pageY;j=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(l);g=(e=l.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){g+=b-1});b.find("td").attr("colspan",g);o=[];l.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, +left:j.left,top:j.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(l);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,g;m=null;a=j.top-(k-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",g.top-5)):(m.state="after",b.css("top",g.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),l.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); +jQuery(function(a){var d=null,b=null,e=0,k=null,h=!1,f=!1,l;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");g.parent().is(":visible")&&g.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var j=d.results,h,m;f.removeClass("loading");if(!d.error&&j&&!(0===j.length||e!=b+1)){g.empty();h=0;for(m=j.length;h').data("langkey", +j[h].name).text(j[h].value),a("
    • ").append(d).appendTo(g);l.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),g;b&&(clearTimeout(b),b=null);f.data("mle-container");g=l.find(">ul");!m||h?(h=!1,g.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,g=b.which;a(this);b=l.find(">ul");if(!l.is(":visible")||0>a.inArray(g,[38,40,13,27]))return!0;if(27==g)return l.trigger("hide"), +!1;e=b.find("button.active");if(13==g){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==g?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==g&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(l);b.data("mle-container")||b.data("mle-container", +f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(k);k=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||l.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,h=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},k=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;k()}).find("h2 a").click(function(){p=!p;k();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +j);b.parent("li").addClass("active");for(var l in d)d.hasOwnProperty(l)&&e.find("li."+l).find(">input:text,>textarea").data("multilang-value",d[l]).val(d[l]).prev("label").css("visibility","hidden");w=h();s=0;r.val(u[s]);p=1;k();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=h()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){console.log(f); +console.log(xe.current_lang);console.log(f.find(".langInput li."+xe.current_lang));f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(h()==w)b();else{var j={};d&&1==p&&(j.lang_name=d);v.each(function(){var b=a(this);j[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang", +j,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end();e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");l.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&& +d){var b=d,h,j={},g,d=0;for(h=b.length;d").appendTo(f),h=e.data("layer_index"),g=this[xe.current_lang];if(!g)for(lang_code in this){g=this[lang_code];break}a('').text(g).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}}); +show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;l.trigger("hide");b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});l=a('
        ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()}); +var n=0}); +jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(h){e.html(h.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", +function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(k).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(k).find(".modalClose").offset().top);return!1})}var b,e,k;b=a(this);k=b.attr("href");e=a(k).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
        ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminInstall",d,completeInstallModule);showWaitingFogLayer()} function doUpdateModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminUpdate",d,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var d=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var b=a(".x .dsTg td.tg>p:not(:first-child)");d.click(function(){d.toggleClass("details");b.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= From 5da667e3055f21cbf31ba64f5abace0958a77935 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 10 Sep 2012 06:53:28 +0000 Subject: [PATCH 29/94] Remove console.log git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11191 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/admin.js | 3 -- modules/admin/tpl/js/admin.min.js | 61 +++++++++++++++---------------- 2 files changed, 30 insertions(+), 34 deletions(-) diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index e3775841b..1b21c494b 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -1232,9 +1232,6 @@ function initLayer($layer) { var name = $layer.data('multilang-current-name'); function use_lang() { - console.log($layer); - console.log(xe.current_lang); - console.log($layer.find('.langInput li.'+xe.current_lang)); $layer.hide().closest('.multiLangEdit').find('.vLang') .eq(0).val('$user_lang->'+name).end() .eq(1).val($layer.find('.langInput li.'+xe.current_lang).find('>input:text,>textarea').val()).end(); diff --git a/modules/admin/tpl/js/admin.min.js b/modules/admin/tpl/js/admin.min.js index 727f9587b..f251568e4 100644 --- a/modules/admin/tpl/js/admin.min.js +++ b/modules/admin/tpl/js/admin.min.js @@ -10,37 +10,36 @@ jQuery(function(a){a.fn.xeModalWindow=function(){this.not(".xe-modal-window").ad b.data("anchor",d);"showing"==b.data("state")?d.trigger("close.mw"):d.trigger("open.mw");return!1}).bind("open.mw",function(){var d=a(this),b,e;b=a.Event("before-open.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","showing");a("html,body").addClass("modalContainer");a(document).bind("keydown.mw",function(a){if(27==a.which)return d.trigger("close.mw"),!1});b.fadeIn(e,function(){d.trigger("after-open.mw")}).find(">.bg").height(a(document).height()).end().find("button.modalClose:first").focus()}).bind("close.mw", function(){var d=a(this),b,e;b=a.Event("before-close.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","hiding");a("html,body").removeClass("modalContainer");b.fadeOut(e,function(){d.trigger("after-close.mw")});d.focus()})};a("a.modalAnchor").xeModalWindow();a("div.modal").addClass("x").hide()}); jQuery(function(a){var d=!1;a.fn.xeContentToggler=function(){this.not(".xe-content-toggler").addClass("xe-content-toggler").each(function(){var b=a(this);$layer=a(b.attr("href"));$layer.hide().not(".xe-toggling-content").addClass("xe-toggling-content").mousedown(function(){d=!0}).focusout(function(){setTimeout(function(){!d&&(!$layer.find(":focus").length&&"showing"==$layer.data("state"))&&b.trigger("close.tc");d=!1},1)})}).click(function(){var b=a(this),e;e=a(b.attr("href"));e.data("anchor",b);"showing"== -e.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function b(){e.trigger("after-open.tc")}var e=a(this),k,h,f;k=a(e.attr("href"));h=e.data("effect");f=e.data("duration")||"fast";k.data("state","showing");e.trigger("before-open.tc");d=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||k.has(b).length)))return!0; -e.trigger("close.tc");return!1});switch(h){case "slide":k.slideDown(f,b);break;case "slide-h":h=k.css({"overflow-x":"",width:""}).width();k.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:h},f,function(){k.css({"overflow-x":"",width:""});b()});break;case "fade":k.fadeIn(f,b);break;default:k.show(),e.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){e.trigger("after-close.tc")}var e=a(this),d,h,f;a(document).unbind("mousedown.tc keydown.tc");d=a(e.attr("href"));h=e.data("effect"); -f=e.data("duration")||"fast";d.data("state","hiding");e.trigger("before-close.tc");switch(h){case "slide":d.slideUp(f,b);break;case "slide-h":d.animate({width:0},f,function(){d.hide();b()});break;case "fade":d.fadeOut(f,b);break;default:d.hide(),e.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); -jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var d,b,e;d=a(this);b=a(d.attr("href")).find(">ul");e=d.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:e},function(e){var h=e.site_list,f,l;b.empty();d.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(e.error||!a.isArray(h))d.trigger("close.tc");else{f=0;for(l=h.length;f< -l;f++)e=a("
      • ").appendTo(b),a('
      • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var k,h,f,l,n,j,o,m,g,q;if(1==e.which){h=a(this);f=h.closest("tr");l=h.closest("table");q=l.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); -l.trigger(before_event);if(before_event.isDefaultPrevented())return!1;k=e.pageY;j=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(l);g=(e=l.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){g+=b-1});b.find("td").attr("colspan",g);o=[];l.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, -left:j.left,top:j.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(l);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,g;m=null;a=j.top-(k-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",g.top-5)):(m.state="after",b.css("top",g.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", -function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),l.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); -jQuery(function(a){var d=null,b=null,e=0,k=null,h=!1,f=!1,l;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");g.parent().is(":visible")&&g.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var j=d.results,h,m;f.removeClass("loading");if(!d.error&&j&&!(0===j.length||e!=b+1)){g.empty();h=0;for(m=j.length;h').data("langkey", -j[h].name).text(j[h].value),a("
      • ").append(d).appendTo(g);l.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),g;b&&(clearTimeout(b),b=null);f.data("mle-container");g=l.find(">ul");!m||h?(h=!1,g.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,g=b.which;a(this);b=l.find(">ul");if(!l.is(":visible")||0>a.inArray(g,[38,40,13,27]))return!0;if(27==g)return l.trigger("hide"), -!1;e=b.find("button.active");if(13==g){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==g?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==g&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(l);b.data("mle-container")||b.data("mle-container", -f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(k);k=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||l.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); -e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,h=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},k=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", -!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;k()}).find("h2 a").click(function(){p=!p;k();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", -j);b.parent("li").addClass("active");for(var l in d)d.hasOwnProperty(l)&&e.find("li."+l).find(">input:text,>textarea").data("multilang-value",d[l]).val(d[l]).prev("label").css("visibility","hidden");w=h();s=0;r.val(u[s]);p=1;k();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=h()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){console.log(f); -console.log(xe.current_lang);console.log(f.find(".langInput li."+xe.current_lang));f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(h()==w)b();else{var j={};d&&1==p&&(j.lang_name=d);v.each(function(){var b=a(this);j[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang", -j,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end();e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");l.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&& -d){var b=d,h,j={},g,d=0;for(h=b.length;d").appendTo(f),h=e.data("layer_index"),g=this[xe.current_lang];if(!g)for(lang_code in this){g=this[lang_code];break}a('').text(g).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}}); -show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;l.trigger("hide");b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});l=a('
          ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()}); -var n=0}); -jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(h){e.html(h.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", -function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(k).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(k).find(".modalClose").offset().top);return!1})}var b,e,k;b=a(this);k=b.attr("href");e=a(k).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); +e.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function b(){e.trigger("after-open.tc")}var e=a(this),j,g,f;j=a(e.attr("href"));g=e.data("effect");f=e.data("duration")||"fast";j.data("state","showing");e.trigger("before-open.tc");d=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||j.has(b).length)))return!0; +e.trigger("close.tc");return!1});switch(g){case "slide":j.slideDown(f,b);break;case "slide-h":g=j.css({"overflow-x":"",width:""}).width();j.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:g},f,function(){j.css({"overflow-x":"",width:""});b()});break;case "fade":j.fadeIn(f,b);break;default:j.show(),e.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){e.trigger("after-close.tc")}var e=a(this),d,g,f;a(document).unbind("mousedown.tc keydown.tc");d=a(e.attr("href"));g=e.data("effect"); +f=e.data("duration")||"fast";d.data("state","hiding");e.trigger("before-close.tc");switch(g){case "slide":d.slideUp(f,b);break;case "slide-h":d.animate({width:0},f,function(){d.hide();b()});break;case "fade":d.fadeOut(f,b);break;default:d.hide(),e.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); +jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var d,b,e;d=a(this);b=a(d.attr("href")).find(">ul");e=d.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:e},function(e){var g=e.site_list,f,k;b.empty();d.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(e.error||!a.isArray(g))d.trigger("close.tc");else{f=0;for(k=g.length;f< +k;f++)e=a("
        • ").appendTo(b),a('
        • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var j,g,f,k,n,h,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); +k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;j=e.pageY;h=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, +left:h.left,top:h.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:h.left,top:h.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=h.top-(j-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); +jQuery(function(a){var d=null,b=null,e=0,j=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var h=d.results,g,m;f.removeClass("loading");if(!d.error&&h&&!(0===h.length||e!=b+1)){l.empty();g=0;for(m=h.length;g').data("langkey", +h[g].name).text(h[g].value),a("
        • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), +!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container", +f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(j);j=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},j=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;j()}).find("h2 a").click(function(){p=!p;j();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,h;d=f.data("multilang-list");h=b.data("multilang-name");if(d&&d[h]){d=d[h];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +h);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;j();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ +d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); +e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);g=!0;k.trigger("hide"); +b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
            ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); +jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(g){e.html(g.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", +function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1})}var b,e,j;b=a(this);j=b.attr("href");e=a(j).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
            ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminInstall",d,completeInstallModule);showWaitingFogLayer()} function doUpdateModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminUpdate",d,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var d=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var b=a(".x .dsTg td.tg>p:not(:first-child)");d.click(function(){d.toggleClass("details");b.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= From d0f36fe5d6738ee78ec6878cd089342d3b844b8d Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 10 Sep 2012 07:50:35 +0000 Subject: [PATCH 30/94] Issue 2292: Rendering problem in IE9 is fixed git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11193 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/tpl/layout_modify.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html index b5c3698e2..9a6b9c510 100644 --- a/modules/layout/tpl/layout_modify.html +++ b/modules/layout/tpl/layout_modify.html @@ -173,4 +173,4 @@
            - + From cd6383c93cbe12fafe6c7576a21faec8f53643ab Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 10 Sep 2012 08:09:00 +0000 Subject: [PATCH 31/94] Issue2356: IE8 fix git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11194 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/common.js | 20 ++++++++++++++------ modules/admin/tpl/js/admin.js | 6 +++--- modules/admin/tpl/js/admin.min.js | 6 +++--- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/common/js/common.js b/common/js/common.js index 2e2440912..99f380524 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -190,6 +190,14 @@ jQuery(function($) { }); } + jQuery('input[type="submit"]').click(function(ev){ + jQuery(ev.currentTarget).attr('disabled', 'disabled'); + setTimeout(function($el){ + return function(){ + $el.removeAttr('disabled'); + }; + }(jQuery(ev.currentTarget)), 3000); + }); }); (function(){ // String extension methods @@ -349,18 +357,18 @@ function sendMailTo(to) { /** * @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움) **/ -function move_url(url, open_wnidow) { +function move_url(url, open_window) { if(!url) return false; - if(typeof(open_wnidow) == 'undefined') open_wnidow = 'N'; - if(open_wnidow=='N') { - open_wnidow = false; + if(typeof(open_window) == 'undefined') open_window = 'N'; + if(open_window=='N') { + open_window = false; } else { - open_wnidow = true; + open_window = true; } if(/^\./.test(url)) url = request_uri+url; - if(open_wnidow) { + if(open_window) { winopen(url); } else { location.href=url; diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index 861a1f630..64d2e1d8b 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -605,7 +605,7 @@ _xeModuleSearch = function(){ } $li = $('
          • ').appendTo($siteList); - $('').html( + $('').attr('href', '#').html( '
            ' + sDomain + '
            ' + '' ).data('site_srl', list[i].site_srl).appendTo($li); @@ -669,7 +669,7 @@ _xeModuleSearch = function(){ for(x in list) { if(!list.hasOwnProperty(x)) continue; $li = $('
          • ').appendTo($moduleTypeList); - $('').html( + $('').attr('href', '#').html( '
            '+list[x].title+'
            ' + '' ).data('moduleInstanceList', list[x].list).appendTo($li); @@ -709,7 +709,7 @@ _xeModuleSearch = function(){ if(!list.hasOwnProperty(x)) continue; $li = $('
          • ').appendTo($moduleInstanceList); - $('').html( + $('').attr('href', '#').html( '
            '+list[x].browser_title+'
            ' ).data('module_srl', list[x].module_srl).appendTo($li); diff --git a/modules/admin/tpl/js/admin.min.js b/modules/admin/tpl/js/admin.min.js index 1255f5844..febd0a5fb 100644 --- a/modules/admin/tpl/js/admin.min.js +++ b/modules/admin/tpl/js/admin.min.js @@ -17,11 +17,11 @@ jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder"). k;f++)e=a("
          • ").appendTo(b),a('
          • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var h,g,f,k,n,j,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;h=e.pageY;j=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, From 2cea153d4bd32b431f607b44fc029c1f6c36e4b3 Mon Sep 17 00:00:00 2001 From: ovclas Date: Mon, 10 Sep 2012 08:12:14 +0000 Subject: [PATCH 32/94] issue 2174 modify url attribute by layout variables git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11195 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/tpl/layout_modify.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html index f3208770f..b9f54f3f8 100644 --- a/modules/layout/tpl/layout_modify.html +++ b/modules/layout/tpl/layout_modify.html @@ -164,8 +164,11 @@
            - {$lang->instance_layout} {$lang->cmd_list} - {$selected_layout->title} ver {$selected_layout->version}({$selected_layout->layout}) {$lang->cmd_list} + + {$lang->cmd_list} + + {$lang->cmd_list} + From 2c0157362566337bf47be893f7a61db48ace0ac9 Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Mon, 10 Sep 2012 08:55:43 +0000 Subject: [PATCH 33/94] Issue 2356 : Fixes for the new module selector made in Luminous branch is merged git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11196 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/config_general.html | 17 +- modules/admin/tpl/css/admin.css | 7 +- modules/admin/tpl/css/admin.min.css | 925 +----------------- modules/admin/tpl/js/admin.js | 37 +- modules/admin/tpl/js/admin.min.js | 42 +- modules/widget/tpl/js/mid.js | 30 +- .../tpl/widget_generate_code.include.html | 57 +- 7 files changed, 139 insertions(+), 976 deletions(-) diff --git a/modules/admin/tpl/config_general.html b/modules/admin/tpl/config_general.html index 0c4395fca..2d70552c1 100644 --- a/modules/admin/tpl/config_general.html +++ b/modules/admin/tpl/config_general.html @@ -22,9 +22,15 @@ jQuery(function($){ @@ -65,9 +71,10 @@ jQuery(function($){

            {$lang->select_module_instance}

            -
              -
            +
            +
            diff --git a/modules/admin/tpl/css/admin.css b/modules/admin/tpl/css/admin.css index bfdd35fc9..1564cec67 100644 --- a/modules/admin/tpl/css/admin.css +++ b/modules/admin/tpl/css/admin.css @@ -1,4 +1,4 @@ -@charset "utf-8"; +@charset "utf-8"; /* Element Reset */ header,footer,section,article,aside,nav,hgroup,details,menu,figure,figcaption{display:block} .x, @@ -683,7 +683,7 @@ body.modalContainer{_height:100%;_width:100%} /* IE6 only */ .x .crossTable input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px} .x .clear:after{content:"";display:block;clear:both} -.x .moduleSearchWindow{position:absolute;width:700px} +.x .moduleSearchWindow{position:absolute;width:700px;z-index:100} .x .moduleSearchWindow, .moduleSearchWindow div{margin:0;padding:0;color:#2d2c2d;font-size:12px} .x .moduleSearchWindow h2{margin:0;padding:4px;height:24px;line-height:24px;background:#666;text-align:left;color:#fff;font-size:12px} .x .moduleSearchWindow .sectionDiv{position:relative;margin:0px;background:#fff;border:1px solid} @@ -702,7 +702,8 @@ body.modalContainer{_height:100%;_width:100%} /* IE6 only */ .x .moduleSearchWindow .siteListSearchBox .searchImg{position:relative;float:left;margin-top:4px;margin-left:4px} .x .moduleSearchWindow .moduleTypeList li div{width:170px} .x .moduleSearchWindow .moduleInstanceList li div{width:190px} - +.x .moduleSearchWindow .moduleSearch_ok {float:right} +.x .moduleSearchWindow select.moduleInstanceListSelect {width:100%} /*! * Bootstrap v2.0.4 diff --git a/modules/admin/tpl/css/admin.min.css b/modules/admin/tpl/css/admin.min.css index bfdd35fc9..868fc1a70 100644 --- a/modules/admin/tpl/css/admin.min.css +++ b/modules/admin/tpl/css/admin.min.css @@ -1,924 +1 @@ -@charset "utf-8"; -/* Element Reset */ -header,footer,section,article,aside,nav,hgroup,details,menu,figure,figcaption{display:block} -.x, -.x table, -.x input, -.x textarea, -.x select, -.x button{font-size:13px;color:#333} -.x button, -.x input[type=submit], -.x input[type=reset], -.x input[type=button]{cursor:pointer;overflow:visible} -.x img{border:0} -.x p{line-height:1.5} -/* Section & Heading */ -.x .section{margin:1em 0;padding:0;border:0} -.x .h2, -.x .h3, -.x .h4{position:relative;border-style:solid;border-top:0;border-right:0;zoom:1;padding-left:8px} -.x .h1{background:#444;border-radius:4px;color:#fff;margin:0 0 1em 0;font-size:16px;padding:0 15px;line-height:36px} -.x .h2{border-width:3px;font-size:20px;border-color:#888} -.x .h3{border-width:2px;font-size:16px;border-color:#aaa} -.x .h4{border-width:1px;font-size:12px;border-color:#ccc} -.x .h1 + ul, -.x .h2 + ul, -.x .h3 + ul, -.x .h4 + ul, -.x .h1 + .table table, -.x .h2 + .table table, -.x .h3 + .table table, -.x .h4 + .table table{border-top:0 !important;margin-top:-1em !important} -/* Portlet */ -.x .portlet{position:relative;border:1px solid #e9e9e9;margin:1em 0;padding:0;background:#fff;zoom:1;overflow:hidden;border-radius:5px} -.x .portlet h2, -.x .portlet h3{margin:0;padding:.5em 1em;font-size:14px;border:1px solid #fff;border-bottom:1px solid #e9e9e9;background:#f7f7f7;border-radius:5px 5px 0 0} -.x .portlet p{margin:1em 1.2em} -.x .portlet li{position:relative;padding-right:8em} -.x .portlet .lined{margin:1px !important;padding:0;list-style:none} -.x .portlet .lined li{padding:.5em 8em .5em 1em;border-top:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis} -.x .portlet .lined li:first-child{border:0} -.x .portlet .side{position:absolute;top:0;_top:1px;right:0;color:#666;background:#fff;padding:0 1em} -.x .portlet .lined .side{padding:.5em 1em} -.x .portlet .more{position:absolute;top:.5em;right:1em;text-decoration:none !important;color:#666} -.x .portlet .more span{color:#999} -.x .portlet .action{text-align:right;top:0;right:0;padding:.5em 1em .5em 3em;background:#fff;background:-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255,255,255,0)), to(rgba(255,255,255,1)), color-stop(15%, #fff));background:-moz-linear-gradient(left, rgba(255,255,255,0) 0, rgba(255,255,255,1) 15%)} -.x .portlet .action a, -.x .portlet .action button{margin-left:1em} -.x .portlet .btnArea{border-top:1px solid #ddd;margin:0;padding:.5em 1em;margin:0 1px 1px 1px;background:#f7f7f7;border-radius:0 0 5px 5px} -/* Table */ -.x .table{margin:1em 0} -.x .table table{width:100%;border:0;border-collapse:collapse;border-top:2px solid #ccc} -.x .table caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0} -.x .table caption:after{content:"";display:block;clear:both} -.x .table caption a{font-weight:normal} -.x .table caption em{float:right;margin-left:1em} -.x .table caption strong{color:#e00} -.x .table caption .side{float:right;font-weight:normal;margin-left:1em} -.x .table th, -.x .table td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd} -.x .table th{background:#f8f8f8;white-space:nowrap} -.x .table thead th{border-bottom:1px solid #999} -.x .table tfoot td{font-weight:bold;background:#f8f8f8} -.x .table.even tbody tr:nth-of-type(even){background-color:#fafafa} -.x .table tbody tr:hover{background:#ffd !important} -.x .table td>input[type=text]{margin:-1px 0 !important;vertical-align:middle} -.x .table img{vertical-align:middle} -.x .table em{font-style:normal;font-weight:normal;color:#e00} -.x .table th.nowr, -.x .table td.nowr{white-space:nowrap} -.x .table th.title, -.x .table td.title, -.x .table th.text, -.x .table td.text{width:100%} -/* Form */ -.x .form{margin:0 0 1em 0;padding:0} -.x .form fieldset{margin:0 0 2em 0;padding:0;border:0} -.x .form.search fieldset{border:1px solid #ccc;padding:5px 15px;border-radius:3px} -.x .form em{font-style:normal;color:#e00} -.x .form label{line-height:1;vertical-align:middle} -.x .form input[type=radio]+label, -.x .form input[type=checkbox]+label{margin-right:1em} -.x .form input[type=checkbox]+label, -.x .form input[type=radio]+label, -.x .form input[type=file]{cursor:pointer} -.x .form ul{position:relative;margin:1em 0;padding:0;list-style:none;border-top:2px solid #ccc;border-bottom:1px solid #ccc;zoom:1} -.x .form li{list-style:none;border:1px solid #ddd;border-left:0;border-right:0;margin:-1px 0;padding:8px 0;vertical-align:top;zoom:1} -.x .form li:hover{background:#ffd} -.x .form li:first-child{border-top:0} -.x .form li>label:first-child{display:block;font-weight:bold} -.x .form li label em{font-weight:normal} -.x .form label.overlap{position:absolute;color:#aaa} -.x .form input[type=text], -.x .form input[type=password], -.x .form input[type=file], -.x .form select[size], -.x .form textarea{position:relative;width:280px;margin:2px 0;border:1px solid #b7b7b7;border-right-color:#e1e1e1;border-bottom-color:#e1e1e1;background:transparent} -.x .form input[type=text], -.x .form input[type=password], -.x .form input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px} -.x .form input[type=text].loading, -.x .form input.loading[type=password]{padding-right:24px;width:260px;background:transparent url(../img/preLoader16.gif) no-repeat 265px center} -.x .form input[type=checkbox], -.x .form input[type=radio]{margin:0;padding:0;width:13px;height:13px;vertical-align:middle} -.x .form input[type=text][disabled=disabled], -.x .form input[type=password][disabled=disabled], -.x .form input[type=radio][disabled=disabled], -.x .form input[type=checkbox][disabled=disabled], -.x .form select[disabled=disabled], -.x .form textarea[disabled=disabled]{background:#ddd;text-shadow:1px 1px 0 #fff} -.x .form textarea{padding:3px 4px;vertical-align:top;resize:both} -.x .form span.desc, -.x .form em.desc{line-height:22px;vertical-align:middle;margin:0 10px} -.x .form p.desc{margin:.25em 0;line-height:1.4} -.x .form .q{font-weight:bold;margin:0 0 5px 0} -.x .form .a{margin:0 0 5px 0} -.x .form .tgForm{margin-right:1em} -/* Global Navigation Bar */ -.x .gnb{height:34px;clear:both;border:1px solid #c1c1c1;border-left:0;border-right:0;background-color:#efefef;background:#efefef -webkit-gradient(linear, 0% 0%, 0% 100%, from(#efefef), to(#dcdcdc));background:#efefef -moz-linear-gradient(top, #efefef, #dcdcdc);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#efefef, endColorStr=#dcdcdc);zoom:1} -.x .gnb:after{content:"";display:block;clear:both} -.x .gnb .nav-gnb{float:left;position:relative;display:inline-block;*display:inline;zoom:1;margin:0 0 0 20px;padding:1px;list-style:none} -.x .gnb .nav-gnb ul{_position:absolute;display:block;_display:inline;zoom:1;clear:both;margin:0;padding:0;border:0;overflow:hidden;height:0} -.x .gnb.active .nav-gnb{top:-5px;padding:5px 5px 5px 0;margin:0 0 -100% 20px;border:1px solid #aaa;background:#fff;box-shadow:0 0 10px #999;border-radius:5px} -.x .gnb.active .nav-gnb ul{top:0;_position:relative;box-shadow:none;display:block;_display:inline;clear:both;padding:0;margin:0;border:0} -.x .gnb .nav-gnb:after{content:"";display:block;clear:both} -.x .gnb .nav-gnb li{position:relative;display:inline-block;*display:inline;zoom:1;vertical-align:top;overflow:hidden;margin:0} -.x .gnb .nav-gnb li.activeOn{z-index:10} -.x .gnb .nav-gnb li.activeOn>a{border:1px solid #ccc} -.x .gnb .nav-gnb li li{display:block;_float:left;clear:both;overflow:hidden;border:0;margin:0} -.x .gnb .nav-gnb li li:first-child{border:0} -.x .gnb .nav-gnb li a{display:block;_float:left;font-weight:bold;color:#333;font-size:12px;height:14px;padding:9px 0;white-space:nowrap;text-decoration:none;text-shadow:0 1px 0 #fff;zoom:1} -.x .gnb .nav-gnb li a span{padding:0 15px;border-left:1px solid #fff} -.x .gnb.active .nav-gnb li a span, -.x .gnb .nav-gnb li:first-child a span, -.x .gnb .nav-gnb li.activeOn+li a span{border:0;margin:0 0 0 1px} -.x .gnb .nav-gnb li a:hover, -.x .gnb .nav-gnb li a:active, -.x .gnb .nav-gnb li a:focus{background:#f4f4f4} -.x .gnb .nav-gnb li.activeOn>a{background:#fff;padding:8px 0} -.x .gnb .nav-gnb li li a{color:#555;background:#fff;padding:5px 15px !important;font-weight:normal !important;border:0 !important} -.x .gnb .nav-gnb li li a:hover, -.x .gnb .nav-gnb li li a:active, -.x .gnb .nav-gnb li li a:focus{border:0;background:#eee} -.x .gnb .mnv{width:100%;height:32px;display:none} -@media all and (max-width:860px){ -.x .gnb{height:auto} -.x .gnb .nav-gnb, -.x .sct{display:none} -.x .gnb .mnv{display:block} -} -/* Local Navigation */ -.x .lnb{position:relative;float:left;width:210px;margin:0 0 1em -230px;line-height:normal;zoom:1;display:inline} -.x .lnb .h2{position:relative;z-index:2;margin:0 0 -1px 0;padding:0 10px;border:1px solid #444;border-bottom:0;border-radius:4px 4px 0 0;background:#555;font-size:13px;color:#fff;line-height:36px} -.x .lnb ul{margin:0 !important;padding:0;list-style:none;position:relative;z-index:1} -.x .lnb li{position:relative;margin:0 0 -1px 0;vertical-align:top;zoom:1} -.x .lnb li a{display:block;position:relative;padding:8px 10px;text-decoration:none;color:#666;font-weight:bold;background:#fafafa;border:1px solid #eee;zoom:1} -.x .lnb li a .i{position:absolute;top:50%;left:100%;margin:-4px 0 0 -16px;width:8px;height:8px;color:#ccc;background:url(../img/iconNavVr.gif) no-repeat left top} -.x .lnb li ul{padding:5px 0;background:#fff} -.x .lnb li li{margin:0;border-top:1px dotted #ddd} -.x .lnb li li:first-child{border:0} -.x .lnb li li a{font-weight:normal;background:#fff;padding:5px 10px;border:0} -.x .lnb li li a span{color:#666} -.x .lnb li.active{border:1px solid #ccc;z-index:2} -.x .lnb li li.active{border:0} -.x .lnb li.active a{color:#000;border:0} -.x .lnb li.active .i{background-position:0 -44px} -.x .lnb li.active li a{border:0} -.x .lnb li.active ul{display:block;border-top:1px solid #eee} -.x .lnb li.active li.active a span{color:#13b200;font-weight:bold;letter-spacing:-1px} -.x .lnb li:last-child a, -.x .lnb li.active:last-child{border-radius:0 0 4px 4px !important} -/* Shortcut */ -.x .sct{float:right;width:138px;position:relative;right:-160px;margin:0 0 0 -140px;padding:8px 0} -.x .sct h2{margin:0 0 5px 15px;font-size:13px} -.x .sct ul{margin:0;font-size:12px} -.x .sct li{position:relative} -.x .sct a{text-decoration:none} -.x .sct form{position:absolute;margin:0;padding:0;top:2px;right:-10px} -.x .sct .text{text-decoration:none;font-weight:bold;color:#999 !important;width:16px;height:16px;margin:0} -.x .sct .text:hover, -.x .sct .text:active, -.x .sct .text:focus{color:#333 !important} -/* Content Navigation */ -.x .cnb{margin:1em 0;position:relative;zoom:1} -.x .cnb:after{content:"";display:block;clear:both} -.x .cnb ul{list-style:none;margin:0;padding:0} -.x .cnb li{display:inline} -.x .cnb li:before{content:"| ";color:#ccc} -.x .cnb li:first-child:before{content:""} -.x .cnb .active, -.x .cnb .active a{font-weight:bold;color:#333;text-decoration:none} -.x .cnb .side{float:right} -/* Pagination */ -.x .pagination{margin:1em 0;text-align:center;line-height:normal} -.x .pagination *{vertical-align:middle} -.x .pagination a, -.x .pagination strong{position:relative;display:inline-block;padding:2px 4px;font-weight:bold;text-decoration:none;line-height:normal;color:#333 !important;vertical-align:middle} -.x .pagination a:hover, -.x .pagination a:active, -.x .pagination a:focus{border:1px solid #ddd;margin:0 -1px} -.x .pagination strong{color:#e00 !important;font-size:20px} -.x .pagination .direction{font-weight:normal;white-space:nowrap} -.x .pagination .direction:hover, -.x .pagination .direction:active, -.x .pagination .direction:focus{border:0;margin:0;text-decoration:underline} -.x .pagination input{width:30px;text-align:center} -.x .pagination button{overflow:visible} -/* Star Rating */ -.x .starRating, -.x .starRating span{display:inline-block;height:14px;background:transparent url(../img/iconStarRating.gif) no-repeat;overflow:hidden} -.x .starRating{width:79px;vertical-align:top} -.x .starRating span{font-size:0;line-height:0;vertical-align:top;text-indent:-100px;*text-indent:0;background-position:0 -14px} -/* Progress */ -.x .prgrs{white-space:nowrap;line-height:normal;vertical-align:middle} -.x .prgrs *{vertical-align:middle} -.x .prgrs .pBar{position:relative;display:inline-block;background:#e9e9e9;margin:0 5px 0 0} -.x .prgrs .pAction{display:inline-block;vertical-align:top;background:#99a6b6} -.x .prgrs .pNum{position:absolute;width:100%;left:0;top:0;text-align:center;text-shadow:1px 1px 0 #fff} -.x .prgrs.prgrsSmall{font-size:14px;line-height:14px} -.x .prgrs.prgrsSmall .pBar, -.x .prgrs.prgrsSmall .pAction, -.x .prgrs.prgrsSmall .pNum{height:16px;line-height:16px;font-size:11px} -.x .prgrs.prgrsMedium{font-size:24px;line-height:24px} -.x .prgrs.prgrsMedium .pBar, -.x .prgrs.prgrsMedium .pAction, -.x .prgrs.prgrsMedium .pNum{height:22px;line-height:22px;font-size:12px} -.x .prgrs.prgrsLarge{font-size:38px;line-height:38px} -.x .prgrs.prgrsLarge .pBar, -.x .prgrs.prgrsLarge .pAction, -.x .prgrs.prgrsLarge .pNum{height:34px;line-height:34px;font-size:14px} -/* Modal Window */ -.modal{position:absolute;top:0;left:0;width:100%;_height:100%;min-height:100%;z-index:99} -.modal .bg{position:absolute;background:#000;_background:none;width:100%;height:100%;opacity:.5;z-index:2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);zoom:1} -.modal .fg{position:relative;width:80%;margin:5em auto;background:#fff;padding:0 1em;*padding:1em;border:8px solid #ddd;z-index:3;zoom:1;border-radius:5px;box-shadow:0 0 6px #000} -.modal ul, -.modal ol, -.modal .lined, -.modal .table{margin-bottom:1em} -.modal .ie6{position:absolute;left:0;top:0;width:100%;height:100%;border:0;opacity:0;filter:alpha(opacity=0);z-index:1} -.modalClose{position:absolute;right:-8px;top:-8px;border:0;background:#ddd;padding:0;width:28px;height:28px;font-size:14px;font-weight:bold;cursor:pointer;color:#999;border-radius:5px} -.modalBlur{position:absolute;top:0;right:0;border:0;background:none;padding:0;width:1px;height:1px;overflow:hidden} -html.modalContainer, -body.modalContainer{_height:100%;_width:100%} /* IE6 only */ -/* Layer */ -.x .layer, -.x.layer{position:absolute;background:#fff;padding:0 1em;*padding:1em;border:8px solid #ddd;z-index:2;zoom:1;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 6px #666;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)} -.x .layer h2{font-size:14px} -.x .layer ul, -.x .layer ol, -.x .layer .lined, -.x .layer .table{margin-bottom:1em} -.x .layerClose{position:absolute;right:-8px;top:-8px;border:0;background:#ddd;padding:0;width:28px;height:28px;font-size:14px;font-weight:bold;cursor:pointer;color:#999;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px} -.x .layerBlur{position:absolute;top:0;right:0;border:0;background:none;padding:0;width:1px;height:1px;overflow:hidden} -/* H2 Anchor */ -.x .h2Anchor{position:absolute;right:0;border:0;background:none;color:#00f;text-decoration:underline} -/* Skip Navigation */ -.x .skipNav{margin:0;text-align:center} -@media all and (max-width:860px){ -.x .skipNav{display:none} -} -.x .skipNav a{position:absolute;width:1px;height:1px;display:block;padding:10px 0;font-weight:bold;overflow:hidden} -.x .skipNav a:hover, -.x .skipNav a:active, -.x .skipNav a:focus{position:relative;width:auto;height:auto} -/* Header */ -.x .header{position:relative;z-index:2;padding:30px 0 0 0;background:#4c4c4c;box-shadow:0 0 10px #aaa;zoom:1;border-radius:5px 5px 0 0} -.x .header:after{content:"";display:block;clear:both} -.x .header a{text-decoration:none} -.x .header h1{margin:0 0 10px 20px;font-size:24px;line-height:32px;display:inline-block;*display:inline;zoom:1;vertical-align:middle} -.x .header h1 *{vertical-align:middle} -.x .header h1 a{display:inline-block;color:#fff;text-shadow:1px 1px 0 #000;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1, Color=#000000, Positive=true);zoom:1} -.x .header h1 .url{font-size:12px;font-weight:normal} -.x .header .site{margin:0 0 10px 20px;display:inline-block;*display:inline;zoom:1} -.x .header .site a{color:#fff;text-decoration:underline} -.x .header #moveSiteList{padding:10px 1em 5px 1em;margin:0} -.x .header #moveSiteList ul{list-style:none;margin:0;padding:0} -.x .header #moveSiteList li{white-space:nowrap;margin:0;padding:4px 0;border-bottom:1px dotted #ccc} -.x .header #siteMapList{padding:0 1em 1em 1em;margin:0} -.x .header #siteMapList li{white-space:nowrap} -.x .header .account{position:absolute;z-index:3;width:100%;top:0;right:0;white-space:nowrap;text-align:right;background:#333;border-bottom:1px solid #656565;color:#fff;font-size:12px;border-radius:5px 5px 0 0} -.x .header .account ul{margin:0;padding:5px 20px 5px 0;list-style:none} -.x .header .account li{position:relative;display:inline;border-left:1px solid #666;padding:0 6px 0 10px} -.x .header .account li:first-child{border:0} -.x .header .account a{color:#fff;display:inline-block;height:14px} -.x .header .account a.language{padding-right:16px;background:url(../img/iconArrow.gif) no-repeat right -160px} -.x .header #language{position:absolute;top:19px;right:-20px;padding:6px 4px !important;border:1px solid #666;border-top:0;background:#333} -@media all and (max-width:860px){ -.x .header #language{right:-10px} -} -.x .header #language li{border:0;display:block;padding:1px 8px 1px 10px;text-align:left;line-height:1} -.x .header #language li.selected{background:url(../img/iconCheck.gif) no-repeat left center} -.x .header #language li.selected a{text-decoration:underline} -.x .header h1 a:hover, -.x .header h1 a:active, -.x .header h1 a:focus, -.x .header .account a:hover, -.x .header .account a:active, -.x .header .account a:focus{color:#6e9cf2;text-decoration:underline} -/* Footer */ -.x .footer{border-top:1px solid #ddd;text-align:center;font-size:12px;padding:1.5em 0;zoom:1} -.x .footer *{font-size:12px} -.x .footer:after{content:"";display:block;clear:both} -.x .footer p{margin:0} -.x .footer .power{float:left} -.x .footer .cache{float:right} -.x .footer .vr{color:#ccc} -/* Body */ -.x .body{position:relative;z-index:1;padding:30px 170px 30px 240px;zoom:1} -.x .body:after{content:"";display:block;clear:both} -/* Content */ -.x .content{float:right;width:100%;margin-left:-100%;zoom:1;outline:0} -.x .content:after{content:"";display:block;clear:both} -.x .content a{color:#33a} -.x .content a:hover, -.x .content a:active, -.x .content a:focus{color:#a33} -.x .content .portlet a{text-decoration:none} -.x .content .portlet a:hover, -.x .content .portlet a:active, -.x .content .portlet a:focus{text-decoration:underline} -/* Dashboard */ -.x .dashboard .section{margin-top:0} -.x .dashboard .portlet{float:left;width:48%;margin-right:1em;margin-top:0} -.x .dashboard .portlet:nth-of-type(odd){float:left;width:49%;margin-right:0} -.x .dashboard .portlet:nth-of-type(even){float:right;width:49%;margin-right:0} -@media all and (min-width:1300px){ -.x .dashboard .portlet{float:left !important;width:32% !important;margin-right:1em !important} -} -/* Single Column*/ -.x .single{padding-left:10px} -.x .single .content{position:relative;float:left;width:100%;margin:0} -/* Search */ -.x .search{zoom:1} -.x .search:after{content:"";display:block;clear:both} -.x .search .pagination{float:left;text-align:left} -.x .search form{float:right;margin:1em 0} -.x .search form *{vertical-align:middle} -/* Site Map */ -.x .siteMap h2 input{font-size:14px;font-weight:bold;padding:3px 4px;margin:0;border:0;background:transparent} -.x .siteMap h2:hover input, -.x .siteMap h2 input:focus{background:#ff0;border:1px dashed #ccc;margin:-1px} -.x .siteMap label{cursor:text} -.x .siteMap .lined ul{padding:0;margin:0;border-top:1px solid #eee;zoom:1} -.x .siteMap .lined li{position:relative;padding:0;margin:0;cursor:all-scroll;list-style:none;zoom:1} -.x .siteMap .lined li li{border-top:1px solid #eee} -.x .siteMap li li{text-indent:18px} -.x .siteMap li li li{text-indent:36px} -.x .siteMap li li li li{text-indent:54px} -.x .siteMap li li li li li{text-indent:72px} -.x .siteMap li li li li li li{text-indent:90px} -.x .siteMap li li li li li li li{text-indent:108px} -.x .siteMap li li li li li li li li{text-indent:126px} -.x .siteMap li li li li li li li li li{text-indent:144px} -.x .siteMap li li li li li li li li li li{text-indent:162px} -.x .siteMap li li li li li li li li li li li{text-indent:180px} -.x .siteMap li li li li li li li li li li li li{text-indent:198px} -.x .siteMap li *{vertical-align:middle} -.x .siteMap li .moveTo+input{width:200px;border:0;padding:0 .5em} -.x .siteMap li .moveTo+input:hover, -.x .siteMap li .moveTo+input:active, -.x .siteMap li .moveTo+input:focus{border:1px dotted #ccc;overflow:visible} -.x .siteMap .moveTo{position:relative;z-index:2;width:22px;height:32px;padding:32px 0 0 0;margin:0 3px;_margin-top:-1px;overflow:hidden;background:#fff url(../img/iconMoveTo.gif) no-repeat center 0;border:0;cursor:move} -.x .siteMap li.active, -.x .siteMap li.active .moveTo{background-color:#f7f7f7} -.x .siteMap li.active li, -.x .siteMap li.active ul{border-top-color:#f7f7f7} -.x .siteMap li.active .moveTo{background-position:center -32px} -.x .siteMap .vr, -.x .siteMap .hr{display:none;position:absolute;z-index:1;left:14px;border:0px solid #ccc;overflow:hidden} -.x .siteMap .vr{top:-16px;height:100%;border-left-width:1px} -.x .siteMap .hr{top:16px;width:16px;border-top-width:1px} -.x .siteMap li.active .vr, -.x .siteMap li.active li .hr{display:block} -.x .siteMap li li .vr, -.x .siteMap li li li .hr{left:32px} -.x .siteMap li li li .vr, -.x .siteMap li li li li .hr{left:50px} -.x .siteMap li li li li .vr, -.x .siteMap li li li li li .hr{left:68px} -.x .siteMap li li li li li .vr, -.x .siteMap li li li li li li .hr{left:86px} -.x .siteMap li li li li li li .vr, -.x .siteMap li li li li li li li .hr{left:104px} -.x .siteMap li li li li li li li .vr, -.x .siteMap li li li li li li li li .hr{left:122px} -.x .siteMap li li li li li li li li .vr, -.x .siteMap li li li li li li li li li .hr{left:140px} -.x .siteMap li li li li li li li li li .vr, -.x .siteMap li li li li li li li li li li .hr{left:158px} -.x .siteMap li li li li li li li li li li .vr, -.x .siteMap li li li li li li li li li li li .hr{left:176px} -.x .siteMap li li li li li li li li li li li .vr, -.x .siteMap li li li li li li li li li li li li .hr{left:336px} -.x .siteMap .side{padding-top:0 !important;padding-bottom:0 !important;line-height:30px;background:transparent !important} -.x .siteMap .side button{text-indent:0;line-height:1} -.x .siteMap .tgMap{position:absolute;top:12px;right:1em;padding:0 16px 0 0;line-height:16px;background:url(../img/iconArrow.gif) no-repeat right -126px} -.x .siteMap.fold .tgMap{background-position:right -158px} -.x .siteMap.fold .h2{border-bottom-color:#fff;border-radius:5px} -.x .siteMap .placeholder{background:#bbb} -.x .siteMap .draggable, -.x .siteMap .draggable .moveTo{background-color:#ddd} -.x .siteMap .draggable .summary{border-left:1px solid #ccc;padding-left:10px;margin-left:10px;font-size:11px;color:#999} -.x .siteMap a.ms{text-decoration:underline} -/* Multilingual */ -.x .langEdit{background:#fff;position:absolute;*left:0;*margin-top:28px;z-index:10} -.x .langEdit ul{border-top:1px solid #ccc;border-left:1px solid #eee;border-right:1px solid #eee;margin:0} -.x .langEdit li{padding:.5em 10px} -.x .langEdit input[type=text]{width:220px;padding-right:40px} -.x .langEdit label{left:15px !important} -.x .langEdit .action{border:1px solid #eee;width:268px;padding:0 10px} -.x .langEdit p, -.x .langEdit .btnArea{white-space:normal} -.x .langEdit .langList, -.x .langEdit .langEditControls{box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)} -.x .langEdit .langList{margin:0 -1px 0 0;display:none} -.x .langEdit .langList li{white-space:nowrap;color:#ccc;width:270px} -.x .langEdit .langList li span{display:inline-block;width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#767676} -.x .langEdit .langList li a{display:inline-block;width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis} -.x .langEdit .langList li.active{background:url(../img/iconArrow.gif) no-repeat right -188px} -.x .langEdit.showChild .langList{display:block} -.x .langEdit .langInput{background:#fff} -.x .langEdit .langInput h2{padding:5px 10px;margin:0 0 -1px 0;font-size:12px;font-weight:normal;color:#666;border:1px solid #eee;border-top-color:#ccc} -.x .langEdit .langInput h2 strong{color:#000;font-size:14px} -.x .langEdit.showChild .langInput{position:absolute;left:285px;top:0} -.x .langEdit li.en input, -.x .langEdit li.en textarea, -.x .mLangEdit li.en textarea{background:url(../img/flag.us.gif) no-repeat 99% 5px} -.x .langEdit li.ko input, -.x .langEdit li.ko textarea, -.x .mLangEdit li.ko textarea{background:url(../img/flag.kr.gif) no-repeat 99% 5px} -.x .langEdit li.jp input, -.x .langEdit li.jp textarea, -.x .mLangEdit li.jp textarea{background:url(../img/flag.jp.gif) no-repeat 99% 5px} -.x .langEdit li.fr input, -.x .langEdit li.fr textarea, -.x .mLangEdit li.fr textarea{background:url(../img/flag.fr.gif) no-repeat 99% 5px} -.x .langEdit li.de input, -.x .langEdit li.de textarea, -.x .mLangEdit li.de textarea{background:url(../img/flag.de.gif) no-repeat 99% 5px} -.x .langEdit li.ru input, -.x .langEdit li.ru textarea, -.x .mLangEdit li.ru textarea{background:url(../img/flag.ru.gif) no-repeat 99% 5px} -.x .langEdit li.es input, -.x .langEdit li.es textarea, -.x .mLangEdit li.es textarea{background:url(../img/flag.es.gif) no-repeat 99% 5px} -.x .langEdit li.tr input, -.x .langEdit li.tr textarea, -.x .mLangEdit li.tr textarea{background:url(../img/flag.tr.gif) no-repeat 99% 5px} -.x .langEdit li.vi input, -.x .langEdit li.vi textarea, -.x .mLangEdit li.vi textarea{background:url(../img/flag.vn.gif) no-repeat 99% 5px} -.x .langEdit li.mn input, -.x .langEdit li.mn textarea, -.x .mLangEdit li.mn textarea{background:url(../img/flag.mn.gif) no-repeat 99% 5px} -.x .langEdit li.zh-CN input, -.x .langEdit li.zh-CN textarea, -.x .mLangEdit li.zh-CN textarea{background:url(../img/flag.cn.gif) no-repeat 99% 5px} -.x .langEdit li.zh-TW input, -.x .langEdit li.zh-TW textarea, -.x .mLangEdit li.zh-TW textarea{background:url(../img/flag.tw.gif) no-repeat 99% 5px} -.x .mLangEdit.en strong{background:url(../img/flag.us.gif) no-repeat 0 10px} -.x .mLangEdit.ko strong{background:url(../img/flag.kr.gif) no-repeat 0 10px} -.x .mLangEdit.jp strong{background:url(../img/flag.jp.gif) no-repeat 0 10px} -.x .mLangEdit.fr strong{background:url(../img/flag.fr.gif) no-repeat 0 10px} -.x .mLangEdit.de strong{background:url(../img/flag.de.gif) no-repeat 0 10px} -.x .mLangEdit.ru strong{background:url(../img/flag.ru.gif) no-repeat 0 10px} -.x .mLangEdit.es strong{background:url(../img/flag.es.gif) no-repeat 0 10px} -.x .mLangEdit.tr strong{background:url(../img/flag.tr.gif) no-repeat 0 10px} -.x .mLangEdit.vi strong{background:url(../img/flag.vn.gif) no-repeat 0 10px} -.x .mLangEdit.mn strong{background:url(../img/flag.mn.gif) no-repeat 0 10px} -.x .mLangEdit.zh-CN strong{background:url(../img/flag.cn.gif) no-repeat 0 10px} -.x .mLangEdit.zh-TW strong{background:url(../img/flag.tw.gif) no-repeat 0 10px} -.x .mLangEdit ul ul{border:0} -.x .mLangEdit li{position:relative;padding:0} -.x .mLangEdit li strong{display:inline-block;padding:6px 100px 8px 24px;font-weight:normal;line-height:1.5} -.x .mLangEdit li .side{position:absolute;top:8px;right:0;padding-right:18px;background:url(../img/iconArrow.gif) no-repeat right -160px} -.x .mLangEdit li li{border:0;padding-right:36px} -.x .mLangEdit li textarea{width:100%;height:16px;padding-right:30px;resize:vertical;line-height:1.4} -.x .mLangEdit li label{top:8px !important} -.x .mLangEdit li.active{background:#FFFDEF} -.x .mLangEdit li.active strong{font-weight:bold} -.x .mLangEdit li.active .side{background-position:right -128px} -.modal .mLangEdit ul{padding-bottom:1em} -.modal .mLangEdit li{border:0;padding-right:36px} -/* Suggestion */ -.x .suggestion{display:none;position:absolute;background:#fff;z-index:10;_height:200px;max-height:200px;overflow:auto;*left:0;*margin-top:28px;box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)} -.x .suggestion ul{border-top:1px solid #ccc;border-left:1px solid #eee;border-right:1px solid #eee;margin:0} -.x .suggestion li{padding:0} -.x .suggestion li:last-child{border-bottom:0} -.x .suggestion li button{border:0;background:#fff;text-align:left;width:288px;padding:2px 4px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} -.x .suggestion li button:hover, -.x .suggestion li button:active, -.x .suggestion li button:focus, -.x .suggestion li button.active{background:#eee} -/* Image Mark */ -.x #imageMark{right:0} -/* Easy Installer */ -.x .easyNav{position:relative;border:1px solid #e9e9e9;zoom:1} -.x .easyNav:after{content:"";display:block;clear:both} -.x .easyNav h2{font-size:16px} -.x .easyNav .category{width:30%;float:left;margin:0 2em;display:inline} -.x .easyNav .filter{position:absolute;top:0;right:0;margin:1em 2em;text-align:right} -.x .easyList caption .side .text .hide, -.x .easyList caption .side .details .show{display:none} -.x .easyList caption .side .details .hide{display:inline} -.x .easyList td p:first-child{margin:0} -.x .easyList td p.update{background:#ffc;padding:.5em 1em;border:1px solid #fc9;border-left:0;border-right:0;text-align:center} -/* Font Preview */ -.x .fontPreview{width:96%;border:1px solid #e9e9e9;zoom:1;padding:1em 2em;margin:.5em 0} -/* FTP Suggestion */ -.x #ftpSuggestion{background:#fff;box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)} -.x #ftpSuggestion ul{border-left:1px solid #eee;border-right:1px solid #eee} -.x #ftpSuggestion li{padding:0} -.x #ftpSuggestion li button{border:0;background:#fff;text-align:left;width:288px} -.x #ftpSuggestion li button:hover, -.x #ftpSuggestion li button:active, -.x #ftpSuggestion li button:focus{background:#eee} -/* Theme & Skin Preview */ -.x .thumbPreview li{position:relative;padding-left:10px;padding-right:10px} -.x .thumbPreview li.active.highlight{background:#f9f9f9} -.x .thumbPreview .prevToggle{position:absolute;top:8px;right:10px;line-height:16px;padding:0 18px 0 0;text-decoration:none;background:url(../img/iconArrow.gif) no-repeat right -32px} -.x .thumbPreview li.active .prevToggle{background-position:right 0} -.x .thumbPreview .a{border:0;margin:0;zoom:1} -.x .thumbPreview .a:after{content:"";display:block;clear:both} -.x .thumbPreview .i{float:left;vertical-align:top;margin:0 1em 1em 0;padding:0;border:0;zoom:1} -.x .thumbPreview .i:after{content:"";display:block;clear:both} -.x .thumbPreview .i .thumb{position:relative;width:124px;height:84px;padding:0;margin-bottom:3px;text-align:center;overflow:hidden;border:1px solid #ddd;display:block;cursor:pointer;background:#fff} -.x .thumbPreview .i .thumb .frame{position:absolute;width:120px;height:80px;left:0;top:0;border:2px solid #fff;overflow:hidden} -.x .thumbPreview .i .thumb img{width:120px;margin:0} -.x .thumbPreview .i label{display:block;position:relative;top:0;left:2px;width:122px;height:1.1em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} -.x .thumbPreview .i input{display:none} -.x .thumbPreview .i ul{display:none} -.x .thumbPreview .selected .i{display:block;float:none} -.x .thumbPreview .selected .i .thumb{float:left;width:186px;height:126px;margin:0 1em 0 0;border:2px solid #eee} -.x .thumbPreview .selected .i .thumb .frame{width:180px;height:120px;border-width:3px} -.x .thumbPreview li.active.highlight .selected .i .thumb{border-color:#5ea8f6} -.x .thumbPreview .selected .i .thumb img{width:180px;position:relative} -.x .thumbPreview li.active .selected .i .thumb img{z-index:auto} -.x .thumbPreview .selected .i label{cursor:text} -.x .thumbPreview .selected .i ul{display:block;list-style:none;border:0;margin:1em 0 1em 200px} -.x .thumbPreview .selected .i li{border:0;padding:0;margin:0 0 .2em 0} -.x .thumbPreview.jx .i label{display:inline;width:auto} -.x .thumbPreview.jx .i.noDirection{display:none} -.x .thumbPreview.jx .i input{display:inline} -.x #skin .showAll{float:right;border:0;overflow:visible;padding:0 18px 0 0;cursor:pointer;color:#00f;background:url(../img/iconArrow.gif) no-repeat right -32px} -.x #skin .showAll.hideAll{background-position:right 0} -/* Favorite On | Off */ -.x .fvOff, -.x .fvOn{display:inline-block;width:16px;height:16px;overflow:hidden;text-indent:16px;background:transparent url(../img/iconFavorite.gif) no-repeat;border:0} -.x .fvOn{background-position:0 -16px} -/* Up-Down Dragable */ -.x .uDrag .wrap{position:relative;padding-left:20px} -.x .uDrag li>.wrap{margin:0 0 0 8px} -.x .uDrag .dragActive{background:#FFD} -.x .uDrag .dragActive th, -.x .uDrag .dragActive td{background:none !important} -.x .uDrag .dragBtn{position:absolute;width:8px;height:100%;padding:0;overflow:hidden;background:url(../img/bgDragable.gif);top:1px;left:0;text-indent:12px;border:0;cursor:n-resize;white-space:nowrap} -/* Favicon Preview */ -.x .faviconPreview{position:relative;padding:60px 0 0 200px;background:url(../img/bgFavicon.gif) no-repeat} -.x .faviconPreview img{position:absolute} -.x .faviconPreview .fn1{top:30px;left:12px} -.x .faviconPreview .fn2{top:55px;left:68px} -/* Mobile Icon Preview */ -.x .mobiconPreview{position:relative;padding:252px 0 0 200px;background:url(../img/bgMobileTop.png) no-repeat} -.x .mobiconPreview img{position:absolute;top:20px;left:10px} -.x .mobiconPreview span{position:absolute;width:32px;text-align:center;top:52px;left:10px;color:#fff;font-size:9px} -/* Text List */ -.x .textList{border:1px solid #ddd !important;line-height:1.5em;height:18.5em;overflow:auto} -.x .textList li{border:0;padding:.25em 1em;height:1.5em;white-space:nowrap;overflow:hidden} -.x .textList li:nth-child(even){background:#eee} -.x .textList li a{float:right} -/* File Box */ -.x .fileBox li{position:relative} -.x .fileBox li img{max-width:100%} -.x .fileBox .portlet ul{margin:1em;list-style:none;padding:0;border:0} -.x .fileBox .portlet li{border-top:1px solid #ddd;border-bottom:0;padding:8px 0} -.x .fileBox .side{position:absolute;top:8px;right:0} -/* Messages */ -.x .desc.error{color:#f00} -.x .desc.success{color:#080} -/* Icon Button */ -.x a.iSetting{display:inline-block;width:16px;height:0;padding:16px 0 0 0;overflow:hidden;vertical-align:middle;background:url(../img/iconSetting.gif) no-repeat} -.x a.cMenu{display:inline-block;width:16px;height:0;padding:16px 0 0 0;overflow:hidden;vertical-align:middle;background:url(../../../../common/img/icon.bubble.png) no-repeat} -.x .sTog{float:right;border:0;background-color:transparent;width:28px;height:18px;opacity:.5;filter:alpha(opacity=50)} -/* Responsive Layout */ -@media all and (max-width:860px){ -.x .header .account ul{padding-right:10px} -.x .body{padding:1em 0 0 0} -.x .content{float:none;margin-left:0} -.x .lnb{float:none;width:auto;margin:1em 0} -.x .dashboard .portlet{float:none !important;width:auto !important;margin-right:0} -.modal .fg, -.wfsr .fg{width:auto} -.x .easyNav .category{float:none;display:block;width:auto} -.x .easyNav .filter{position:static} -} -/* Legacy Code (Don't use it. It will be removed as soon as possible.) */ -.x h3.xeAdmin, -.x h4.xeAdmin{position:relative;border-bottom-style:solid;border-bottom-color:#ccc;zoom:1} -.x h3.xeAdmin{border-bottom-width:4px;font-size:24px} -.x h4.xeAdmin{border-bottom-width:3px;font-size:20px} -.x h5.xeAdmin{border-bottom-width:2px;font-size:16px} -.x h6.xeAdmin{border-bottom-width:1px;font-size:12px} -.x .adminSearch{margin:1em 0} -.x .adminSearch fieldset{border:1px solid #ccc;margin:0;padding:.5em 1em} -.x .localNavigation{padding:0;list-style:none} -.x .localNavigation li{display:inline} -.x .localNavigation li.on a{font-weight:bold;color:#333;text-decoration:none} -.x .localNavigation li:before{content:"| "} -.x .localNavigation li:first-child:before{content:""} -.x .summary{margin:1em 0} -.x .rowTable, -.x .colTable, -.x .crossTable{margin:1em 0;border:0;border-collapse:collapse;border-top:2px solid #ccc;width:100%} -.x .rowTable caption, -.x .colTable caption, -.x .crossTable caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0} -.x .rowTable caption:after, -.x .colTable caption:after, -.x .crossTable caption:after{content:"";display:block;clear:both} -.x .rowTable caption a, -.x .colTable caption a, -.x .crossTable caption a{font-weight:normal} -.x .rowTable caption em, -.x .colTable caption em, -.x .crossTable caption em{float:right;font-style:normal;font-weight:normal;color:#e00;margin-left:1em} -.x .rowTable caption strong, -.x .colTable caption strong, -.x .crossTable caption strong{color:#e00} -.x .rowTable caption .side, -.x .colTable caption .side, -.x .crossTable caption .side{float:right;font-weight:normal;margin-left:1em} -.x .rowTable th, -.x .rowTable td, -.x .colTable th, -.x .rowTable td, -.x .crossTable th, -.x .rowTable td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd} -.x .rowTable th, -.x .colTable th, -.x .crossTable th{background:#f8f8f8;white-space:nowrap} -.x .rowTable thead th, -.x .colTable thead th, -.x .crossTable thead th{border-bottom:1px solid #999} -.x .rowTable tfoot td, -.x .colTable tfoot td, -.x .crossTable tfoot td{font-weight:bold;background:#f8f8f8} -.x .rowTable.even tbody tr:nth-of-type(even) td, -.x .colTable.even tbody tr:nth-of-type(even) td, -.x .crossTable.even tbody tr:nth-of-type(even) td{background-color:#fafafa} -.x .rowTable td>input[type=text], -.x .colTable td>input[type=text], -.x .crossTable td>input[type=text]{margin:-1px 0 -3px 0 !important;vertical-align:middle} -.x .rowTable img, -.x .colTable img, -.x .crossTable img{vertical-align:middle} -.x .rowTable .title, -.x .colTable .title, -.x .crossTable .title, -.x .rowTable .text, -.x .colTable .text, -.x .crossTable .text{white-space:normal} -.x .rowTable input[type=text], -.x .colTable input[type=text], -.x .crossTable input[type=text], -.x .rowTable input[type=password], -.x .colTable input[type=password], -.x .crossTable input[type=password], -.x .rowTable input[type=file], -.x .colTable input[type=file], -.x .crossTable input[type=file], -.x .rowTable textarea, -.x .colTable textarea, -.x .crossTable textarea{position:relative;width:280px;margin:2px 0;border:1px solid #b7b7b7;border-right-color:#e1e1e1;border-bottom-color:#e1e1e1;background:transparent} -.x .rowTable input[type=text], -.x .colTable input[type=text], -.x .crossTable input[type=text], -.x .rowTable input[type=password], -.x .colTable input[type=password], -.x .crossTable input[type=password], -.x .rowTable input[type=file], -.x .colTable input[type=file], -.x .crossTable input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px} -.x .clear:after{content:"";display:block;clear:both} - -.x .moduleSearchWindow{position:absolute;width:700px} -.x .moduleSearchWindow, .moduleSearchWindow div{margin:0;padding:0;color:#2d2c2d;font-size:12px} -.x .moduleSearchWindow h2{margin:0;padding:4px;height:24px;line-height:24px;background:#666;text-align:left;color:#fff;font-size:12px} -.x .moduleSearchWindow .sectionDiv{position:relative;margin:0px;background:#fff;border:1px solid} -.x .moduleSearchWindow .siteList{float:left;width:295px} -.x .moduleSearchWindow .highlight{background:yellow;color:red;font-style:italic} -.x .moduleSearchWindow .moduleTypeList{margin-left:5px;float:left;width:200px} -.x .moduleSearchWindow .moduleInstanceList{float:right;width:190px} -.x .moduleSearchWindow ul{margin:0;padding:0;border:0} -.x .moduleSearchWindow li{font-size:12px;border:0;border-bottom:1px solid #ccc;margin:0;padding: 4px 4px;font-family: 나눔고딕,NanumGothic,"맑은 고딕","Malgun Gothic",AppleGothic,돋움,Dotum,굴림,Gulim,sans-serif} -.x .moduleSearchWindow li:hover, .moduleSearchWindow li.on{background:#eee;cursor:pointer} -.x .moduleSearchWindow li div{margin:0;padding:0;display:inline-block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis} -.x .moduleSearchWindow .siteList li div{width:270px} -.x .moduleSearchWindow .siteListSearchBox{margin:0;padding:4px 0;height:24px;border-bottom:1px solid #888} -.x .moduleSearchWindow .siteListSearchBoxBorder{margin-left:3px;height: 22px;width: 287px;border: 1px solid #ccc} -.x .moduleSearchWindow input.siteListSearchInput{margin:0;padding:0;position:relative;float:right;width: 260px;margin-right:4px;border:0} -.x .moduleSearchWindow .siteListSearchBox .searchImg{position:relative;float:left;margin-top:4px;margin-left:4px} -.x .moduleSearchWindow .moduleTypeList li div{width:170px} -.x .moduleSearchWindow .moduleInstanceList li div{width:190px} - - -/*! - * Bootstrap v2.0.4 - * - * Copyright 2012 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world@twitter by@mdo and@fat. -*/ -/* Bootstrap - Icons */ -[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat} -[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0} -.icon-white{background-image:url("../img/glyphicons-halflings-white.png")} -.icon-glass{background-position:0 0} -.icon-music{background-position:-24px 0} -.icon-search{background-position:-48px 0} -.icon-envelope{background-position:-72px 0} -.icon-heart{background-position:-96px 0} -.icon-star{background-position:-120px 0} -.icon-star-empty{background-position:-144px 0} -.icon-user{background-position:-168px 0} -.icon-film{background-position:-192px 0} -.icon-th-large{background-position:-216px 0} -.icon-th{background-position:-240px 0} -.icon-th-list{background-position:-264px 0} -.icon-ok{background-position:-288px 0} -.icon-remove{background-position:-312px 0} -.icon-zoom-in{background-position:-336px 0} -.icon-zoom-out{background-position:-360px 0} -.icon-off{background-position:-384px 0} -.icon-signal{background-position:-408px 0} -.icon-cog{background-position:-432px 0} -.icon-trash{background-position:-456px 0} -.icon-home{background-position:0 -24px} -.icon-file{background-position:-24px -24px} -.icon-time{background-position:-48px -24px} -.icon-road{background-position:-72px -24px} -.icon-download-alt{background-position:-96px -24px} -.icon-download{background-position:-120px -24px} -.icon-upload{background-position:-144px -24px} -.icon-inbox{background-position:-168px -24px} -.icon-play-circle{background-position:-192px -24px} -.icon-repeat{background-position:-216px -24px} -.icon-refresh{background-position:-240px -24px} -.icon-list-alt{background-position:-264px -24px} -.icon-lock{background-position:-287px -24px} -.icon-flag{background-position:-312px -24px} -.icon-headphones{background-position:-336px -24px} -.icon-volume-off{background-position:-360px -24px} -.icon-volume-down{background-position:-384px -24px} -.icon-volume-up{background-position:-408px -24px} -.icon-qrcode{background-position:-432px -24px} -.icon-barcode{background-position:-456px -24px} -.icon-tag{background-position:0 -48px} -.icon-tags{background-position:-25px -48px} -.icon-book{background-position:-48px -48px} -.icon-bookmark{background-position:-72px -48px} -.icon-print{background-position:-96px -48px} -.icon-camera{background-position:-120px -48px} -.icon-font{background-position:-144px -48px} -.icon-bold{background-position:-167px -48px} -.icon-italic{background-position:-192px -48px} -.icon-text-height{background-position:-216px -48px} -.icon-text-width{background-position:-240px -48px} -.icon-align-left{background-position:-264px -48px} -.icon-align-center{background-position:-288px -48px} -.icon-align-right{background-position:-312px -48px} -.icon-align-justify{background-position:-336px -48px} -.icon-list{background-position:-360px -48px} -.icon-indent-left{background-position:-384px -48px} -.icon-indent-right{background-position:-408px -48px} -.icon-facetime-video{background-position:-432px -48px} -.icon-picture{background-position:-456px -48px} -.icon-pencil{background-position:0 -72px} -.icon-map-marker{background-position:-24px -72px} -.icon-adjust{background-position:-48px -72px} -.icon-tint{background-position:-72px -72px} -.icon-edit{background-position:-96px -72px} -.icon-share{background-position:-120px -72px} -.icon-check{background-position:-144px -72px} -.icon-move{background-position:-168px -72px} -.icon-step-backward{background-position:-192px -72px} -.icon-fast-backward{background-position:-216px -72px} -.icon-backward{background-position:-240px -72px} -.icon-play{background-position:-264px -72px} -.icon-pause{background-position:-288px -72px} -.icon-stop{background-position:-312px -72px} -.icon-forward{background-position:-336px -72px} -.icon-fast-forward{background-position:-360px -72px} -.icon-step-forward{background-position:-384px -72px} -.icon-eject{background-position:-408px -72px} -.icon-chevron-left{background-position:-432px -72px} -.icon-chevron-right{background-position:-456px -72px} -.icon-plus-sign{background-position:0 -96px} -.icon-minus-sign{background-position:-24px -96px} -.icon-remove-sign{background-position:-48px -96px} -.icon-ok-sign{background-position:-72px -96px} -.icon-question-sign{background-position:-96px -96px} -.icon-info-sign{background-position:-120px -96px} -.icon-screenshot{background-position:-144px -96px} -.icon-remove-circle{background-position:-168px -96px} -.icon-ok-circle{background-position:-192px -96px} -.icon-ban-circle{background-position:-216px -96px} -.icon-arrow-left{background-position:-240px -96px} -.icon-arrow-right{background-position:-264px -96px} -.icon-arrow-up{background-position:-289px -96px} -.icon-arrow-down{background-position:-312px -96px} -.icon-share-alt{background-position:-336px -96px} -.icon-resize-full{background-position:-360px -96px} -.icon-resize-small{background-position:-384px -96px} -.icon-plus{background-position:-408px -96px} -.icon-minus{background-position:-433px -96px} -.icon-asterisk{background-position:-456px -96px} -.icon-exclamation-sign{background-position:0 -120px} -.icon-gift{background-position:-24px -120px} -.icon-leaf{background-position:-48px -120px} -.icon-fire{background-position:-72px -120px} -.icon-eye-open{background-position:-96px -120px} -.icon-eye-close{background-position:-120px -120px} -.icon-warning-sign{background-position:-144px -120px} -.icon-plane{background-position:-168px -120px} -.icon-calendar{background-position:-192px -120px} -.icon-random{background-position:-216px -120px} -.icon-comment{background-position:-240px -120px} -.icon-magnet{background-position:-264px -120px} -.icon-chevron-up{background-position:-288px -120px} -.icon-chevron-down{background-position:-313px -119px} -.icon-retweet{background-position:-336px -120px} -.icon-shopping-cart{background-position:-360px -120px} -.icon-folder-close{background-position:-384px -120px} -.icon-folder-open{background-position:-408px -120px} -.icon-resize-vertical{background-position:-432px -119px} -.icon-resize-horizontal{background-position:-456px -118px} -.icon-hdd{background-position:0 -144px} -.icon-bullhorn{background-position:-24px -144px} -.icon-bell{background-position:-48px -144px} -.icon-certificate{background-position:-72px -144px} -.icon-thumbs-up{background-position:-96px -144px} -.icon-thumbs-down{background-position:-120px -144px} -.icon-hand-right{background-position:-144px -144px} -.icon-hand-left{background-position:-168px -144px} -.icon-hand-up{background-position:-192px -144px} -.icon-hand-down{background-position:-216px -144px} -.icon-circle-arrow-right{background-position:-240px -144px} -.icon-circle-arrow-left{background-position:-264px -144px} -.icon-circle-arrow-up{background-position:-288px -144px} -.icon-circle-arrow-down{background-position:-312px -144px} -.icon-globe{background-position:-336px -144px} -.icon-wrench{background-position:-360px -144px} -.icon-tasks{background-position:-384px -144px} -.icon-filter{background-position:-408px -144px} -.icon-briefcase{background-position:-432px -144px} -.icon-fullscreen{background-position:-456px -144px} -/* Bootstrap - Nav */ -.nav{margin-bottom:18px;margin-left:0;list-style:none} -.nav > li > a{display:block} -.nav > li > a:hover{text-decoration:none;background-color:#eeeeee} -.nav > .pull-right{float:right} -.nav .nav-header{display:block;padding:3px 15px;font-weight:bold;line-height:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase} -.nav li + .nav-header{margin-top:9px} -.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0} -.nav-list > li > a, -.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)} -.nav-list > li > a{padding:3px 15px} -.nav-list > .active > a, -.nav-list > .active > a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc} -.nav-list [class^="icon-"]{margin-right:2px} -.nav-list .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff} -.nav-tabs, -.nav-pills{ *zoom:1} -.nav-tabs:before, -.nav-pills:before, -.nav-tabs:after, -.nav-pills:after{display:table;content:""} -.nav-tabs:after, -.nav-pills:after{clear:both} -.nav-tabs > li, -.nav-pills > li{float:left} -.nav-tabs > li > a, -.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px} -.nav-tabs{border-bottom:1px solid #ddd} -.nav-tabs > li{margin-bottom:-1px} -.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:18px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0} -.nav-tabs > li > a:hover{border-color:#eeeeee #eeeeee #dddddd} -.nav-tabs > .active > a, -.nav-tabs > .active > a:hover{color:#555555;cursor:default;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent} -.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} -.nav-pills > .active > a, -.nav-pills > .active > a:hover{color:#ffffff;background-color:#0088cc} -.nav-stacked > li{float:none} -.nav-stacked > li > a{margin-right:0} -.nav-tabs.nav-stacked{border-bottom:0} -.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} -.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0} -.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px} -.nav-tabs.nav-stacked > li > a:hover{z-index:2;border-color:#ddd} -.nav-pills.nav-stacked > li > a{margin-bottom:3px} -.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px} -.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px} -.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px} -.nav-tabs .dropdown-toggle .caret, -.nav-pills .dropdown-toggle .caret{margin-top:6px;border-top-color:#0088cc;border-bottom-color:#0088cc} -.nav-tabs .dropdown-toggle:hover .caret, -.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580} -.nav-tabs .active .dropdown-toggle .caret, -.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;border-bottom-color:#333333} -.nav > .dropdown.active > a:hover{color:#000000;cursor:pointer} -.nav-tabs .open .dropdown-toggle, -.nav-pills .open .dropdown-toggle, -.nav > li.dropdown.open.active > a:hover{color:#ffffff;background-color:#999999;border-color:#999999} -.nav li.dropdown.open .caret, -.nav li.dropdown.open.active .caret, -.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100)} -/* Bootstrap - Miscellaneous */ -.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05)} -.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15)} -.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px} -.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +@charset "utf-8";header,footer,section,article,aside,nav,hgroup,details,menu,figure,figcaption{display:block}.x,.x table,.x input,.x textarea,.x select,.x button{font-size:13px;color:#333}.x button,.x input[type=submit],.x input[type=reset],.x input[type=button]{cursor:pointer;overflow:visible}.x img{border:0}.x p{line-height:1.5}.x .section{margin:1em 0;padding:0;border:0}.x .h2,.x .h3,.x .h4{position:relative;border-style:solid;border-top:0;border-right:0;zoom:1;padding-left:8px}.x .h1{background:#444;border-radius:4px;color:#fff;margin:0 0 1em 0;font-size:16px;padding:0 15px;line-height:36px}.x .h2{border-width:3px;font-size:20px;border-color:#888}.x .h3{border-width:2px;font-size:16px;border-color:#aaa}.x .h4{border-width:1px;font-size:12px;border-color:#ccc}.x .h1 + ul,.x .h2 + ul,.x .h3 + ul,.x .h4 + ul,.x .h1 + .table table,.x .h2 + .table table,.x .h3 + .table table,.x .h4 + .table table{border-top:0 !important;margin-top:-1em !important}.x .portlet{position:relative;border:1px solid #e9e9e9;margin:1em 0;padding:0;background:#fff;zoom:1;overflow:hidden;border-radius:5px}.x .portlet h2,.x .portlet h3{margin:0;padding:.5em 1em;font-size:14px;border:1px solid #fff;border-bottom:1px solid #e9e9e9;background:#f7f7f7;border-radius:5px 5px 0 0}.x .portlet p{margin:1em 1.2em}.x .portlet li{position:relative;padding-right:8em}.x .portlet .lined{margin:1px !important;padding:0;list-style:none}.x .portlet .lined li{padding:.5em 8em .5em 1em;border-top:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.x .portlet .lined li:first-child{border:0}.x .portlet .side{position:absolute;top:0;_top:1px;right:0;color:#666;background:#fff;padding:0 1em}.x .portlet .lined .side{padding:.5em 1em}.x .portlet .more{position:absolute;top:.5em;right:1em;text-decoration:none !important;color:#666}.x .portlet .more span{color:#999}.x .portlet .action{text-align:right;top:0;right:0;padding:.5em 1em .5em 3em;background:#fff;background:-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255,255,255,0)), to(rgba(255,255,255,1)), color-stop(15%, #fff));background:-moz-linear-gradient(left, rgba(255,255,255,0) 0, rgba(255,255,255,1) 15%)}.x .portlet .action a,.x .portlet .action button{margin-left:1em}.x .portlet .btnArea{border-top:1px solid #ddd;margin:0;padding:.5em 1em;margin:0 1px 1px 1px;background:#f7f7f7;border-radius:0 0 5px 5px}.x .table{margin:1em 0}.x .table table{width:100%;border:0;border-collapse:collapse;border-top:2px solid #ccc}.x .table caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0}.x .table caption:after{content:"";display:block;clear:both}.x .table caption a{font-weight:normal}.x .table caption em{float:right;margin-left:1em}.x .table caption strong{color:#e00}.x .table caption .side{float:right;font-weight:normal;margin-left:1em}.x .table th,.x .table td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd}.x .table th{background:#f8f8f8;white-space:nowrap}.x .table thead th{border-bottom:1px solid #999}.x .table tfoot td{font-weight:bold;background:#f8f8f8}.x .table.even tbody tr:nth-of-type(even){background-color:#fafafa}.x .table tbody tr:hover{background:#ffd !important}.x .table td>input[type=text]{margin:-1px 0 !important;vertical-align:middle}.x .table img{vertical-align:middle}.x .table em{font-style:normal;font-weight:normal;color:#e00}.x .table th.nowr,.x .table td.nowr{white-space:nowrap}.x .table th.title,.x .table td.title,.x .table th.text,.x .table td.text{width:100%}.x .form{margin:0 0 1em 0;padding:0}.x .form fieldset{margin:0 0 2em 0;padding:0;border:0}.x .form.search fieldset{border:1px solid #ccc;padding:5px 15px;border-radius:3px}.x .form em{font-style:normal;color:#e00}.x .form label{line-height:1;vertical-align:middle}.x .form input[type=radio]+label,.x .form input[type=checkbox]+label{margin-right:1em}.x .form input[type=checkbox]+label,.x .form input[type=radio]+label,.x .form input[type=file]{cursor:pointer}.x .form ul{position:relative;margin:1em 0;padding:0;list-style:none;border-top:2px solid #ccc;border-bottom:1px solid #ccc;zoom:1}.x .form li{list-style:none;border:1px solid #ddd;border-left:0;border-right:0;margin:-1px 0;padding:8px 0;vertical-align:top;zoom:1}.x .form li:hover{background:#ffd}.x .form li:first-child{border-top:0}.x .form li>label:first-child{display:block;font-weight:bold}.x .form li label em{font-weight:normal}.x .form label.overlap{position:absolute;color:#aaa}.x .form input[type=text],.x .form input[type=password],.x .form input[type=file],.x .form select[size],.x .form textarea{position:relative;width:280px;margin:2px 0;border:1px solid #b7b7b7;border-right-color:#e1e1e1;border-bottom-color:#e1e1e1;background:transparent}.x .form input[type=text],.x .form input[type=password],.x .form input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px}.x .form input[type=text].loading,.x .form input.loading[type=password]{padding-right:24px;width:260px;background:transparent url(../img/preLoader16.gif) no-repeat 265px center}.x .form input[type=checkbox],.x .form input[type=radio]{margin:0;padding:0;width:13px;height:13px;vertical-align:middle}.x .form input[type=text][disabled=disabled],.x .form input[type=password][disabled=disabled],.x .form input[type=radio][disabled=disabled],.x .form input[type=checkbox][disabled=disabled],.x .form select[disabled=disabled],.x .form textarea[disabled=disabled]{background:#ddd;text-shadow:1px 1px 0 #fff}.x .form textarea{padding:3px 4px;vertical-align:top;resize:both}.x .form span.desc,.x .form em.desc{line-height:22px;vertical-align:middle;margin:0 10px}.x .form p.desc{margin:.25em 0;line-height:1.4}.x .form .q{font-weight:bold;margin:0 0 5px 0}.x .form .a{margin:0 0 5px 0}.x .form .tgForm{margin-right:1em}.x .gnb{height:34px;clear:both;border:1px solid #c1c1c1;border-left:0;border-right:0;background-color:#efefef;background:#efefef -webkit-gradient(linear, 0% 0%, 0% 100%, from(#efefef), to(#dcdcdc));background:#efefef -moz-linear-gradient(top, #efefef, #dcdcdc);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#efefef, endColorStr=#dcdcdc);zoom:1}.x .gnb:after{content:"";display:block;clear:both}.x .gnb .nav-gnb{float:left;position:relative;display:inline-block;*display:inline;zoom:1;margin:0 0 0 20px;padding:1px;list-style:none}.x .gnb .nav-gnb ul{_position:absolute;display:block;_display:inline;zoom:1;clear:both;margin:0;padding:0;border:0;overflow:hidden;height:0}.x .gnb.active .nav-gnb{top:-5px;padding:5px 5px 5px 0;margin:0 0 -100% 20px;border:1px solid #aaa;background:#fff;box-shadow:0 0 10px #999;border-radius:5px}.x .gnb.active .nav-gnb ul{top:0;_position:relative;box-shadow:none;display:block;_display:inline;clear:both;padding:0;margin:0;border:0}.x .gnb .nav-gnb:after{content:"";display:block;clear:both}.x .gnb .nav-gnb li{position:relative;display:inline-block;*display:inline;zoom:1;vertical-align:top;overflow:hidden;margin:0}.x .gnb .nav-gnb li.activeOn{z-index:10}.x .gnb .nav-gnb li.activeOn>a{border:1px solid #ccc}.x .gnb .nav-gnb li li{display:block;_float:left;clear:both;overflow:hidden;border:0;margin:0}.x .gnb .nav-gnb li li:first-child{border:0}.x .gnb .nav-gnb li a{display:block;_float:left;font-weight:bold;color:#333;font-size:12px;height:14px;padding:9px 0;white-space:nowrap;text-decoration:none;text-shadow:0 1px 0 #fff;zoom:1}.x .gnb .nav-gnb li a span{padding:0 15px;border-left:1px solid #fff}.x .gnb.active .nav-gnb li a span,.x .gnb .nav-gnb li:first-child a span,.x .gnb .nav-gnb li.activeOn+li a span{border:0;margin:0 0 0 1px}.x .gnb .nav-gnb li a:hover,.x .gnb .nav-gnb li a:active,.x .gnb .nav-gnb li a:focus{background:#f4f4f4}.x .gnb .nav-gnb li.activeOn>a{background:#fff;padding:8px 0}.x .gnb .nav-gnb li li a{color:#555;background:#fff;padding:5px 15px !important;font-weight:normal !important;border:0 !important}.x .gnb .nav-gnb li li a:hover,.x .gnb .nav-gnb li li a:active,.x .gnb .nav-gnb li li a:focus{border:0;background:#eee}.x .gnb .mnv{width:100%;height:32px;display:none}@media all and (max-width:860px){.x .gnb{height:auto}.x .gnb .nav-gnb,.x .sct{display:none}.x .gnb .mnv{display:block}}.x .lnb{position:relative;float:left;width:210px;margin:0 0 1em -230px;line-height:normal;zoom:1;display:inline}.x .lnb .h2{position:relative;z-index:2;margin:0 0 -1px 0;padding:0 10px;border:1px solid #444;border-bottom:0;border-radius:4px 4px 0 0;background:#555;font-size:13px;color:#fff;line-height:36px}.x .lnb ul{margin:0 !important;padding:0;list-style:none;position:relative;z-index:1}.x .lnb li{position:relative;margin:0 0 -1px 0;vertical-align:top;zoom:1}.x .lnb li a{display:block;position:relative;padding:8px 10px;text-decoration:none;color:#666;font-weight:bold;background:#fafafa;border:1px solid #eee;zoom:1}.x .lnb li a .i{position:absolute;top:50%;left:100%;margin:-4px 0 0 -16px;width:8px;height:8px;color:#ccc;background:url(../img/iconNavVr.gif) no-repeat left top}.x .lnb li ul{padding:5px 0;background:#fff}.x .lnb li li{margin:0;border-top:1px dotted #ddd}.x .lnb li li:first-child{border:0}.x .lnb li li a{font-weight:normal;background:#fff;padding:5px 10px;border:0}.x .lnb li li a span{color:#666}.x .lnb li.active{border:1px solid #ccc;z-index:2}.x .lnb li li.active{border:0}.x .lnb li.active a{color:#000;border:0}.x .lnb li.active .i{background-position:0 -44px}.x .lnb li.active li a{border:0}.x .lnb li.active ul{display:block;border-top:1px solid #eee}.x .lnb li.active li.active a span{color:#13b200;font-weight:bold;letter-spacing:-1px}.x .lnb li:last-child a,.x .lnb li.active:last-child{border-radius:0 0 4px 4px !important}.x .sct{float:right;width:138px;position:relative;right:-160px;margin:0 0 0 -140px;padding:8px 0}.x .sct h2{margin:0 0 5px 15px;font-size:13px}.x .sct ul{margin:0;font-size:12px}.x .sct li{position:relative}.x .sct a{text-decoration:none}.x .sct form{position:absolute;margin:0;padding:0;top:2px;right:-10px}.x .sct .text{text-decoration:none;font-weight:bold;color:#999 !important;width:16px;height:16px;margin:0}.x .sct .text:hover,.x .sct .text:active,.x .sct .text:focus{color:#333 !important}.x .cnb{margin:1em 0;position:relative;zoom:1}.x .cnb:after{content:"";display:block;clear:both}.x .cnb ul{list-style:none;margin:0;padding:0}.x .cnb li{display:inline}.x .cnb li:before{content:"| ";color:#ccc}.x .cnb li:first-child:before{content:""}.x .cnb .active,.x .cnb .active a{font-weight:bold;color:#333;text-decoration:none}.x .cnb .side{float:right}.x .pagination{margin:1em 0;text-align:center;line-height:normal}.x .pagination *{vertical-align:middle}.x .pagination a,.x .pagination strong{position:relative;display:inline-block;padding:2px 4px;font-weight:bold;text-decoration:none;line-height:normal;color:#333 !important;vertical-align:middle}.x .pagination a:hover,.x .pagination a:active,.x .pagination a:focus{border:1px solid #ddd;margin:0 -1px}.x .pagination strong{color:#e00 !important;font-size:20px}.x .pagination .direction{font-weight:normal;white-space:nowrap}.x .pagination .direction:hover,.x .pagination .direction:active,.x .pagination .direction:focus{border:0;margin:0;text-decoration:underline}.x .pagination input{width:30px;text-align:center}.x .pagination button{overflow:visible}.x .starRating,.x .starRating span{display:inline-block;height:14px;background:transparent url(../img/iconStarRating.gif) no-repeat;overflow:hidden}.x .starRating{width:79px;vertical-align:top}.x .starRating span{font-size:0;line-height:0;vertical-align:top;text-indent:-100px;*text-indent:0;background-position:0 -14px}.x .prgrs{white-space:nowrap;line-height:normal;vertical-align:middle}.x .prgrs *{vertical-align:middle}.x .prgrs .pBar{position:relative;display:inline-block;background:#e9e9e9;margin:0 5px 0 0}.x .prgrs .pAction{display:inline-block;vertical-align:top;background:#99a6b6}.x .prgrs .pNum{position:absolute;width:100%;left:0;top:0;text-align:center;text-shadow:1px 1px 0 #fff}.x .prgrs.prgrsSmall{font-size:14px;line-height:14px}.x .prgrs.prgrsSmall .pBar,.x .prgrs.prgrsSmall .pAction,.x .prgrs.prgrsSmall .pNum{height:16px;line-height:16px;font-size:11px}.x .prgrs.prgrsMedium{font-size:24px;line-height:24px}.x .prgrs.prgrsMedium .pBar,.x .prgrs.prgrsMedium .pAction,.x .prgrs.prgrsMedium .pNum{height:22px;line-height:22px;font-size:12px}.x .prgrs.prgrsLarge{font-size:38px;line-height:38px}.x .prgrs.prgrsLarge .pBar,.x .prgrs.prgrsLarge .pAction,.x .prgrs.prgrsLarge .pNum{height:34px;line-height:34px;font-size:14px}.modal{position:absolute;top:0;left:0;width:100%;_height:100%;min-height:100%;z-index:99}.modal .bg{position:absolute;background:#000;_background:none;width:100%;height:100%;opacity:.5;z-index:2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);zoom:1}.modal .fg{position:relative;width:80%;margin:5em auto;background:#fff;padding:0 1em;*padding:1em;border:8px solid #ddd;z-index:3;zoom:1;border-radius:5px;box-shadow:0 0 6px #000}.modal ul,.modal ol,.modal .lined,.modal .table{margin-bottom:1em}.modal .ie6{position:absolute;left:0;top:0;width:100%;height:100%;border:0;opacity:0;filter:alpha(opacity=0);z-index:1}.modalClose{position:absolute;right:-8px;top:-8px;border:0;background:#ddd;padding:0;width:28px;height:28px;font-size:14px;font-weight:bold;cursor:pointer;color:#999;border-radius:5px}.modalBlur{position:absolute;top:0;right:0;border:0;background:none;padding:0;width:1px;height:1px;overflow:hidden}html.modalContainer,body.modalContainer{_height:100%;_width:100%}.x .layer,.x.layer{position:absolute;background:#fff;padding:0 1em;*padding:1em;border:8px solid #ddd;z-index:2;zoom:1;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 6px #666;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)}.x .layer h2{font-size:14px}.x .layer ul,.x .layer ol,.x .layer .lined,.x .layer .table{margin-bottom:1em}.x .layerClose{position:absolute;right:-8px;top:-8px;border:0;background:#ddd;padding:0;width:28px;height:28px;font-size:14px;font-weight:bold;cursor:pointer;color:#999;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}.x .layerBlur{position:absolute;top:0;right:0;border:0;background:none;padding:0;width:1px;height:1px;overflow:hidden}.x .h2Anchor{position:absolute;right:0;border:0;background:none;color:#00f;text-decoration:underline}.x .skipNav{margin:0;text-align:center}@media all and (max-width:860px){.x .skipNav{display:none}}.x .skipNav a{position:absolute;width:1px;height:1px;display:block;padding:10px 0;font-weight:bold;overflow:hidden}.x .skipNav a:hover,.x .skipNav a:active,.x .skipNav a:focus{position:relative;width:auto;height:auto}.x .header{position:relative;z-index:2;padding:30px 0 0 0;background:#4c4c4c;box-shadow:0 0 10px #aaa;zoom:1;border-radius:5px 5px 0 0}.x .header:after{content:"";display:block;clear:both}.x .header a{text-decoration:none}.x .header h1{margin:0 0 10px 20px;font-size:24px;line-height:32px;display:inline-block;*display:inline;zoom:1;vertical-align:middle}.x .header h1 *{vertical-align:middle}.x .header h1 a{display:inline-block;color:#fff;text-shadow:1px 1px 0 #000;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1, Color=#000000, Positive=true);zoom:1}.x .header h1 .url{font-size:12px;font-weight:normal}.x .header .site{margin:0 0 10px 20px;display:inline-block;*display:inline;zoom:1}.x .header .site a{color:#fff;text-decoration:underline}.x .header #moveSiteList{padding:10px 1em 5px 1em;margin:0}.x .header #moveSiteList ul{list-style:none;margin:0;padding:0}.x .header #moveSiteList li{white-space:nowrap;margin:0;padding:4px 0;border-bottom:1px dotted #ccc}.x .header #siteMapList{padding:0 1em 1em 1em;margin:0}.x .header #siteMapList li{white-space:nowrap}.x .header .account{position:absolute;z-index:3;width:100%;top:0;right:0;white-space:nowrap;text-align:right;background:#333;border-bottom:1px solid #656565;color:#fff;font-size:12px;border-radius:5px 5px 0 0}.x .header .account ul{margin:0;padding:5px 20px 5px 0;list-style:none}.x .header .account li{position:relative;display:inline;border-left:1px solid #666;padding:0 6px 0 10px}.x .header .account li:first-child{border:0}.x .header .account a{color:#fff;display:inline-block;height:14px}.x .header .account a.language{padding-right:16px;background:url(../img/iconArrow.gif) no-repeat right -160px}.x .header #language{position:absolute;top:19px;right:-20px;padding:6px 4px !important;border:1px solid #666;border-top:0;background:#333}@media all and (max-width:860px){.x .header #language{right:-10px}}.x .header #language li{border:0;display:block;padding:1px 8px 1px 10px;text-align:left;line-height:1}.x .header #language li.selected{background:url(../img/iconCheck.gif) no-repeat left center}.x .header #language li.selected a{text-decoration:underline}.x .header h1 a:hover,.x .header h1 a:active,.x .header h1 a:focus,.x .header .account a:hover,.x .header .account a:active,.x .header .account a:focus{color:#6e9cf2;text-decoration:underline}.x .footer{border-top:1px solid #ddd;text-align:center;font-size:12px;padding:1.5em 0;zoom:1}.x .footer *{font-size:12px}.x .footer:after{content:"";display:block;clear:both}.x .footer p{margin:0}.x .footer .power{float:left}.x .footer .cache{float:right}.x .footer .vr{color:#ccc}.x .body{position:relative;z-index:1;padding:30px 170px 30px 240px;zoom:1}.x .body:after{content:"";display:block;clear:both}.x .content{float:right;width:100%;margin-left:-100%;zoom:1;outline:0}.x .content:after{content:"";display:block;clear:both}.x .content a{color:#33a}.x .content a:hover,.x .content a:active,.x .content a:focus{color:#a33}.x .content .portlet a{text-decoration:none}.x .content .portlet a:hover,.x .content .portlet a:active,.x .content .portlet a:focus{text-decoration:underline}.x .dashboard .section{margin-top:0}.x .dashboard .portlet{float:left;width:48%;margin-right:1em;margin-top:0}.x .dashboard .portlet:nth-of-type(odd){float:left;width:49%;margin-right:0}.x .dashboard .portlet:nth-of-type(even){float:right;width:49%;margin-right:0}@media all and (min-width:1300px){.x .dashboard .portlet{float:left !important;width:32% !important;margin-right:1em !important}}.x .single{padding-left:10px}.x .single .content{position:relative;float:left;width:100%;margin:0}.x .search{zoom:1}.x .search:after{content:"";display:block;clear:both}.x .search .pagination{float:left;text-align:left}.x .search form{float:right;margin:1em 0}.x .search form *{vertical-align:middle}.x .siteMap h2 input{font-size:14px;font-weight:bold;padding:3px 4px;margin:0;border:0;background:transparent}.x .siteMap h2:hover input,.x .siteMap h2 input:focus{background:#ff0;border:1px dashed #ccc;margin:-1px}.x .siteMap label{cursor:text}.x .siteMap .lined ul{padding:0;margin:0;border-top:1px solid #eee;zoom:1}.x .siteMap .lined li{position:relative;padding:0;margin:0;cursor:all-scroll;list-style:none;zoom:1}.x .siteMap .lined li li{border-top:1px solid #eee}.x .siteMap li li{text-indent:18px}.x .siteMap li li li{text-indent:36px}.x .siteMap li li li li{text-indent:54px}.x .siteMap li li li li li{text-indent:72px}.x .siteMap li li li li li li{text-indent:90px}.x .siteMap li li li li li li li{text-indent:108px}.x .siteMap li li li li li li li li{text-indent:126px}.x .siteMap li li li li li li li li li{text-indent:144px}.x .siteMap li li li li li li li li li li{text-indent:162px}.x .siteMap li li li li li li li li li li li{text-indent:180px}.x .siteMap li li li li li li li li li li li li{text-indent:198px}.x .siteMap li *{vertical-align:middle}.x .siteMap li .moveTo+input{width:200px;border:0;padding:0 .5em}.x .siteMap li .moveTo+input:hover,.x .siteMap li .moveTo+input:active,.x .siteMap li .moveTo+input:focus{border:1px dotted #ccc;overflow:visible}.x .siteMap .moveTo{position:relative;z-index:2;width:22px;height:32px;padding:32px 0 0 0;margin:0 3px;_margin-top:-1px;overflow:hidden;background:#fff url(../img/iconMoveTo.gif) no-repeat center 0;border:0;cursor:move}.x .siteMap li.active,.x .siteMap li.active .moveTo{background-color:#f7f7f7}.x .siteMap li.active li,.x .siteMap li.active ul{border-top-color:#f7f7f7}.x .siteMap li.active .moveTo{background-position:center -32px}.x .siteMap .vr,.x .siteMap .hr{display:none;position:absolute;z-index:1;left:14px;border:0px solid #ccc;overflow:hidden}.x .siteMap .vr{top:-16px;height:100%;border-left-width:1px}.x .siteMap .hr{top:16px;width:16px;border-top-width:1px}.x .siteMap li.active .vr,.x .siteMap li.active li .hr{display:block}.x .siteMap li li .vr,.x .siteMap li li li .hr{left:32px}.x .siteMap li li li .vr,.x .siteMap li li li li .hr{left:50px}.x .siteMap li li li li .vr,.x .siteMap li li li li li .hr{left:68px}.x .siteMap li li li li li .vr,.x .siteMap li li li li li li .hr{left:86px}.x .siteMap li li li li li li .vr,.x .siteMap li li li li li li li .hr{left:104px}.x .siteMap li li li li li li li .vr,.x .siteMap li li li li li li li li .hr{left:122px}.x .siteMap li li li li li li li li .vr,.x .siteMap li li li li li li li li li .hr{left:140px}.x .siteMap li li li li li li li li li .vr,.x .siteMap li li li li li li li li li li .hr{left:158px}.x .siteMap li li li li li li li li li li .vr,.x .siteMap li li li li li li li li li li li .hr{left:176px}.x .siteMap li li li li li li li li li li li .vr,.x .siteMap li li li li li li li li li li li li .hr{left:336px}.x .siteMap .side{padding-top:0 !important;padding-bottom:0 !important;line-height:30px;background:transparent !important}.x .siteMap .side button{text-indent:0;line-height:1}.x .siteMap .tgMap{position:absolute;top:12px;right:1em;padding:0 16px 0 0;line-height:16px;background:url(../img/iconArrow.gif) no-repeat right -126px}.x .siteMap.fold .tgMap{background-position:right -158px}.x .siteMap.fold .h2{border-bottom-color:#fff;border-radius:5px}.x .siteMap .placeholder{background:#bbb}.x .siteMap .draggable,.x .siteMap .draggable .moveTo{background-color:#ddd}.x .siteMap .draggable .summary{border-left:1px solid #ccc;padding-left:10px;margin-left:10px;font-size:11px;color:#999}.x .siteMap a.ms{text-decoration:underline}.x .langEdit{background:#fff;position:absolute;*left:0;*margin-top:28px;z-index:10}.x .langEdit ul{border-top:1px solid #ccc;border-left:1px solid #eee;border-right:1px solid #eee;margin:0}.x .langEdit li{padding:.5em 10px}.x .langEdit input[type=text]{width:220px;padding-right:40px}.x .langEdit label{left:15px !important}.x .langEdit .action{border:1px solid #eee;width:268px;padding:0 10px}.x .langEdit p,.x .langEdit .btnArea{white-space:normal}.x .langEdit .langList,.x .langEdit .langEditControls{box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)}.x .langEdit .langList{margin:0 -1px 0 0;display:none}.x .langEdit .langList li{white-space:nowrap;color:#ccc;width:270px}.x .langEdit .langList li span{display:inline-block;width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#767676}.x .langEdit .langList li a{display:inline-block;width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x .langEdit .langList li.active{background:url(../img/iconArrow.gif) no-repeat right -188px}.x .langEdit.showChild .langList{display:block}.x .langEdit .langInput{background:#fff}.x .langEdit .langInput h2{padding:5px 10px;margin:0 0 -1px 0;font-size:12px;font-weight:normal;color:#666;border:1px solid #eee;border-top-color:#ccc}.x .langEdit .langInput h2 strong{color:#000;font-size:14px}.x .langEdit.showChild .langInput{position:absolute;left:285px;top:0}.x .langEdit li.en input,.x .langEdit li.en textarea,.x .mLangEdit li.en textarea{background:url(../img/flag.us.gif) no-repeat 99% 5px}.x .langEdit li.ko input,.x .langEdit li.ko textarea,.x .mLangEdit li.ko textarea{background:url(../img/flag.kr.gif) no-repeat 99% 5px}.x .langEdit li.jp input,.x .langEdit li.jp textarea,.x .mLangEdit li.jp textarea{background:url(../img/flag.jp.gif) no-repeat 99% 5px}.x .langEdit li.fr input,.x .langEdit li.fr textarea,.x .mLangEdit li.fr textarea{background:url(../img/flag.fr.gif) no-repeat 99% 5px}.x .langEdit li.de input,.x .langEdit li.de textarea,.x .mLangEdit li.de textarea{background:url(../img/flag.de.gif) no-repeat 99% 5px}.x .langEdit li.ru input,.x .langEdit li.ru textarea,.x .mLangEdit li.ru textarea{background:url(../img/flag.ru.gif) no-repeat 99% 5px}.x .langEdit li.es input,.x .langEdit li.es textarea,.x .mLangEdit li.es textarea{background:url(../img/flag.es.gif) no-repeat 99% 5px}.x .langEdit li.tr input,.x .langEdit li.tr textarea,.x .mLangEdit li.tr textarea{background:url(../img/flag.tr.gif) no-repeat 99% 5px}.x .langEdit li.vi input,.x .langEdit li.vi textarea,.x .mLangEdit li.vi textarea{background:url(../img/flag.vn.gif) no-repeat 99% 5px}.x .langEdit li.mn input,.x .langEdit li.mn textarea,.x .mLangEdit li.mn textarea{background:url(../img/flag.mn.gif) no-repeat 99% 5px}.x .langEdit li.zh-CN input,.x .langEdit li.zh-CN textarea,.x .mLangEdit li.zh-CN textarea{background:url(../img/flag.cn.gif) no-repeat 99% 5px}.x .langEdit li.zh-TW input,.x .langEdit li.zh-TW textarea,.x .mLangEdit li.zh-TW textarea{background:url(../img/flag.tw.gif) no-repeat 99% 5px}.x .mLangEdit.en strong{background:url(../img/flag.us.gif) no-repeat 0 10px}.x .mLangEdit.ko strong{background:url(../img/flag.kr.gif) no-repeat 0 10px}.x .mLangEdit.jp strong{background:url(../img/flag.jp.gif) no-repeat 0 10px}.x .mLangEdit.fr strong{background:url(../img/flag.fr.gif) no-repeat 0 10px}.x .mLangEdit.de strong{background:url(../img/flag.de.gif) no-repeat 0 10px}.x .mLangEdit.ru strong{background:url(../img/flag.ru.gif) no-repeat 0 10px}.x .mLangEdit.es strong{background:url(../img/flag.es.gif) no-repeat 0 10px}.x .mLangEdit.tr strong{background:url(../img/flag.tr.gif) no-repeat 0 10px}.x .mLangEdit.vi strong{background:url(../img/flag.vn.gif) no-repeat 0 10px}.x .mLangEdit.mn strong{background:url(../img/flag.mn.gif) no-repeat 0 10px}.x .mLangEdit.zh-CN strong{background:url(../img/flag.cn.gif) no-repeat 0 10px}.x .mLangEdit.zh-TW strong{background:url(../img/flag.tw.gif) no-repeat 0 10px}.x .mLangEdit ul ul{border:0}.x .mLangEdit li{position:relative;padding:0}.x .mLangEdit li strong{display:inline-block;padding:6px 100px 8px 24px;font-weight:normal;line-height:1.5}.x .mLangEdit li .side{position:absolute;top:8px;right:0;padding-right:18px;background:url(../img/iconArrow.gif) no-repeat right -160px}.x .mLangEdit li li{border:0;padding-right:36px}.x .mLangEdit li textarea{width:100%;height:16px;padding-right:30px;resize:vertical;line-height:1.4}.x .mLangEdit li label{top:8px !important}.x .mLangEdit li.active{background:#FFFDEF}.x .mLangEdit li.active strong{font-weight:bold}.x .mLangEdit li.active .side{background-position:right -128px}.modal .mLangEdit ul{padding-bottom:1em}.modal .mLangEdit li{border:0;padding-right:36px}.x .suggestion{display:none;position:absolute;background:#fff;z-index:10;_height:200px;max-height:200px;overflow:auto;*left:0;*margin-top:28px;box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)}.x .suggestion ul{border-top:1px solid #ccc;border-left:1px solid #eee;border-right:1px solid #eee;margin:0}.x .suggestion li{padding:0}.x .suggestion li:last-child{border-bottom:0}.x .suggestion li button{border:0;background:#fff;text-align:left;width:288px;padding:2px 4px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x .suggestion li button:hover,.x .suggestion li button:active,.x .suggestion li button:focus,.x .suggestion li button.active{background:#eee}.x #imageMark{right:0}.x .easyNav{position:relative;border:1px solid #e9e9e9;zoom:1}.x .easyNav:after{content:"";display:block;clear:both}.x .easyNav h2{font-size:16px}.x .easyNav .category{width:30%;float:left;margin:0 2em;display:inline}.x .easyNav .filter{position:absolute;top:0;right:0;margin:1em 2em;text-align:right}.x .easyList caption .side .text .hide,.x .easyList caption .side .details .show{display:none}.x .easyList caption .side .details .hide{display:inline}.x .easyList td p:first-child{margin:0}.x .easyList td p.update{background:#ffc;padding:.5em 1em;border:1px solid #fc9;border-left:0;border-right:0;text-align:center}.x .fontPreview{width:96%;border:1px solid #e9e9e9;zoom:1;padding:1em 2em;margin:.5em 0}.x #ftpSuggestion{background:#fff;box-shadow:3px 3px 6px #999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135, strength=5)}.x #ftpSuggestion ul{border-left:1px solid #eee;border-right:1px solid #eee}.x #ftpSuggestion li{padding:0}.x #ftpSuggestion li button{border:0;background:#fff;text-align:left;width:288px}.x #ftpSuggestion li button:hover,.x #ftpSuggestion li button:active,.x #ftpSuggestion li button:focus{background:#eee}.x .thumbPreview li{position:relative;padding-left:10px;padding-right:10px}.x .thumbPreview li.active.highlight{background:#f9f9f9}.x .thumbPreview .prevToggle{position:absolute;top:8px;right:10px;line-height:16px;padding:0 18px 0 0;text-decoration:none;background:url(../img/iconArrow.gif) no-repeat right -32px}.x .thumbPreview li.active .prevToggle{background-position:right 0}.x .thumbPreview .a{border:0;margin:0;zoom:1}.x .thumbPreview .a:after{content:"";display:block;clear:both}.x .thumbPreview .i{float:left;vertical-align:top;margin:0 1em 1em 0;padding:0;border:0;zoom:1}.x .thumbPreview .i:after{content:"";display:block;clear:both}.x .thumbPreview .i .thumb{position:relative;width:124px;height:84px;padding:0;margin-bottom:3px;text-align:center;overflow:hidden;border:1px solid #ddd;display:block;cursor:pointer;background:#fff}.x .thumbPreview .i .thumb .frame{position:absolute;width:120px;height:80px;left:0;top:0;border:2px solid #fff;overflow:hidden}.x .thumbPreview .i .thumb img{width:120px;margin:0}.x .thumbPreview .i label{display:block;position:relative;top:0;left:2px;width:122px;height:1.1em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x .thumbPreview .i input{display:none}.x .thumbPreview .i ul{display:none}.x .thumbPreview .selected .i{display:block;float:none}.x .thumbPreview .selected .i .thumb{float:left;width:186px;height:126px;margin:0 1em 0 0;border:2px solid #eee}.x .thumbPreview .selected .i .thumb .frame{width:180px;height:120px;border-width:3px}.x .thumbPreview li.active.highlight .selected .i .thumb{border-color:#5ea8f6}.x .thumbPreview .selected .i .thumb img{width:180px;position:relative}.x .thumbPreview li.active .selected .i .thumb img{z-index:auto}.x .thumbPreview .selected .i label{cursor:text}.x .thumbPreview .selected .i ul{display:block;list-style:none;border:0;margin:1em 0 1em 200px}.x .thumbPreview .selected .i li{border:0;padding:0;margin:0 0 .2em 0}.x .thumbPreview.jx .i label{display:inline;width:auto}.x .thumbPreview.jx .i.noDirection{display:none}.x .thumbPreview.jx .i input{display:inline}.x #skin .showAll{float:right;border:0;overflow:visible;padding:0 18px 0 0;cursor:pointer;color:#00f;background:url(../img/iconArrow.gif) no-repeat right -32px}.x #skin .showAll.hideAll{background-position:right 0}.x .fvOff,.x .fvOn{display:inline-block;width:16px;height:16px;overflow:hidden;text-indent:16px;background:transparent url(../img/iconFavorite.gif) no-repeat;border:0}.x .fvOn{background-position:0 -16px}.x .uDrag .wrap{position:relative;padding-left:20px}.x .uDrag li>.wrap{margin:0 0 0 8px}.x .uDrag .dragActive{background:#FFD}.x .uDrag .dragActive th,.x .uDrag .dragActive td{background:none !important}.x .uDrag .dragBtn{position:absolute;width:8px;height:100%;padding:0;overflow:hidden;background:url(../img/bgDragable.gif);top:1px;left:0;text-indent:12px;border:0;cursor:n-resize;white-space:nowrap}.x .faviconPreview{position:relative;padding:60px 0 0 200px;background:url(../img/bgFavicon.gif) no-repeat}.x .faviconPreview img{position:absolute}.x .faviconPreview .fn1{top:30px;left:12px}.x .faviconPreview .fn2{top:55px;left:68px}.x .mobiconPreview{position:relative;padding:252px 0 0 200px;background:url(../img/bgMobileTop.png) no-repeat}.x .mobiconPreview img{position:absolute;top:20px;left:10px}.x .mobiconPreview span{position:absolute;width:32px;text-align:center;top:52px;left:10px;color:#fff;font-size:9px}.x .textList{border:1px solid #ddd !important;line-height:1.5em;height:18.5em;overflow:auto}.x .textList li{border:0;padding:.25em 1em;height:1.5em;white-space:nowrap;overflow:hidden}.x .textList li:nth-child(even){background:#eee}.x .textList li a{float:right}.x .fileBox li{position:relative}.x .fileBox li img{max-width:100%}.x .fileBox .portlet ul{margin:1em;list-style:none;padding:0;border:0}.x .fileBox .portlet li{border-top:1px solid #ddd;border-bottom:0;padding:8px 0}.x .fileBox .side{position:absolute;top:8px;right:0}.x .desc.error{color:#f00}.x .desc.success{color:#080}.x a.iSetting{display:inline-block;width:16px;height:0;padding:16px 0 0 0;overflow:hidden;vertical-align:middle;background:url(../img/iconSetting.gif) no-repeat}.x a.cMenu{display:inline-block;width:16px;height:0;padding:16px 0 0 0;overflow:hidden;vertical-align:middle;background:url(../../../../common/img/icon.bubble.png) no-repeat}.x .sTog{float:right;border:0;background-color:transparent;width:28px;height:18px;opacity:.5;filter:alpha(opacity=50)}@media all and (max-width:860px){.x .header .account ul{padding-right:10px}.x .body{padding:1em 0 0 0}.x .content{float:none;margin-left:0}.x .lnb{float:none;width:auto;margin:1em 0}.x .dashboard .portlet{float:none !important;width:auto !important;margin-right:0}.modal .fg,.wfsr .fg{width:auto}.x .easyNav .category{float:none;display:block;width:auto}.x .easyNav .filter{position:static}}.x h3.xeAdmin,.x h4.xeAdmin{position:relative;border-bottom-style:solid;border-bottom-color:#ccc;zoom:1}.x h3.xeAdmin{border-bottom-width:4px;font-size:24px}.x h4.xeAdmin{border-bottom-width:3px;font-size:20px}.x h5.xeAdmin{border-bottom-width:2px;font-size:16px}.x h6.xeAdmin{border-bottom-width:1px;font-size:12px}.x .adminSearch{margin:1em 0}.x .adminSearch fieldset{border:1px solid #ccc;margin:0;padding:.5em 1em}.x .localNavigation{padding:0;list-style:none}.x .localNavigation li{display:inline}.x .localNavigation li.on a{font-weight:bold;color:#333;text-decoration:none}.x .localNavigation li:before{content:"| "}.x .localNavigation li:first-child:before{content:""}.x .summary{margin:1em 0}.x .rowTable,.x .colTable,.x .crossTable{margin:1em 0;border:0;border-collapse:collapse;border-top:2px solid #ccc;width:100%}.x .rowTable caption,.x .colTable caption,.x .crossTable caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0}.x .rowTable caption:after,.x .colTable caption:after,.x .crossTable caption:after{content:"";display:block;clear:both}.x .rowTable caption a,.x .colTable caption a,.x .crossTable caption a{font-weight:normal}.x .rowTable caption em,.x .colTable caption em,.x .crossTable caption em{float:right;font-style:normal;font-weight:normal;color:#e00;margin-left:1em}.x .rowTable caption strong,.x .colTable caption strong,.x .crossTable caption strong{color:#e00}.x .rowTable caption .side,.x .colTable caption .side,.x .crossTable caption .side{float:right;font-weight:normal;margin-left:1em}.x .rowTable th,.x .rowTable td,.x .colTable th,.x .rowTable td,.x .crossTable th,.x .rowTable td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd}.x .rowTable th,.x .colTable th,.x .crossTable th{background:#f8f8f8;white-space:nowrap}.x .rowTable thead th,.x .colTable thead th,.x .crossTable thead th{border-bottom:1px solid #999}.x .rowTable tfoot td,.x .colTable tfoot td,.x .crossTable tfoot td{font-weight:bold;background:#f8f8f8}.x .rowTable.even tbody tr:nth-of-type(even) td,.x .colTable.even tbody tr:nth-of-type(even) td,.x .crossTable.even tbody tr:nth-of-type(even) td{background-color:#fafafa}.x .rowTable td>input[type=text],.x .colTable td>input[type=text],.x .crossTable td>input[type=text]{margin:-1px 0 -3px 0 !important;vertical-align:middle}.x .rowTable img,.x .colTable img,.x .crossTable img{vertical-align:middle}.x .rowTable .title,.x .colTable .title,.x .crossTable .title,.x .rowTable .text,.x .colTable .text,.x .crossTable .text{white-space:normal}.x .rowTable input[type=text],.x .colTable input[type=text],.x .crossTable input[type=text],.x .rowTable input[type=password],.x .colTable input[type=password],.x .crossTable input[type=password],.x .rowTable input[type=file],.x .colTable input[type=file],.x .crossTable input[type=file],.x .rowTable textarea,.x .colTable textarea,.x .crossTable textarea{position:relative;width:280px;margin:2px 0;border:1px solid #b7b7b7;border-right-color:#e1e1e1;border-bottom-color:#e1e1e1;background:transparent}.x .rowTable input[type=text],.x .colTable input[type=text],.x .crossTable input[type=text],.x .rowTable input[type=password],.x .colTable input[type=password],.x .crossTable input[type=password],.x .rowTable input[type=file],.x .colTable input[type=file],.x .crossTable input[type=file]{height:22px;line-height:22px;vertical-align:middle;padding:0 4px}.x .clear:after{content:"";display:block;clear:both}.x .moduleSearchWindow{position:absolute;width:700px;z-index:100}.x .moduleSearchWindow,.moduleSearchWindow div{margin:0;padding:0;color:#2d2c2d;font-size:12px}.x .moduleSearchWindow h2{margin:0;padding:4px;height:24px;line-height:24px;background:#666;text-align:left;color:#fff;font-size:12px}.x .moduleSearchWindow .sectionDiv{position:relative;margin:0px;background:#fff;border:1px solid}.x .moduleSearchWindow .siteList{float:left;width:295px}.x .moduleSearchWindow .highlight{background:yellow;color:red;font-style:italic}.x .moduleSearchWindow .moduleTypeList{margin-left:5px;float:left;width:200px}.x .moduleSearchWindow .moduleInstanceList{float:right;width:190px}.x .moduleSearchWindow ul{margin:0;padding:0;border:0}.x .moduleSearchWindow li{font-size:12px;border:0;border-bottom:1px solid #ccc;margin:0;padding:4px 4px;font-family:나눔고딕,NanumGothic,"맑은 고딕","Malgun Gothic",AppleGothic,돋움,Dotum,굴림,Gulim,sans-serif}.x .moduleSearchWindow li:hover,.moduleSearchWindow li.on{background:#eee;cursor:pointer}.x .moduleSearchWindow li div{margin:0;padding:0;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x .moduleSearchWindow .siteList li div{width:270px}.x .moduleSearchWindow .siteListSearchBox{margin:0;padding:4px 0;height:24px;border-bottom:1px solid #888}.x .moduleSearchWindow .siteListSearchBoxBorder{margin-left:3px;height:22px;width:287px;border:1px solid #ccc}.x .moduleSearchWindow input.siteListSearchInput{margin:0;padding:0;position:relative;float:right;width:260px;margin-right:4px;border:0}.x .moduleSearchWindow .siteListSearchBox .searchImg{position:relative;float:left;margin-top:4px;margin-left:4px}.x .moduleSearchWindow .moduleTypeList li div{width:170px}.x .moduleSearchWindow .moduleInstanceList li div{width:190px}.x .moduleSearchWindow .moduleSearch_ok{float:right}.x .moduleSearchWindow select.moduleInstanceListSelect{width:100%}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0}.icon-white{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.nav{margin-bottom:18px;margin-left:0;list-style:none}.nav > li > a{display:block}.nav > li > a:hover{text-decoration:none;background-color:#eeeeee}.nav > .pull-right{float:right}.nav .nav-header{display:block;padding:3px 15px;font-weight:bold;line-height:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:18px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover{color:#555555;cursor:default;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover{color:#ffffff;background-color:#0088cc}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.nav-tabs.nav-stacked > li > a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{margin-top:6px;border-top-color:#0088cc;border-bottom-color:#0088cc}.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;border-bottom-color:#333333}.nav > .dropdown.active > a:hover{color:#000000;cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > li.dropdown.open.active > a:hover{color:#ffffff;background-color:#999999;border-color:#999999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100)}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} \ No newline at end of file diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index 64d2e1d8b..1b21c494b 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -568,7 +568,7 @@ _xeModuleSearch = function(){ var $siteList = $siteListDiv.find('UL'); var $moduleTypeList = $moduleTypeListDiv.find('UL'); - var $moduleInstanceList = $moduleInstanceListDiv.find('UL'); + var $moduleInstanceList = $moduleInstanceListDiv.find('SELECT'); var $siteListSearchInput = $moduleSearchWindow.find('INPUT.siteListSearchInput'); var aSiteListData; @@ -707,12 +707,9 @@ _xeModuleSearch = function(){ for(var x in list) { if(!list.hasOwnProperty(x)) continue; - - $li = $('
          • ').appendTo($moduleInstanceList); - $('').attr('href', '#').html( - '
            '+list[x].browser_title+'
            ' - ).data('module_srl', list[x].module_srl).appendTo($li); - + + $li = $('
          • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var h,g,f,k,n,j,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); -k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;h=e.pageY;j=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, -left:j.left,top:j.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=j.top-(h-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +a("
          • ").appendTo(h);a("").attr("href","#").html("
            "+ +e+'
            ').data("site_srl",g[i].site_srl).appendTo($li)}d(h,x-l.parent("DIV").height())}var e=this,j=a(this),g=j.find(".moduleSearchWindow"),f=g.find(".siteList"),k=g.find(".moduleTypeList"),n=g.find(".moduleInstanceList"),h=f.find("UL"),o=k.find("UL"),m=n.find("SELECT"),l=g.find("INPUT.siteListSearchInput"),q,x=280;l.keyup(function(){b(l.val())});"undefined"==typeof console&&(console={log:function(){}}); +j.not(".xe-module-search").addClass("xe-module-search").find("a.tgAnchor.moduleSearch").bind("before-open.tc",function(){var e;e=a(this);h.empty();m.empty();k.hide();n.hide();a.exec_json("admin.getSiteAllList",{domain:""},function(d){var h=d.site_list;d.error||!a.isArray(h)?e.trigger("close.tc"):(q=h,b(l.val()),l.focus())})}).end().find(".tgContent .siteListUL").delegate("a","click",function(b){var e;e=a(this);e.closest(".modulefinder");o.empty();n.hide();a.exec_json("module.procModuleAdminGetList", +{site_srl:e.data("site_srl")},function(b){var f=b.module_list,l;if(!b.error&&f){for(l in f)f.hasOwnProperty(l)&&($li=a("
          • ").appendTo(o),a("").attr("href","#").html("
            "+f[l].title+'
            ').data("moduleInstanceList",f[l].list).appendTo($li));g.find(".moduleTypeList").show();d(o,x);h.find("li").removeClass("on");e.parent("li").addClass("on")}});b.preventDefault()}).end().find(".moduleTypeListUL").delegate("a", +"click",function(b){var f,h;f=a(this);if(h=f.data("moduleInstanceList")){e.sSelectedModuleType=f.text();m.empty();for(var l in h)h.hasOwnProperty(l)&&($li=a("
          • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var j,g,f,k,n,h,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); +k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;j=e.pageY;h=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, +left:h.left,top:h.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:h.left,top:h.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=h.top-(j-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); -jQuery(function(a){var d=null,b=null,e=0,h=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var j=d.results,g,m;if(!d.error&&j&&e==b+1){f.removeClass("loading");l.empty();g=0;for(m=j.length;g').data("langkey", -j[g].name).text(j[g].value),a("
          • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), -!1;e=b.find("button.active");if(13==f)return e.click(),!1;if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container",f);b.data("mle-langkey")|| -b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(h);h=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this);e=a(b.attr("href")).insertBefore(b); -d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},h=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor",!0).bind("multilang-reset",function(){f.data("multilang-current-name", -"").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;h()}).find("h2 a").click(function(){p=!p;h();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name",j);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&& -e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;h();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ +jQuery(function(a){var d=null,b=null,e=0,j=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var h=d.results,g,m;f.removeClass("loading");if(!d.error&&h&&!(0===h.length||e!=b+1)){l.empty();g=0;for(m=h.length;g').data("langkey", +h[g].name).text(h[g].value),a("
          • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), +!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container", +f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(j);j=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},j=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;j()}).find("h2 a").click(function(){p=!p;j();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,h;d=f.data("multilang-list");h=b.data("multilang-name");if(d&&d[h]){d=d[h];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +h);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;j();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);g=!0;k.trigger("hide"); b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
              ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(g){e.html(g.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", -function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(h).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(h).find(".modalClose").offset().top);return!1})}var b,e,h;b=a(this);h=b.attr("href");e=a(h).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); +function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1})}var b,e,j;b=a(this);j=b.attr("href");e=a(j).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
              ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminInstall",d,completeInstallModule);showWaitingFogLayer()} function doUpdateModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminUpdate",d,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var d=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var b=a(".x .dsTg td.tg>p:not(:first-child)");d.click(function(){d.toggleClass("details");b.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= diff --git a/modules/widget/tpl/js/mid.js b/modules/widget/tpl/js/mid.js index c34df454d..5c3de6d16 100644 --- a/modules/widget/tpl/js/mid.js +++ b/modules/widget/tpl/js/mid.js @@ -13,7 +13,7 @@ xe.MidManager = xe.createApp("MidManager", { return false; }); - $keyObj.siblings('button.delete').bind('click', function(){ + $keyObj.parent().find('button.delete,a.delete').bind('click', function(){ $keyObj.val('').next().val(''); return false; }); @@ -24,6 +24,13 @@ xe.MidManager = xe.createApp("MidManager", { $finder.slideUp(100); return false; }); + + jQuery(function($){ + $('.moduleSearch').bind('moduleSelect', function(e, aSelected){ + self.cast('MID_SYNC_NEW', aSelected); + }); + }); + }, API_MID_SYNC: function(){ @@ -43,6 +50,27 @@ xe.MidManager = xe.createApp("MidManager", { self.$keyObj.next().val(data.module_list[0].browser_title+' ('+data.module_list[0].mid+', '+data.module_list[0].module_name+')'); } + $.exec_json('module.getModuleAdminModuleList', {'module_srls': module_srl}, on_complete); + }, + + API_MID_SYNC_NEW: function(htBase, aParam){ + var self = this; + + htSelected = aParam[0]; + + var module_srl = htSelected.module_srl; + if (!module_srl) return; + + function on_complete(data){ + if (data.error){ + alert(data.message); + return; + } + + self.$keyObj.val(data.module_list[0].module_srl); + self.$keyObj.next().val(data.module_list[0].browser_title+' ('+data.module_list[0].mid+', '+data.module_list[0].module_name+')'); + } + $.exec_json('module.getModuleAdminModuleList', {'module_srls': module_srl}, on_complete); } }); diff --git a/modules/widget/tpl/widget_generate_code.include.html b/modules/widget/tpl/widget_generate_code.include.html index 3781a7a73..d3a827980 100644 --- a/modules/widget/tpl/widget_generate_code.include.html +++ b/modules/widget/tpl/widget_generate_code.include.html @@ -118,8 +118,15 @@ + + {@$use_filebox = true} From d95707a358c0aed912ec8bdf7319266cdcaff5a5 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 10:18:36 +0000 Subject: [PATCH 34/94] issue 2351, fixed a bug that update core by easyinstall is failed. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11197 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- libs/tar.class.php | 90 ++++++++++++++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/libs/tar.class.php b/libs/tar.class.php index 66294278d..d1fc9e428 100644 --- a/libs/tar.class.php +++ b/libs/tar.class.php @@ -109,6 +109,7 @@ class tar { // Read Files from archive $tar_length = strlen($this->tar_file); $main_offset = 0; + $flag_longlink = false; while($main_offset < $tar_length) { // If we read a block of 512 nulls, we are at the end of the archive if(substr($this->tar_file,$main_offset,512) == str_repeat(chr(0),512)) @@ -141,6 +142,8 @@ class tar { // Parse Group name $file_gname = $this->__parseNullPaddedString(substr($this->tar_file,$main_offset + 297,32)); + $file_type = substr($this->tar_file,$main_offset + 156,1); + // Make sure our file is valid if($this->__computeUnsignedChecksum(substr($this->tar_file,$main_offset,512)) != $file_chksum) return false; @@ -159,42 +162,67 @@ class tar { $activeFile["endheader"] = substr($this->tar_file,$main_offset + 500,12); */ - if($file_size > 0) { - // Increment number of files - $this->numFiles++; + elseif(strtolower($file_type) == 'l' || $file_name == '././@LongLink') + { + $flag_longlink = true; + $longlink_name = $file_contents; + } + elseif($file_type == '0') { + // Increment number of files + $this->numFiles++; - // Create us a new file in our array - $activeFile = &$this->files[]; + // Create us a new file in our array + $activeFile = &$this->files[]; - // Asign Values - $activeFile["name"] = $file_name; - $activeFile["mode"] = $file_mode; - $activeFile["size"] = $file_size; - $activeFile["time"] = $file_time; - $activeFile["user_id"] = $file_uid; - $activeFile["group_id"] = $file_gid; - $activeFile["user_name"] = $file_uname; - $activeFile["group_name"] = $file_gname; - $activeFile["checksum"] = $file_chksum; - $activeFile["file"] = $file_contents; + // Asign Values + if($flag_longlink) + { + $activeFile["name"] = $longlink_name; + } + else + { + $activeFile["name"] = $file_name; + } + $activeFile["type"] = $file_type; + $activeFile["mode"] = $file_mode; + $activeFile["size"] = $file_size; + $activeFile["time"] = $file_time; + $activeFile["user_id"] = $file_uid; + $activeFile["group_id"] = $file_gid; + $activeFile["user_name"] = $file_uname; + $activeFile["group_name"] = $file_gname; + $activeFile["checksum"] = $file_chksum; + $activeFile["file"] = $file_contents; - } else { - // Increment number of directories - $this->numDirectories++; + $flag_longlink = false; - // Create a new directory in our array - $activeDir = &$this->directories[]; + } elseif($file_type == '5') { + // Increment number of directories + $this->numDirectories++; - // Assign values - $activeDir["name"] = $file_name; - $activeDir["mode"] = $file_mode; - $activeDir["time"] = $file_time; - $activeDir["user_id"] = $file_uid; - $activeDir["group_id"] = $file_gid; - $activeDir["user_name"] = $file_uname; - $activeDir["group_name"] = $file_gname; - $activeDir["checksum"] = $file_chksum; - } + // Create a new directory in our array + $activeDir = &$this->directories[]; + + // Assign values + if($flag_longlink) + { + $activeDir["name"] = $longlink_name; + } + else + { + $activeDir["name"] = $file_name; + } + $activeDir["type"] = $file_type; + $activeDir["mode"] = $file_mode; + $activeDir["time"] = $file_time; + $activeDir["user_id"] = $file_uid; + $activeDir["group_id"] = $file_gid; + $activeDir["user_name"] = $file_uname; + $activeDir["group_name"] = $file_gname; + $activeDir["checksum"] = $file_chksum; + + $flag_longlink = false; + } // Move our offset the number of blocks we have processed $main_offset += 512 + (ceil($file_size / 512) * 512); From c451d17ebc8e267646d2962dc0f1eea65f2bae83 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 10 Sep 2012 10:24:48 +0000 Subject: [PATCH 35/94] issue 2351, fixed a bug that update core by easyinstall is failed. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11198 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- libs/tar.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/tar.class.php b/libs/tar.class.php index d1fc9e428..23b702724 100644 --- a/libs/tar.class.php +++ b/libs/tar.class.php @@ -162,7 +162,7 @@ class tar { $activeFile["endheader"] = substr($this->tar_file,$main_offset + 500,12); */ - elseif(strtolower($file_type) == 'l' || $file_name == '././@LongLink') + if(strtolower($file_type) == 'l' || $file_name == '././@LongLink') { $flag_longlink = true; $longlink_name = $file_contents; From c953abb0bac223089d03a999815d294df0037302 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 11 Sep 2012 00:41:13 +0000 Subject: [PATCH 36/94] issue 2351, fixed a bug that update core by easyinstall is failed. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11199 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- libs/tar.class.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/tar.class.php b/libs/tar.class.php index 23b702724..7536e17f4 100644 --- a/libs/tar.class.php +++ b/libs/tar.class.php @@ -99,6 +99,10 @@ class tar { // PRIVATE ACCESS FUNCTION function __parseNullPaddedString($string) { $position = strpos($string,chr(0)); + if(!$position) + { + $position = strlen($string); + } return substr($string,0,$position); } @@ -165,7 +169,7 @@ class tar { if(strtolower($file_type) == 'l' || $file_name == '././@LongLink') { $flag_longlink = true; - $longlink_name = $file_contents; + $longlink_name = $this->__parseNullPaddedString($file_contents); } elseif($file_type == '0') { // Increment number of files From b5da5df1e652133577709c43986c96c7d8842e6c Mon Sep 17 00:00:00 2001 From: nagoon97 Date: Tue, 11 Sep 2012 01:24:50 +0000 Subject: [PATCH 37/94] Fixes related to Issue 1253 is merged from the luminous branch git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11200 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/common.js | 15 +++++++++++---- common/js/xe.js | 29 ++++++++++++++++++++++------- common/js/xe.min.js | 2 +- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/common/js/common.js b/common/js/common.js index 99f380524..bb8128aae 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -189,14 +189,21 @@ jQuery(function($) { $(this).hide().prev('button').show().parent().next(fold_container).hide(); }); } - + jQuery('input[type="submit"]').click(function(ev){ - jQuery(ev.currentTarget).attr('disabled', 'disabled'); - setTimeout(function($el){ + var $el = jQuery(ev.currentTarget); + + setTimeout(function(){ + return function(){ + $el.attr('disabled', 'disabled'); + }; + }(), 0); + + setTimeout(function(){ return function(){ $el.removeAttr('disabled'); }; - }(jQuery(ev.currentTarget)), 3000); + }(), 3000); }); }); diff --git a/common/js/xe.js b/common/js/xe.js index 516c5757e..345459888 100644 --- a/common/js/xe.js +++ b/common/js/xe.js @@ -473,7 +473,22 @@ jQuery(function($) { $(this).hide().prev('button').show().parent().next(fold_container).hide(); }); } - + + jQuery('input[type="submit"]').click(function(ev){ + var $el = jQuery(ev.currentTarget); + + setTimeout(function(){ + return function(){ + $el.attr('disabled', 'disabled'); + }; + }(), 0); + + setTimeout(function(){ + return function(){ + $el.removeAttr('disabled'); + }; + }(), 3000); + }); }); (function(){ // String extension methods @@ -633,18 +648,18 @@ function sendMailTo(to) { /** * @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움) **/ -function move_url(url, open_wnidow) { +function move_url(url, open_window) { if(!url) return false; - if(typeof(open_wnidow) == 'undefined') open_wnidow = 'N'; - if(open_wnidow=='N') { - open_wnidow = false; + if(typeof(open_window) == 'undefined') open_window = 'N'; + if(open_window=='N') { + open_window = false; } else { - open_wnidow = true; + open_window = true; } if(/^\./.test(url)) url = request_uri+url; - if(open_wnidow) { + if(open_window) { winopen(url); } else { location.href=url; diff --git a/common/js/xe.min.js b/common/js/xe.min.js index 68b8088f7..f6b3a423f 100644 --- a/common/js/xe.min.js +++ b/common/js/xe.min.js @@ -14,7 +14,7 @@ arguments[0],a.extend(c,arguments[1]||{})}!0==c.doClick&&(c.checked=null);"strin if("undefined"==typeof g.length||1>g.length)g=Array(g);if(g.length)for(var j=0;j"+l+"
            • "}}this.loaded_popup_menus[c]=b}b&&(c=a("#popup_menu_area").html("
                "+b+"
              "),b=e.page_y,e=e.page_x, c.outerHeight()+b>a(window).height()+a(window).scrollTop()&&(b=a(window).height()-c.outerHeight()+a(window).scrollTop()),c.outerWidth()+e>a(window).width()+a(window).scrollLeft()&&(e=a(window).width()-c.outerWidth()+a(window).scrollLeft()),c.css({top:b,left:e}).show())}}})(jQuery); jQuery(function(a){a.browser.msie&&a("select").each(function(a,b){for(var g=!1,d=[],i=0;i Date: Tue, 11 Sep 2012 01:47:06 +0000 Subject: [PATCH 38/94] issue 1000 retouch. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11201 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.view.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 1895646e8..4c42751f1 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -47,6 +47,7 @@ $layout_info = $oLayoutModel->getLayout($this->member_config->layout_srl); if($layout_info) { + $this->module_info->layout_srl = $this->member_config->layout_srl; $this->setLayoutPath($layout_info->path); } } From 6ce2ee788738f71954789bfa68fea349461097a0 Mon Sep 17 00:00:00 2001 From: devjin Date: Tue, 11 Sep 2012 11:12:38 +0000 Subject: [PATCH 39/94] changed member config to static variable. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11210 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.model.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 29114a246..7c9b484e0 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -21,7 +21,15 @@ /** * @brief Return member's configuration **/ - function getMemberConfig() { + function getMemberConfig() + { + static $member_config; + + if($member_config) + { + return $member_config; + } + // Get member configuration stored in the DB $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('member'); @@ -65,6 +73,8 @@ if (!$config->signature_editor_skin || $config->signature_editor_skin == 'default') $config->signature_editor_skin = 'xpresseditor'; if (!$config->sel_editor_colorset) $config->sel_editor_colorset = 'white'; + $member_config = $config; + return $config; } From b5f5c6f094631292a575236db9f255ba4d0fb1bf Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 12 Sep 2012 05:09:28 +0000 Subject: [PATCH 40/94] issue 2247 , Remove non utf-8 and user defined area codes git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11212 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/xml/xmlquery/argument/Argument.class.php | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/classes/xml/xmlquery/argument/Argument.class.php b/classes/xml/xmlquery/argument/Argument.class.php index def8b2814..8d760bb73 100644 --- a/classes/xml/xmlquery/argument/Argument.class.php +++ b/classes/xml/xmlquery/argument/Argument.class.php @@ -164,20 +164,7 @@ class Argument { */ function _escapeStringValue($value) { // Remove non-utf8 chars. - $regex = <<<'END' -/ -( - (?: - [\x00-\x7F] # single-byte sequences 0xxxxxxx - |[\xC0-\xDF][\x80-\xBF] # double-byte sequences 110xxxxx 10xxxxxx - |[\xE0-\xEF][\x80-\xBF]{2} # triple-byte sequences 1110xxxx 10xxxxxx * 2 - )+ -) -|([\xF0-\xF7][\x80-\xBF]{3}) # quadruple-byte sequence 11110xxx 10xxxxxx * 3 -|([\x80-\xBF]) # invalid byte in range 10000000 - 10111111 -|([\xC0-\xFF]) # invalid byte in range 11000000 - 11111111 -/x -END; + $regex = '@((?:[\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2})+)|([\xF0-\xF7][\x80-\xBF]{3})|([\x80-\xBF])|([\xC0-\xFF])@x'; $value = preg_replace_callback($regex, array($this, 'utf8Replacer'), $value); $db = &DB::getInstance(); From b55aaf96835300af74878badf65a0a59181003c5 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 12 Sep 2012 08:14:11 +0000 Subject: [PATCH 41/94] issue 2448, added missing footer git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11217 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/skins/default/rechecked_password.html | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/member/skins/default/rechecked_password.html b/modules/member/skins/default/rechecked_password.html index bb3fcf366..330862dfe 100644 --- a/modules/member/skins/default/rechecked_password.html +++ b/modules/member/skins/default/rechecked_password.html @@ -22,3 +22,4 @@ {$lang->cmd_cancel} + From b1b6d999d46ee853c6434c6989ac342ba94a2c17 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 13 Sep 2012 02:22:34 +0000 Subject: [PATCH 42/94] version up to 1.5.3.2 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11222 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- config/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.inc.php b/config/config.inc.php index 0b5860483..7f3cc2592 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -14,7 +14,7 @@ * Display XE's full version * Even The file should be revised when releasing altough no change is made */ - define('__XE_VERSION__', '1.5.3.2.beta'); + define('__XE_VERSION__', '1.5.3.2'); /** * @deprecated __ZBXE_VERSION__ will be removed. Use __XE_VERSION__ instead. From bcd610fd9fe024c0f908295bd3f0b1710074a585 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 13 Sep 2012 02:49:17 +0000 Subject: [PATCH 43/94] rollback r11012 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11223 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- addons/autolink/autolink.spec.html | 22 +++---- addons/captcha/captcha.addon.php | 2 +- classes/display/VirtualXMLDisplayHandler.php | 2 +- classes/extravar/Extravar.class.php | 2 +- classes/module/ModuleHandler.class.php | 2 +- common/js/html5.js | 7 +-- common/tpl/common_layout.html | 63 +++++++++++-------- common/tpl/mobile_layout.html | 22 ++++--- common/tpl/popup_layout.html | 2 +- common/tpl/redirect.html | 8 +-- common/tpl/refresh.html | 2 +- config/func.inc.php | 12 ++-- layouts/xe_official/layout.html | 2 +- modules/addon/tpl/setup_addon.html | 2 +- modules/admin/lang/lang.xml | 19 ++++++ modules/admin/tpl/_spFooter.html | 2 +- modules/admin/tpl/config_general.html | 9 ++- modules/admin/tpl/theme.html | 2 +- modules/comment/tpl/comment_list.html | 2 +- modules/communication/tpl/index.html | 4 +- modules/counter/tpl/index.html | 4 +- modules/document/document.controller.php | 2 +- modules/document/tpl/category_info.html | 2 +- modules/document/tpl/category_list.html | 4 +- modules/document/tpl/checked_list.html | 2 +- modules/document/tpl/declared_list.html | 2 +- modules/document/tpl/document_list.html | 2 +- modules/document/tpl/print_page.html | 2 +- .../image_gallery/tpl/list_gallery.html | 2 +- .../components/image_gallery/tpl/popup.html | 4 +- .../image_gallery/tpl/slide_gallery.html | 2 +- .../components/poll_maker/tpl/popup.html | 4 +- modules/editor/editor.controller.php | 2 +- modules/editor/skins/dreditor/blank.html | 8 +-- modules/editor/skins/dreditor/editor.html | 7 ++- modules/editor/skins/xpresseditor/editor.html | 4 +- modules/editor/styles/default/editor.html | 8 +-- modules/editor/styles/dreditor/editor.html | 8 +-- modules/editor/styles/xeStyle/editor.html | 10 +-- .../editor/styles/xeStyleBlack/editor.html | 10 +-- modules/editor/tpl/admin_index.html | 2 +- modules/editor/tpl/component_not_founded.html | 2 +- modules/editor/tpl/js/editor.js | 8 +-- modules/editor/tpl/preview.html | 2 +- modules/file/tpl/file_list.html | 2 +- modules/file/tpl/iframe.html | 2 +- .../file/tpl/print_uploaded_file_list.html | 2 +- modules/importer/tpl/index.html | 2 +- modules/importer/tpl/process.html | 2 +- modules/install/tpl/footer.html | 2 +- .../integration_search.model.php | 2 +- .../skins/default/no_keywords.html | 2 +- modules/integration_search/tpl/index.html | 2 +- modules/layout/layout.admin.view.php | 2 +- .../layout/tpl/after_delete_config_image.html | 2 +- .../layout/tpl/after_upload_config_image.html | 2 +- modules/layout/tpl/copy_layout.html | 2 +- modules/layout/tpl/header.html | 2 +- .../tpl/include.multilang.textarea.html | 2 +- .../layout/tpl/layout_all_instance_list.html | 2 +- modules/layout/tpl/layout_edit.html | 2 +- modules/layout/tpl/layout_image_list.html | 2 +- modules/layout/tpl/layout_instance_list.html | 2 +- modules/layout/tpl/top_refresh.html | 2 +- modules/member/member.admin.view.php | 2 +- modules/member/member.view.php | 2 +- modules/member/skins/default/login_form.html | 2 +- modules/member/skins/default/modify_info.html | 4 +- modules/member/skins/default/signup_form.html | 2 +- modules/member/tpl/group_list.html | 4 +- modules/member/tpl/group_update_form.html | 6 +- modules/member/tpl/insert_join_form.html | 2 +- modules/member/tpl/insert_member.html | 4 +- modules/member/tpl/login_form.html | 2 +- modules/member/tpl/logout.html | 2 +- modules/member/tpl/member_config.html | 4 +- modules/member/tpl/member_list.html | 4 +- modules/member/tpl/msg_success_authed.html | 2 +- .../tpl/msg_success_modify_email_address.html | 2 +- modules/member/tpl/redirect.html | 2 +- modules/member/tpl/signup_form.html | 2 +- modules/menu/tpl/menu_file_uploaded.html | 4 +- modules/menu/tpl/menu_item_info.html | 2 +- modules/menu/tpl/menu_management.html | 4 +- modules/menu/tpl/sitemap.html | 2 +- .../m.skins/default/http_status_code.html | 2 +- .../m.skins/default/system_message.html | 2 +- .../skins/default/http_status_code.html | 2 +- modules/module/module.view.php | 2 +- modules/module/tpl/filebox_list_html.html | 2 +- modules/module/tpl/header.html | 2 +- .../tpl/include.module_grant_setup.html | 2 +- .../tpl/include.multilang.textarea.html | 2 +- modules/module/tpl/module_grant_setup.html | 2 +- modules/module/tpl/module_grants.html | 2 +- modules/module/tpl/move_filebox_list.html | 2 +- modules/module/tpl/top_refresh.html | 2 +- modules/page/tpl/page_content_modify.html | 2 +- modules/page/tpl/page_insert.html | 2 +- .../page/tpl/page_mobile_content_modify.html | 2 +- modules/poll/skins/default/form.html | 2 +- modules/poll/skins/simple/form.html | 2 +- modules/poll/tpl/poll_list.html | 2 +- modules/rss/tpl/top_refresh.html | 2 +- modules/trackback/tpl/trackback_list.html | 2 +- modules/widget/tpl/add_content_widget.html | 2 +- modules/widget/tpl/js/widget.js | 2 +- .../tpl/widget_generate_code.filebox.html | 4 +- .../tpl/widget_generate_code.include.html | 12 ++-- ...dget_generate_code.multilang.textarea.html | 2 +- .../tpl/widget_generate_code_in_page.html | 2 +- .../widget_style_generate_code_in_page.html | 2 +- .../classes/template/TemplateHandlerTest.php | 4 +- tests/common/js/index.html | 18 +++--- .../layouts/xe_greystone/layout.html | 4 +- .../layouts/xe_sapphire/layout.html | 4 +- .../layouts/xe_solid_enterprise/layout.html | 2 +- .../modules/communication/new_message.html | 2 +- .../modules/communication/send_message.html | 2 +- .../modules/member/login_form.html | 2 +- .../modules/member/modify_info.html | 4 +- .../modules/member/signup_form.html | 2 +- .../skins/xe_global/login_form.html | 4 +- .../skins/xe_globalTwo/login_form.html | 4 +- .../xe_solid_enterprise_login/login_form.html | 2 +- 125 files changed, 276 insertions(+), 235 deletions(-) diff --git a/addons/autolink/autolink.spec.html b/addons/autolink/autolink.spec.html index 103795949..8c1292322 100644 --- a/addons/autolink/autolink.spec.html +++ b/addons/autolink/autolink.spec.html @@ -1,16 +1,16 @@ - - + + - + Autolink Addon Unit Test - - - - - - - - + + + + + +'); + Context::addHtmlHeader(''); Context::loadFile(array('./addons/captcha/captcha.min.js', 'body', '', null), true); } } diff --git a/classes/display/VirtualXMLDisplayHandler.php b/classes/display/VirtualXMLDisplayHandler.php index a3ec60c31..40ae0ae5a 100644 --- a/classes/display/VirtualXMLDisplayHandler.php +++ b/classes/display/VirtualXMLDisplayHandler.php @@ -24,7 +24,7 @@ class VirtualXMLDisplayHandler { if($message != 'fail') $output->message = $message; } - $html = ' - - -{Context::getBodyHeader()} -{$content} -{Context::getHtmlFooter()} + //]]> + + + {Context::getBodyHeader()} + + {$content} + + {Context::getHtmlFooter()} -
              +
              {@ $js_body_files = Context::getJsFile('body') } - + + diff --git a/common/tpl/mobile_layout.html b/common/tpl/mobile_layout.html index 7cabe0900..506f65d1a 100644 --- a/common/tpl/mobile_layout.html +++ b/common/tpl/mobile_layout.html @@ -1,15 +1,19 @@ + - + + + + - - + + {Context::getBrowserTitle()} {@ $css_files = Context::getCssFile() } - + @@ -19,7 +23,7 @@ - + @@ -35,9 +39,11 @@ - + {@ $ssl_actions = Context::getSSLActions() } - + diff --git a/common/tpl/popup_layout.html b/common/tpl/popup_layout.html index 8536d842f..1a9cecd8c 100644 --- a/common/tpl/popup_layout.html +++ b/common/tpl/popup_layout.html @@ -2,7 +2,7 @@ - diff --git a/common/tpl/redirect.html b/common/tpl/redirect.html index 72a28491c..087cb18a8 100644 --- a/common/tpl/redirect.html +++ b/common/tpl/redirect.html @@ -1,10 +1,10 @@ - - + + - + - \ No newline at end of file diff --git a/config/func.inc.php b/config/func.inc.php index 7368dbc6b..7188c06b7 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -1139,10 +1139,10 @@ function htmlHeader() { echo << - + + - + HTMLHEADER; @@ -1167,7 +1167,7 @@ HTMLHEADER; function alertScript($msg) { if(!$msg) return; - echo ''; + echo ''; } /** @@ -1177,7 +1177,7 @@ HTMLHEADER; */ function closePopupScript() { - echo ''; + echo ''; } /** @@ -1190,5 +1190,5 @@ HTMLHEADER; { $reloadScript = $isOpener ? 'window.opener.location.reload()' : 'document.location.reload()'; - echo ''; + echo ''; } diff --git a/layouts/xe_official/layout.html b/layouts/xe_official/layout.html index 82e0a0073..763bea7db 100644 --- a/layouts/xe_official/layout.html +++ b/layouts/xe_official/layout.html @@ -2,7 +2,7 @@ - {@$layout_info->colorset = "default"} diff --git a/modules/addon/tpl/setup_addon.html b/modules/addon/tpl/setup_addon.html index 60a97c605..e7d9412a2 100644 --- a/modules/addon/tpl/setup_addon.html +++ b/modules/addon/tpl/setup_addon.html @@ -71,7 +71,7 @@ - diff --git a/modules/communication/tpl/index.html b/modules/communication/tpl/index.html index ae0174774..d5a403f96 100644 --- a/modules/communication/tpl/index.html +++ b/modules/communication/tpl/index.html @@ -20,7 +20,7 @@ - @@ -53,6 +53,6 @@ - diff --git a/modules/counter/tpl/index.html b/modules/counter/tpl/index.html index 3e8b6f3ac..25ae29d7e 100644 --- a/modules/counter/tpl/index.html +++ b/modules/counter/tpl/index.html @@ -4,7 +4,7 @@ - @@ -28,7 +28,7 @@ {$lang->cmd_remake_cache} - diff --git a/modules/document/tpl/declared_list.html b/modules/document/tpl/declared_list.html index c1dcf4756..5a6347564 100644 --- a/modules/document/tpl/declared_list.html +++ b/modules/document/tpl/declared_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/document/tpl/document_list.html b/modules/document/tpl/document_list.html index 8b69ebe03..d632cabc3 100644 --- a/modules/document/tpl/document_list.html +++ b/modules/document/tpl/document_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/document/tpl/print_page.html b/modules/document/tpl/print_page.html index 9cffeb1af..5adb8b0f2 100644 --- a/modules/document/tpl/print_page.html +++ b/modules/document/tpl/print_page.html @@ -8,7 +8,7 @@ {$oDocument->getContent(false, false)} - @@ -53,7 +53,7 @@
              diff --git a/modules/layout/layout.admin.view.php b/modules/layout/layout.admin.view.php index d3b20be41..75472f2aa 100644 --- a/modules/layout/layout.admin.view.php +++ b/modules/layout/layout.admin.view.php @@ -425,7 +425,7 @@ } if(count($style)) { - $script = ''; + $script = ''; Context::addHtmlHeader($script); } diff --git a/modules/layout/tpl/after_delete_config_image.html b/modules/layout/tpl/after_delete_config_image.html index a88425dcc..ad57ea3b8 100644 --- a/modules/layout/tpl/after_delete_config_image.html +++ b/modules/layout/tpl/after_delete_config_image.html @@ -1,4 +1,4 @@ - diff --git a/modules/layout/tpl/header.html b/modules/layout/tpl/header.html index 39407ab1b..768124b35 100644 --- a/modules/layout/tpl/header.html +++ b/modules/layout/tpl/header.html @@ -1,4 +1,4 @@ - diff --git a/modules/layout/tpl/include.multilang.textarea.html b/modules/layout/tpl/include.multilang.textarea.html index 5c702be3b..6ae68c964 100644 --- a/modules/layout/tpl/include.multilang.textarea.html +++ b/modules/layout/tpl/include.multilang.textarea.html @@ -1,5 +1,5 @@ - diff --git a/modules/layout/tpl/layout_all_instance_list.html b/modules/layout/tpl/layout_all_instance_list.html index b9c3ea247..b7a3d2ab1 100644 --- a/modules/layout/tpl/layout_all_instance_list.html +++ b/modules/layout/tpl/layout_all_instance_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/layout/tpl/layout_edit.html b/modules/layout/tpl/layout_edit.html index f0fe3de94..14a1edeb5 100644 --- a/modules/layout/tpl/layout_edit.html +++ b/modules/layout/tpl/layout_edit.html @@ -15,7 +15,7 @@
            • {@$ext=substr(strrchr($file,'.'),1)}
              - diff --git a/modules/layout/tpl/layout_instance_list.html b/modules/layout/tpl/layout_instance_list.html index 50326ce7d..982c3719f 100644 --- a/modules/layout/tpl/layout_instance_list.html +++ b/modules/layout/tpl/layout_instance_list.html @@ -1,6 +1,6 @@ -

              {$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})

              diff --git a/modules/layout/tpl/top_refresh.html b/modules/layout/tpl/top_refresh.html index 4b5f7f6bc..76f474d8f 100644 --- a/modules/layout/tpl/top_refresh.html +++ b/modules/layout/tpl/top_refresh.html @@ -1,4 +1,4 @@ - diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 9dbe7b3e6..4bfdad8b4 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -401,7 +401,7 @@
              - + EOD; }elseif($extendForm->column_type == 'jp_zip'){ $template = ''; diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 4c42751f1..fff0970df 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -559,7 +559,7 @@ $extraList = $oMemberModel->getUsedJoinFormList(); $js_code = array(); - $js_code[] = ' - diff --git a/modules/module/tpl/module_grant_setup.html b/modules/module/tpl/module_grant_setup.html index 685732c7c..6159eb6e4 100644 --- a/modules/module/tpl/module_grant_setup.html +++ b/modules/module/tpl/module_grant_setup.html @@ -1,5 +1,5 @@ -

              {$lang->bundle_grant_setup}

              diff --git a/modules/module/tpl/module_grants.html b/modules/module/tpl/module_grants.html index 1a3de5166..4f4a81d80 100644 --- a/modules/module/tpl/module_grants.html +++ b/modules/module/tpl/module_grants.html @@ -1,7 +1,7 @@ - diff --git a/modules/module/tpl/move_filebox_list.html b/modules/module/tpl/move_filebox_list.html index 1a99ea511..97f9a7392 100644 --- a/modules/module/tpl/move_filebox_list.html +++ b/modules/module/tpl/move_filebox_list.html @@ -1,3 +1,3 @@ - \ No newline at end of file diff --git a/modules/module/tpl/top_refresh.html b/modules/module/tpl/top_refresh.html index df1b9981d..a739609df 100644 --- a/modules/module/tpl/top_refresh.html +++ b/modules/module/tpl/top_refresh.html @@ -1,4 +1,4 @@ - diff --git a/modules/page/tpl/page_content_modify.html b/modules/page/tpl/page_content_modify.html index 0c75e489a..70fe681de 100644 --- a/modules/page/tpl/page_content_modify.html +++ b/modules/page/tpl/page_content_modify.html @@ -41,7 +41,7 @@
              - diff --git a/modules/page/tpl/page_insert.html b/modules/page/tpl/page_insert.html index 344a16d27..73be8b4dc 100644 --- a/modules/page/tpl/page_insert.html +++ b/modules/page/tpl/page_insert.html @@ -141,7 +141,7 @@ - diff --git a/modules/poll/skins/default/form.html b/modules/poll/skins/default/form.html index c55e51425..1687db72c 100644 --- a/modules/poll/skins/default/form.html +++ b/modules/poll/skins/default/form.html @@ -6,7 +6,7 @@ - diff --git a/modules/poll/skins/simple/form.html b/modules/poll/skins/simple/form.html index 8eb8787f5..6c67026a6 100644 --- a/modules/poll/skins/simple/form.html +++ b/modules/poll/skins/simple/form.html @@ -6,7 +6,7 @@ - diff --git a/modules/poll/tpl/poll_list.html b/modules/poll/tpl/poll_list.html index 448e7c486..67fb30a3d 100644 --- a/modules/poll/tpl/poll_list.html +++ b/modules/poll/tpl/poll_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/rss/tpl/top_refresh.html b/modules/rss/tpl/top_refresh.html index 88de21065..b0c389886 100644 --- a/modules/rss/tpl/top_refresh.html +++ b/modules/rss/tpl/top_refresh.html @@ -1,4 +1,4 @@ - diff --git a/modules/trackback/tpl/trackback_list.html b/modules/trackback/tpl/trackback_list.html index 3c8cac19e..3690b05fe 100644 --- a/modules/trackback/tpl/trackback_list.html +++ b/modules/trackback/tpl/trackback_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/widget/tpl/add_content_widget.html b/modules/widget/tpl/add_content_widget.html index d8967878c..913237692 100644 --- a/modules/widget/tpl/add_content_widget.html +++ b/modules/widget/tpl/add_content_widget.html @@ -22,7 +22,7 @@ {$editor} - diff --git a/modules/widget/tpl/js/widget.js b/modules/widget/tpl/js/widget.js index f9c1d1b0c..a0f294676 100644 --- a/modules/widget/tpl/js/widget.js +++ b/modules/widget/tpl/js/widget.js @@ -375,7 +375,7 @@ function doAddWidgetCode(widget_code) { var cssfile = request_uri+cssfile; if(typeof(document.createStyleSheet)=='undefined') { - var css =''; + var css =''; var dummy = xCreateElement("DIV"); xInnerHtml(dummy , css); document.body.appendChild(dummy); diff --git a/modules/widget/tpl/widget_generate_code.filebox.html b/modules/widget/tpl/widget_generate_code.filebox.html index 5140b6f8e..5b0f4100a 100644 --- a/modules/widget/tpl/widget_generate_code.filebox.html +++ b/modules/widget/tpl/widget_generate_code.filebox.html @@ -1,5 +1,5 @@ - @@ -35,7 +35,7 @@ - @@ -59,7 +59,7 @@ {$lang->cmd_set_multilingual} - @@ -83,7 +83,7 @@ - @@ -112,7 +112,7 @@ - @@ -216,7 +216,7 @@

              - @@ -235,6 +235,6 @@
            • - diff --git a/modules/widget/tpl/widget_generate_code.multilang.textarea.html b/modules/widget/tpl/widget_generate_code.multilang.textarea.html index 5c702be3b..6ae68c964 100644 --- a/modules/widget/tpl/widget_generate_code.multilang.textarea.html +++ b/modules/widget/tpl/widget_generate_code.multilang.textarea.html @@ -1,5 +1,5 @@ - diff --git a/modules/widget/tpl/widget_generate_code_in_page.html b/modules/widget/tpl/widget_generate_code_in_page.html index d14510ab6..cddf7ad81 100644 --- a/modules/widget/tpl/widget_generate_code_in_page.html +++ b/modules/widget/tpl/widget_generate_code_in_page.html @@ -4,7 +4,7 @@ -', - '' + '', + '' ), // error case - inline javascript array( diff --git a/tests/common/js/index.html b/tests/common/js/index.html index f4d691853..31d375efa 100644 --- a/tests/common/js/index.html +++ b/tests/common/js/index.html @@ -2,15 +2,15 @@ - - - - - - - - - + + + + + + + + +

              Common JavaScript Test

              diff --git a/themes/xe_greystone/layouts/xe_greystone/layout.html b/themes/xe_greystone/layouts/xe_greystone/layout.html index f9ff91726..90cd36bcb 100644 --- a/themes/xe_greystone/layouts/xe_greystone/layout.html +++ b/themes/xe_greystone/layouts/xe_greystone/layout.html @@ -7,8 +7,8 @@ - diff --git a/themes/xe_sapphire/layouts/xe_sapphire/layout.html b/themes/xe_sapphire/layouts/xe_sapphire/layout.html index 887e82810..51004f5bc 100644 --- a/themes/xe_sapphire/layouts/xe_sapphire/layout.html +++ b/themes/xe_sapphire/layouts/xe_sapphire/layout.html @@ -4,8 +4,8 @@ - diff --git a/themes/xe_solid_enterprise/layouts/xe_solid_enterprise/layout.html b/themes/xe_solid_enterprise/layouts/xe_solid_enterprise/layout.html index eea1c615b..e4c5d3b46 100644 --- a/themes/xe_solid_enterprise/layouts/xe_solid_enterprise/layout.html +++ b/themes/xe_solid_enterprise/layouts/xe_solid_enterprise/layout.html @@ -133,7 +133,7 @@ - diff --git a/themes/xe_solid_enterprise/modules/communication/send_message.html b/themes/xe_solid_enterprise/modules/communication/send_message.html index 50f29902e..3fb39ae22 100644 --- a/themes/xe_solid_enterprise/modules/communication/send_message.html +++ b/themes/xe_solid_enterprise/modules/communication/send_message.html @@ -36,6 +36,6 @@ - diff --git a/themes/xe_solid_enterprise/modules/member/login_form.html b/themes/xe_solid_enterprise/modules/member/login_form.html index 5777d25f9..d388dc569 100644 --- a/themes/xe_solid_enterprise/modules/member/login_form.html +++ b/themes/xe_solid_enterprise/modules/member/login_form.html @@ -2,7 +2,7 @@ - diff --git a/themes/xe_solid_enterprise/modules/member/modify_info.html b/themes/xe_solid_enterprise/modules/member/modify_info.html index 68f801df3..1b24657ce 100644 --- a/themes/xe_solid_enterprise/modules/member/modify_info.html +++ b/themes/xe_solid_enterprise/modules/member/modify_info.html @@ -5,7 +5,7 @@

              {$lang->msg_update_member}

              - @@ -70,6 +70,6 @@ - diff --git a/widgets/login_info/skins/xe_globalTwo/login_form.html b/widgets/login_info/skins/xe_globalTwo/login_form.html index f66fd7aa0..8c0651fa3 100644 --- a/widgets/login_info/skins/xe_globalTwo/login_form.html +++ b/widgets/login_info/skins/xe_globalTwo/login_form.html @@ -11,7 +11,7 @@ - @@ -71,6 +71,6 @@ - diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/login_form.html b/widgets/login_info/skins/xe_solid_enterprise_login/login_form.html index 56142e116..fb3b72607 100644 --- a/widgets/login_info/skins/xe_solid_enterprise_login/login_form.html +++ b/widgets/login_info/skins/xe_solid_enterprise_login/login_form.html @@ -3,7 +3,7 @@ - From c4285ba2edab0c91331f7347b9a821d98ec84437 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 17 Sep 2012 08:43:49 +0000 Subject: [PATCH 52/94] issue 2140, Do not load duplicated front-end file(have .min, no .min in filename) git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11270 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../FrontEndFileHandler.class.php | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/classes/frontendfile/FrontEndFileHandler.class.php b/classes/frontendfile/FrontEndFileHandler.class.php index 909d5304e..89a07b71b 100644 --- a/classes/frontendfile/FrontEndFileHandler.class.php +++ b/classes/frontendfile/FrontEndFileHandler.class.php @@ -99,7 +99,23 @@ $pathInfo = pathinfo($args[0]); $file->fileName = $pathInfo['basename']; $file->filePath = $this->_getAbsFileUrl($pathInfo['dirname']); + $file->fileRealPath = FileHandler::getRealPath($pathInfo['dirname']); $file->fileExtension = strtolower($pathInfo['extension']); + $file->fileNameNoExt = preg_replace("/\.{$file->fileExtension}$/", '', $file->fileName); + + // Remove .min + $file->fileNameNoExt = preg_replace("/\.min$/", '', $file->fileNameNoExt); + $file->fileName = $file->keyName = "{$file->fileNameNoExt}.{$file->fileExtension}"; + + // if no debug mode load minified file + if(!__DEBUG__) + { + $tmp = "{$file->fileNameNoExt}.min.{$file->fileExtension}"; + if(file_exists("{$file->fileRealPath}/{$tmp}")) + { + $file->fileName = $tmp; + } + } if (strpos($file->filePath, '://') == false) { @@ -121,7 +137,7 @@ if (!$file->media) $file->media = 'all'; $map = &$this->cssMap; $mapIndex = &$this->cssMapIndex; - $key = $file->filePath . $file->fileName . "\t" . $file->targetIe . "\t" . $file->media; + $key = $file->filePath . $file->keyName . "\t" . $file->targetIe . "\t" . $file->media; $this->_arrangeCssIndex($pathInfo['dirname'], $file); } @@ -138,7 +154,7 @@ $map = &$this->jsHeadMap; $mapIndex = &$this->jsHeadMapIndex; } - $key = $file->filePath . $file->fileName . "\t" . $file->targetIe; + $key = $file->filePath . $file->keyName . "\t" . $file->targetIe; } (is_null($file->index))?$file->index=0:$file->index=$file->index; From c2697a95b4dc6ba9b08d22aea8899ceaa609a8cb Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 17 Sep 2012 09:14:01 +0000 Subject: [PATCH 53/94] issue 2093, added protection codes git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11271 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/autoinstall/autoinstall.lib.php | 182 +++++++++++++----------- 1 file changed, 97 insertions(+), 85 deletions(-) diff --git a/modules/autoinstall/autoinstall.lib.php b/modules/autoinstall/autoinstall.lib.php index e143ad602..6b6aa00d3 100644 --- a/modules/autoinstall/autoinstall.lib.php +++ b/modules/autoinstall/autoinstall.lib.php @@ -150,11 +150,14 @@ $schema_dir = sprintf('%s/schemas/', $this->package->path); $schema_files = FileHandler::readDir($schema_dir); $oDB =& DB::getInstance(); - foreach($schema_files as $file) + if(is_array($schema_files)) { - $filename_arr = explode(".", $file); - $filename = array_shift($filename_arr); - $oDB->dropTable($filename); + foreach($schema_files as $file) + { + $filename_arr = explode(".", $file); + $filename = array_shift($filename_arr); + $oDB->dropTable($filename); + } } return new Object(); } @@ -399,22 +402,25 @@ if(!$output->toBool()) return $output; $target_dir = $this->ftp_info->ftp_root_path.$this->target_path; - foreach($file_list as $k => $file){ - $org_file = $file; - if($this->package->path == ".") - { - $file = substr($file,3); - } - $path = FileHandler::getRealPath("./".$this->target_path."/".$file); - $pathname = dirname($target_dir."/".$file); + if(is_array($file_list)) + { + foreach($file_list as $k => $file){ + $org_file = $file; + if($this->package->path == ".") + { + $file = substr($file,3); + } + $path = FileHandler::getRealPath("./".$this->target_path."/".$file); + $pathname = dirname($target_dir."/".$file); - if(!file_exists(FileHandler::getRealPath($real_path))) - { - ssh2_sftp_mkdir($this->sftp, $pathname, 0755, true); - } + if(!file_exists(FileHandler::getRealPath($real_path))) + { + ssh2_sftp_mkdir($this->sftp, $pathname, 0755, true); + } - ssh2_scp_send($this->connection, FileHandler::getRealPath($this->download_path."/".$org_file), $target_dir."/".$file); - } + ssh2_scp_send($this->connection, FileHandler::getRealPath($this->download_path."/".$org_file), $target_dir."/".$file); + } + } return new Object(); } } @@ -550,54 +556,57 @@ } $target_dir = $this->ftp_info->ftp_root_path.$this->target_path; - foreach($file_list as $k => $file){ - if(!$file) continue; - $org_file = $file; - if($this->package->path == ".") - { - $file = substr($file,3); - } - $path = FileHandler::getRealPath("./".$this->target_path."/".$file); - $path_list = explode('/', dirname($this->target_path."/".$file)); + if(is_array($file_list)) + { + foreach($file_list as $k => $file){ + if(!$file) continue; + $org_file = $file; + if($this->package->path == ".") + { + $file = substr($file,3); + } + $path = FileHandler::getRealPath("./".$this->target_path."/".$file); + $path_list = explode('/', dirname($this->target_path."/".$file)); - $real_path = "./"; - $ftp_path = $this->ftp_info->ftp_root_path; + $real_path = "./"; + $ftp_path = $this->ftp_info->ftp_root_path; - for($i=0;$iconnection, $ftp_path)) - { - return new Object(-1, "msg_make_directory_failed"); - } + for($i=0;$iconnection, $ftp_path)) + { + return new Object(-1, "msg_make_directory_failed"); + } - if(strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') - { - if (function_exists('ftp_chmod')) { - if(!ftp_chmod($this->connection, 0755, $ftp_path)) - { - return new Object(-1, "msg_permission_adjust_failed"); - } - } - else - { - if(!ftp_site($this->connection, "CHMOD 755 ".$ftp_path)) - { - return new Object(-1, "msg_permission_adjust_failed"); - } - } - } - } - } - if(!ftp_put($this->connection, $target_dir .'/'. $file, FileHandler::getRealPath($this->download_path."/".$org_file), FTP_BINARY)) - { - return new Object(-1, "msg_ftp_upload_failed"); + if(strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') + { + if (function_exists('ftp_chmod')) { + if(!ftp_chmod($this->connection, 0755, $ftp_path)) + { + return new Object(-1, "msg_permission_adjust_failed"); + } + } + else + { + if(!ftp_site($this->connection, "CHMOD 755 ".$ftp_path)) + { + return new Object(-1, "msg_permission_adjust_failed"); + } + } + } + } + } + if(!ftp_put($this->connection, $target_dir .'/'. $file, FileHandler::getRealPath($this->download_path."/".$org_file), FTP_BINARY)) + { + return new Object(-1, "msg_ftp_upload_failed"); + } } - } + } $this->_close(); return new Object(); } @@ -718,31 +727,34 @@ $oFtp =& $this->oFtp; $target_dir = $this->ftp_info->ftp_root_path.$this->target_path; - foreach($file_list as $k => $file){ - $org_file = $file; - if($this->package->path == ".") - { - $file = substr($file,3); - } - $path = FileHandler::getRealPath("./".$this->target_path."/".$file); - $path_list = explode('/', dirname($this->target_path."/".$file)); + if(is_array($file_list)) + { + foreach($file_list as $k => $file){ + $org_file = $file; + if($this->package->path == ".") + { + $file = substr($file,3); + } + $path = FileHandler::getRealPath("./".$this->target_path."/".$file); + $path_list = explode('/', dirname($this->target_path."/".$file)); - $real_path = "./"; - $ftp_path = $this->ftp_info->ftp_root_path; + $real_path = "./"; + $ftp_path = $this->ftp_info->ftp_root_path; - for($i=0;$iftp_mkdir($ftp_path); - $oFtp->ftp_site("CHMOD 755 ".$ftp_path); - } - } - $oFtp->ftp_put($target_dir .'/'. $file, FileHandler::getRealPath($this->download_path."/".$org_file)); - } + for($i=0;$iftp_mkdir($ftp_path); + $oFtp->ftp_site("CHMOD 755 ".$ftp_path); + } + } + $oFtp->ftp_put($target_dir .'/'. $file, FileHandler::getRealPath($this->download_path."/".$org_file)); + } + } $this->_close(); From b4e53d306f200de68f8006bc2b6c76329704c73c Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 17 Sep 2012 09:36:21 +0000 Subject: [PATCH 54/94] issue 2140, retouch git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11272 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/frontendfile/FrontEndFileHandler.class.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/classes/frontendfile/FrontEndFileHandler.class.php b/classes/frontendfile/FrontEndFileHandler.class.php index 89a07b71b..5094585cb 100644 --- a/classes/frontendfile/FrontEndFileHandler.class.php +++ b/classes/frontendfile/FrontEndFileHandler.class.php @@ -114,9 +114,15 @@ if(file_exists("{$file->fileRealPath}/{$tmp}")) { $file->fileName = $tmp; + $file->useMin = TRUE; } } + if(!$file->useMin && !file_exists("{$file->fileRealPath}/{$file->fileName}")) + { + $file->fileName = "{$file->fileNameNoExt}.min.{$file->fileExtension}"; + } + if (strpos($file->filePath, '://') == false) { $file->useCdn = $useCdn; From 798bc6269f231a68be30fbc1604f25b00fc403af Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 17 Sep 2012 09:42:17 +0000 Subject: [PATCH 55/94] issue 2090, do not change index when load same front-end file that have higher index then before loaded git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11273 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/frontendfile/FrontEndFileHandler.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/frontendfile/FrontEndFileHandler.class.php b/classes/frontendfile/FrontEndFileHandler.class.php index 5094585cb..bf68d40e9 100644 --- a/classes/frontendfile/FrontEndFileHandler.class.php +++ b/classes/frontendfile/FrontEndFileHandler.class.php @@ -164,7 +164,7 @@ } (is_null($file->index))?$file->index=0:$file->index=$file->index; - if (!isset($map[$file->index][$key]) || $mapIndex[$key] != $file->index) + if (!isset($map[$file->index][$key]) || $mapIndex[$key] > $file->index) { $this->unloadFile($args[0], $args[2], $args[1]); $map[$file->index][$key] = $file; From 53235230f3bf0aaed4b77d09b6e104714c6a837c Mon Sep 17 00:00:00 2001 From: dragan-dan Date: Mon, 17 Sep 2012 11:11:50 +0000 Subject: [PATCH 56/94] Issue 2493: Infinte redirect when rechecking password git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11274 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/lang/lang.xml | 1 + modules/member/member.controller.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml index 870d43eb7..51efe687f 100644 --- a/modules/member/lang/lang.xml +++ b/modules/member/lang/lang.xml @@ -1576,6 +1576,7 @@ + diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 355a4bf93..a52576b34 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -388,7 +388,7 @@ $memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); $this->memberInfo->password = $memberInfo->password; } - // Verify the cuttent password + // Verify the current password if(!$oMemberModel->isValidPassword($this->memberInfo->password, $password)) { return new Object(-1, 'invalid_password'); @@ -396,7 +396,7 @@ $_SESSION['rechecked_password_step'] = 'VALIDATE_PASSWORD'; - $redirectUrl = getUrl('', 'act', 'dispMemberModifyInfo'); + $redirectUrl = getNotEncodedUrl('', 'act', 'dispMemberModifyInfo'); $this->setRedirectUrl($redirectUrl); } From 7f2b3c1db2f6c515bf3ee761fb4983a2a91e566d Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 17 Sep 2012 11:34:42 +0000 Subject: [PATCH 57/94] issue 2075, do not display raw error message when getRemoteResource() failed. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11275 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/file/FileHandler.class.php | 26 ++++++++++++++++++++++++++ classes/file/getRemoteResourcePHP5.php | 9 +++++++++ 2 files changed, 35 insertions(+) create mode 100644 classes/file/getRemoteResourcePHP5.php diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 04759a276..afe3c791b 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -370,6 +370,32 @@ class FileHandler { * @return string If success, the content of the target file. Otherwise: none **/ function getRemoteResource($url, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array()) { + if(version_compare(PHP_VERSION, '5.0.0', '>=')) + { + return include _XE_PATH_ . 'classes/file/getRemoteResourcePHP5.php'; + } + else + { + return FileHandler::_getRemoteResource($url, $boyd, $timeout, $mehtod, $conent_type, $headers, $cookies, $post_data); + } + } + + /** + * Return remote file's content via HTTP + * + * If the target is moved (when return code is 300~399), this function follows the location specified response header. + * + * @param string $url The address of the target file + * @param string $body HTTP request body + * @param int $timeout Connection timeout + * @param string $method GET/POST + * @param string $content_type Content type header of HTTP request + * @param string[] $headers Headers key vaule array. + * @param string[] $cookies Cookies key value array. + * @param string $post_data Request arguments array for POST method + * @return string If success, the content of the target file. Otherwise: none + **/ + function _getRemoteResource($url, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array()) { requirePear(); require_once('HTTP/Request.php'); diff --git a/classes/file/getRemoteResourcePHP5.php b/classes/file/getRemoteResourcePHP5.php new file mode 100644 index 000000000..74e007b54 --- /dev/null +++ b/classes/file/getRemoteResourcePHP5.php @@ -0,0 +1,9 @@ + Date: Mon, 17 Sep 2012 11:40:32 +0000 Subject: [PATCH 58/94] issue 2473, remove php5 syntax git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11276 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 850661708..06cc181fd 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -727,12 +727,12 @@ // if there is no instance of the module in global variable, create a new one if(!isset($GLOBALS['_loaded_module'][$module][$type][$kind])) { - self::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name); + ModuleHandler::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name); if($extend_module && (!is_readable($high_class_file) || !is_readable($class_file))) { $module = $parent_module; - self::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name); + ModuleHandler::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name); } // Get base class name and load the file contains it From e8643457f9a1ac1ce26b15291b70a98dbbc36e58 Mon Sep 17 00:00:00 2001 From: ovclas Date: Tue, 18 Sep 2012 02:40:49 +0000 Subject: [PATCH 59/94] xss defense git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11279 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 3582c6198..57fdb521b 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -810,6 +810,13 @@ class Context { elseif($this->getRequestMethod()=='POST'&&isset($_POST[$key])) $set_to_vars = true; else $set_to_vars = false; + if($set_to_vars) + { + $val = preg_replace('/<\?.*(\?>)?/iUsm', '', $val); + $val = preg_replace('/<\%.*(\%>)?/iUsm', '', $val); + $val = preg_replace('/.*<[\s]*\/[\s]*script[\s]*>/iUsm', '', $val); + } + $this->set($key, $val, $set_to_vars); } } From f15ea2f764f25c3b7af175684b9972dae71517d7 Mon Sep 17 00:00:00 2001 From: chschy Date: Tue, 18 Sep 2012 02:42:41 +0000 Subject: [PATCH 60/94] Issue 2354 merge to 1.5.3.2 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11280 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/spamfilter/spamfilter.controller.php | 2 +- modules/spamfilter/tpl/js/spamfilter_admin.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index 525d896a3..e0d889b92 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -140,7 +140,7 @@ $ipaddress_list = str_replace("\r","",$ipaddress_list); $ipaddress_list = explode("\n",$ipaddress_list); foreach($ipaddress_list as $ipaddressValue) { - preg_match("/(\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/\s*(.*))?/",$ipaddressValue,$matches); + preg_match("/(\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?/",$ipaddressValue,$matches); if($ipaddress=trim($matches[1])) { $args->ipaddress = $ipaddress; if(!$description && $matches[4]) $args->description = $matches[4]; diff --git a/modules/spamfilter/tpl/js/spamfilter_admin.js b/modules/spamfilter/tpl/js/spamfilter_admin.js index 46a42623a..3d8e6bd74 100644 --- a/modules/spamfilter/tpl/js/spamfilter_admin.js +++ b/modules/spamfilter/tpl/js/spamfilter_admin.js @@ -21,8 +21,8 @@ function doDeleteDeniedWord(word) { } function doInsertDeniedIP(msg_invalid_format){ var fo_obj = get_by_id('spamfilterInsert'); - var reg_ipaddress = /^(\d{1,3}(?:.(\d{1,3}|\*)){3}\s*(\/\/[^\r\n]*)?[\r\n]*)*$/; - var matchStr_ipaddress = fo_obj.ipaddressList.value; + var reg_ipaddress = /^((\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?)*\s*$/; + var matchStr_ipaddress = fo_obj.ipaddress_list.value; if(!matchStr_ipaddress.match(reg_ipaddress)) { alert(msg_invalid_format); return false; } @@ -32,8 +32,8 @@ function doInsertDeniedIP(msg_invalid_format){ } function doInsertDeniedWord(msg_invalid_format){ var fo_obj = get_by_id('spamfilterInsert'); - var reg_word = /^(.{2,40}[\r\n]+)*.{0,40}$/; - var matchStr_word = fo_obj.wordList.value; + var reg_word = /^(.{2,40}\s*)*$/; + var matchStr_word = fo_obj.word_list.value; if(!matchStr_word.match(reg_word)) { alert(msg_invalid_format); return false; } From 11de1924e39d98d473b6be8bec638cf2c7ef3a64 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 04:12:15 +0000 Subject: [PATCH 61/94] issue 2490, Remove js codes for bolding label git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11281 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/admin.js | 13 ----- modules/admin/tpl/js/admin.min.js | 82 +++++++++++++++---------------- 2 files changed, 41 insertions(+), 54 deletions(-) diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index 1b21c494b..32bb7f7a8 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -23,19 +23,6 @@ jQuery(function($){ .parent() .css('position', 'relative'); - // Make selected checkbox elements bold - var $rc_label = $('input:radio+label,input:checkbox+label'), $input_rc = $rc_label.prev('input'); - $input_rc - .change(function(){ - var name = $(this).attr('name'); - $input_rc - .filter(function(){ return this.name == name }) - .next('label').css('font-weight', 'normal').end() - .filter(':checked') - .next('label').css('font-weight', 'bold').end(); - }) - .change(); - // Toogle checkbox all $('.form th>input:checkbox') .change(function() { diff --git a/modules/admin/tpl/js/admin.min.js b/modules/admin/tpl/js/admin.min.js index f251568e4..4cb08e5c2 100644 --- a/modules/admin/tpl/js/admin.min.js +++ b/modules/admin/tpl/js/admin.min.js @@ -1,46 +1,46 @@ jQuery(function(a){a(".form li").find('>input:text:not(".notmulti"),>input:password,>textarea').filter('input[value!=""],textarea:not(:empty)').prev("label").css("visibility","hidden").end().end().prev("label").addClass("overlap").css({top:"15px",left:"5px"}).next().focus(function(){var b=a(this).prev().stop().animate({opacity:0,left:"25px"},"fast",function(){b.css("visibility","hidden")})}).blur(function(){var b=a(this);""==a.trim(b.val())&&b.prev().stop().css("visibility","visible").animate({opacity:1, -left:"5px"},"fast")}).end().parent().css("position","relative");var d=a("input:radio+label,input:checkbox+label").prev("input");d.change(function(){var b=a(this).attr("name");d.filter(function(){return this.name==b}).next("label").css("font-weight","normal").end().filter(":checked").next("label").css("font-weight","bold").end()}).change();a(".form th>input:checkbox").change(function(){var b=a(this),e=b.data("name");b.closest("table").find("input:checkbox").filter(function(){var b=a(this);return!b.prop("disabled")&& -(b.attr("name")==e||b.data("name")==e)}).prop("checked",b.prop("checked")).end().end().trigger("update.checkbox",[e,this.checked])});a.fn.xePagination=function(){this.not(".xe-pagination").addClass("xe-pagination").find("span.tgContent").css("whiteSpace","nowrap").end().find("a.tgAnchor").each(function(){var b=a(this);b.after(a(b.attr("href")))}).end();return this};a(".pagination").xePagination();a(".portlet .action").css({display:"none",position:"absolute"}).parent().mouseleave(function(){a(this).find(">.action").fadeOut(100)}).mouseenter(function(){a(this).find(">.action").fadeIn(100)}).focusin(function(){a(this).mouseenter()}).focusout(function(){var b= -a(this),e;clearTimeout(b.data("timer"));e=setTimeout(function(){b.find(":focus").length||b.mouseleave()},10);b.data("timer",e)});a(window).resize(function(){1300>a(document).width()?(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:odd").after('
              ')):(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:eq(2),.dashboard>.section>.portlet:eq(5)").after('
              '))});a(window).resize();a(".header>.siteTool>a.i").bind("before-open.tc", -function(){a(this).addClass("active").next("div.tgContent").find(">.section:gt(0)").hide().end().find(">.btnArea>button").show()}).bind("after-close.tc",function(){a(this).removeClass("active")}).next("#siteMapList").find(">.section:last").after('

              ').find("+p>button").click(function(){a(this).hide().parent().prevAll(".section").show()});a.fn.xeMask=function(){this.each(function(){var b=a(this),e=b.text();/^([\w\-\.]+?)@(([\w-]+\.)+[a-z]{2,})$/ig.test(e)&& -b.html(e.replace(/(@.+)$/,'...$1')).find(">.ellipsis").css({position:"absolute",zIndex:1}).hover(function(){a(this).next(".cover").mouseover()},function(){a(this).next(".cover").mouseout()}).end().find(">.cover").css({zIndex:2,opacity:0}).hover(function(){a(this).css("opacity",1).prev("span").css("visibility","hidden")},function(){a(this).css("opacity",0).prev("span").css("visibility","visible")}).end()})};a(".masked").xeMask()}); -jQuery(function(a){a.fn.xeMenu=function(){this.attr("role","navigation").find(">.nav-gnb>li").attr("role","menuitem").filter(":has(>ul)").attr("aria-haspopup","true").end().end().find(">.nav-gnb").mouseover(function(){a(this).parent(".gnb").addClass("active").end().find(">li>ul").css("height","auto").end()}).mouseleave(function(){a(this).parent(".gnb").removeClass("active").end().find(">li>ul").css("height","0").end()}).focusout(function(){var d=a(this);setTimeout(function(){d.find(":focus").length|| -d.mouseleave()},1)}).delegate("a",{focus:function(){a(this).mouseover()}})};a("div.gnb").xeMenu();a(".gnb>.mnv").change(function(){window.location.href=a(this).find("option:selected").val()})}); -jQuery(function(a){a.fn.xeModalWindow=function(){this.not(".xe-modal-window").addClass("xe-modal-window").each(function(){a(a(this).attr("href")).addClass("x").hide()}).click(function(){var d=a(this),b,e;b=a(d.attr("href"));b.parent("body").length||(e=a(''),e.click(function(){b.data("anchor").trigger("close.mw")}),b.prepend('').append('<\!--[if IE 6]>').find(">.fg").prepend(e).append(e.clone(!0)).end().appendTo("body")); -b.data("anchor",d);"showing"==b.data("state")?d.trigger("close.mw"):d.trigger("open.mw");return!1}).bind("open.mw",function(){var d=a(this),b,e;b=a.Event("before-open.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","showing");a("html,body").addClass("modalContainer");a(document).bind("keydown.mw",function(a){if(27==a.which)return d.trigger("close.mw"),!1});b.fadeIn(e,function(){d.trigger("after-open.mw")}).find(">.bg").height(a(document).height()).end().find("button.modalClose:first").focus()}).bind("close.mw", -function(){var d=a(this),b,e;b=a.Event("before-close.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","hiding");a("html,body").removeClass("modalContainer");b.fadeOut(e,function(){d.trigger("after-close.mw")});d.focus()})};a("a.modalAnchor").xeModalWindow();a("div.modal").addClass("x").hide()}); -jQuery(function(a){var d=!1;a.fn.xeContentToggler=function(){this.not(".xe-content-toggler").addClass("xe-content-toggler").each(function(){var b=a(this);$layer=a(b.attr("href"));$layer.hide().not(".xe-toggling-content").addClass("xe-toggling-content").mousedown(function(){d=!0}).focusout(function(){setTimeout(function(){!d&&(!$layer.find(":focus").length&&"showing"==$layer.data("state"))&&b.trigger("close.tc");d=!1},1)})}).click(function(){var b=a(this),e;e=a(b.attr("href"));e.data("anchor",b);"showing"== -e.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function b(){e.trigger("after-open.tc")}var e=a(this),j,g,f;j=a(e.attr("href"));g=e.data("effect");f=e.data("duration")||"fast";j.data("state","showing");e.trigger("before-open.tc");d=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||j.has(b).length)))return!0; -e.trigger("close.tc");return!1});switch(g){case "slide":j.slideDown(f,b);break;case "slide-h":g=j.css({"overflow-x":"",width:""}).width();j.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:g},f,function(){j.css({"overflow-x":"",width:""});b()});break;case "fade":j.fadeIn(f,b);break;default:j.show(),e.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){e.trigger("after-close.tc")}var e=a(this),d,g,f;a(document).unbind("mousedown.tc keydown.tc");d=a(e.attr("href"));g=e.data("effect"); -f=e.data("duration")||"fast";d.data("state","hiding");e.trigger("before-close.tc");switch(g){case "slide":d.slideUp(f,b);break;case "slide-h":d.animate({width:0},f,function(){d.hide();b()});break;case "fade":d.fadeOut(f,b);break;default:d.hide(),e.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); -jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var d,b,e;d=a(this);b=a(d.attr("href")).find(">ul");e=d.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:e},function(e){var g=e.site_list,f,k;b.empty();d.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(e.error||!a.isArray(g))d.trigger("close.tc");else{f=0;for(k=g.length;f< -k;f++)e=a("
            • ").appendTo(b),a('
            • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var j,g,f,k,n,h,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); -k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;j=e.pageY;h=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, -left:h.left,top:h.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:h.left,top:h.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=h.top-(j-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", -function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); -jQuery(function(a){var d=null,b=null,e=0,j=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var h=d.results,g,m;f.removeClass("loading");if(!d.error&&h&&!(0===h.length||e!=b+1)){l.empty();g=0;for(m=h.length;g').data("langkey", -h[g].name).text(h[g].value),a("
            • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), -!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container", -f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(j);j=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); -e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},j=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", -!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;j()}).find("h2 a").click(function(){p=!p;j();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,h;d=f.data("multilang-list");h=b.data("multilang-name");if(d&&d[h]){d=d[h];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", -h);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;j();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ +left:"5px"},"fast")}).end().parent().css("position","relative");a(".form th>input:checkbox").change(function(){var b=a(this),e=b.data("name");b.closest("table").find("input:checkbox").filter(function(){var b=a(this);return!b.prop("disabled")&&(b.attr("name")==e||b.data("name")==e)}).prop("checked",b.prop("checked")).end().end().trigger("update.checkbox",[e,this.checked])});a.fn.xePagination=function(){this.not(".xe-pagination").addClass("xe-pagination").find("span.tgContent").css("whiteSpace","nowrap").end().find("a.tgAnchor").each(function(){var b= +a(this);b.after(a(b.attr("href")))}).end();return this};a(".pagination").xePagination();a(".portlet .action").css({display:"none",position:"absolute"}).parent().mouseleave(function(){a(this).find(">.action").fadeOut(100)}).mouseenter(function(){a(this).find(">.action").fadeIn(100)}).focusin(function(){a(this).mouseenter()}).focusout(function(){var b=a(this),e;clearTimeout(b.data("timer"));e=setTimeout(function(){b.find(":focus").length||b.mouseleave()},10);b.data("timer",e)});a(window).resize(function(){1300> +a(document).width()?(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:odd").after('
              ')):(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:eq(2),.dashboard>.section>.portlet:eq(5)").after('
              '))});a(window).resize();a(".header>.siteTool>a.i").bind("before-open.tc",function(){a(this).addClass("active").next("div.tgContent").find(">.section:gt(0)").hide().end().find(">.btnArea>button").show()}).bind("after-close.tc", +function(){a(this).removeClass("active")}).next("#siteMapList").find(">.section:last").after('

              ').find("+p>button").click(function(){a(this).hide().parent().prevAll(".section").show()});a.fn.xeMask=function(){this.each(function(){var b=a(this),e=b.text();/^([\w\-\.]+?)@(([\w-]+\.)+[a-z]{2,})$/ig.test(e)&&b.html(e.replace(/(@.+)$/,'...$1')).find(">.ellipsis").css({position:"absolute", +zIndex:1}).hover(function(){a(this).next(".cover").mouseover()},function(){a(this).next(".cover").mouseout()}).end().find(">.cover").css({zIndex:2,opacity:0}).hover(function(){a(this).css("opacity",1).prev("span").css("visibility","hidden")},function(){a(this).css("opacity",0).prev("span").css("visibility","visible")}).end()})};a(".masked").xeMask()}); +jQuery(function(a){a.fn.xeMenu=function(){this.attr("role","navigation").find(">.nav-gnb>li").attr("role","menuitem").filter(":has(>ul)").attr("aria-haspopup","true").end().end().find(">.nav-gnb").mouseover(function(){a(this).parent(".gnb").addClass("active").end().find(">li>ul").css("height","auto").end()}).mouseleave(function(){a(this).parent(".gnb").removeClass("active").end().find(">li>ul").css("height","0").end()}).focusout(function(){var b=a(this);setTimeout(function(){b.find(":focus").length|| +b.mouseleave()},1)}).delegate("a",{focus:function(){a(this).mouseover()}})};a("div.gnb").xeMenu();a(".gnb>.mnv").change(function(){window.location.href=a(this).find("option:selected").val()})}); +jQuery(function(a){a.fn.xeModalWindow=function(){this.not(".xe-modal-window").addClass("xe-modal-window").each(function(){a(a(this).attr("href")).addClass("x").hide()}).click(function(){var b=a(this),e,d;e=a(b.attr("href"));e.parent("body").length||(d=a(''),d.click(function(){e.data("anchor").trigger("close.mw")}),e.prepend('').append('<\!--[if IE 6]>').find(">.fg").prepend(d).append(d.clone(!0)).end().appendTo("body")); +e.data("anchor",b);"showing"==e.data("state")?b.trigger("close.mw"):b.trigger("open.mw");return!1}).bind("open.mw",function(){var b=a(this),e,d;e=a.Event("before-open.mw");b.trigger(e);if(e.isDefaultPrevented())return!1;e=a(b.attr("href"));d=b.data("duration")||"fast";e.data("state","showing");a("html,body").addClass("modalContainer");a(document).bind("keydown.mw",function(a){if(27==a.which)return b.trigger("close.mw"),!1});e.fadeIn(d,function(){b.trigger("after-open.mw")}).find(">.bg").height(a(document).height()).end().find("button.modalClose:first").focus()}).bind("close.mw", +function(){var b=a(this),e,d;e=a.Event("before-close.mw");b.trigger(e);if(e.isDefaultPrevented())return!1;e=a(b.attr("href"));d=b.data("duration")||"fast";e.data("state","hiding");a("html,body").removeClass("modalContainer");e.fadeOut(d,function(){b.trigger("after-close.mw")});b.focus()})};a("a.modalAnchor").xeModalWindow();a("div.modal").addClass("x").hide()}); +jQuery(function(a){var b=!1;a.fn.xeContentToggler=function(){this.not(".xe-content-toggler").addClass("xe-content-toggler").each(function(){var e=a(this);$layer=a(e.attr("href"));$layer.hide().not(".xe-toggling-content").addClass("xe-toggling-content").mousedown(function(){b=!0}).focusout(function(){setTimeout(function(){!b&&(!$layer.find(":focus").length&&"showing"==$layer.data("state"))&&e.trigger("close.tc");b=!1},1)})}).click(function(){var b=a(this),d;d=a(b.attr("href"));d.data("anchor",b);"showing"== +d.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function e(){d.trigger("after-open.tc")}var d=a(this),g,h,f;g=a(d.attr("href"));h=d.data("effect");f=d.data("duration")||"fast";g.data("state","showing");d.trigger("before-open.tc");b=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||g.has(b).length)))return!0; +d.trigger("close.tc");return!1});switch(h){case "slide":g.slideDown(f,e);break;case "slide-h":h=g.css({"overflow-x":"",width:""}).width();g.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:h},f,function(){g.css({"overflow-x":"",width:""});e()});break;case "fade":g.fadeIn(f,e);break;default:g.show(),d.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){d.trigger("after-close.tc")}var d=a(this),g,h,f;a(document).unbind("mousedown.tc keydown.tc");g=a(d.attr("href"));h=d.data("effect"); +f=d.data("duration")||"fast";g.data("state","hiding");d.trigger("before-close.tc");switch(h){case "slide":g.slideUp(f,b);break;case "slide-h":g.animate({width:0},f,function(){g.hide();b()});break;case "fade":g.fadeOut(f,b);break;default:g.hide(),d.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); +jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var b,e,d;b=a(this);e=a(b.attr("href")).find(">ul");d=b.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:d},function(d){var h=d.site_list,f,k;e.empty();b.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(d.error||!a.isArray(h))b.trigger("close.tc");else{f=0;for(k=h.length;f< +k;f++)d=a("
            • ").appendTo(e),a('
            • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(d){var g,h,f,k,n,j,o,m,l,q;if(1==d.which){h=a(this);f=h.closest("tr");k=h.closest("table");q=k.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); +k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;g=d.pageY;j=b(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(d=k.find("thead th")).length;d.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});e.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var e=a(this),d;d=b(this,q);o.push({top:d.top,bottom:d.top+e.height(),$item:e})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, +left:j.left,top:j.top,zIndex:100});e.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var b,d,f;m=null;a=j.top-(g-a.pageY);b=0;for(d=o.length;ba||ba-12?(m.state="before",e.css("top",f.top-5)):(m.state="after",e.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +function(){var b;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();e.remove();m&&(b=a(m.element),b[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); +jQuery(function(a){var b=null,e=null,d=0,g=null,h=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function b(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:g},function(b){return function(e){var g=e.results,j,h;f.removeClass("loading");if(!e.error&&g&&!(0===g.length||d!=b+1)){l.empty();j=0;for(h=g.length;j').data("langkey", +g[j].name).text(g[j].value),a("
            • ").append(e).appendTo(l);k.trigger("show")}}}(d++));show_waiting_message=!0}var f=a(this),g=a.trim(f.val()),l;e&&(clearTimeout(e),e=null);f.data("mle-container");l=k.find(">ul");!g||h?(h=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(g),e=setTimeout(b,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), +!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var e=a(this),d=a.trim(e.val()),f=e.closest(".multiLangEdit");e.after(k);e.data("mle-container")||e.data("mle-container", +f);e.data("mle-langkey")||e.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(e.val());f!=d&&(d=f,e.trigger("textchange"));b=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(b);b=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(g);g=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},h=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;h()}).find("h2 a").click(function(){p=!p;h();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +j);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;h();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);g=!0;k.trigger("hide"); +d);f=e.find(".langList");a.each(d,function(b){var d=a("
            • ").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;k.trigger("hide"); b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
                ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); -jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(g){e.html(g.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", -function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1})}var b,e,j;b=a(this);j=b.attr("href");e=a(j).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); -function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
                ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminInstall",d,completeInstallModule);showWaitingFogLayer()} -function doUpdateModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminUpdate",d,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} -jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var d=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var b=a(".x .dsTg td.tg>p:not(:first-child)");d.click(function(){d.toggleClass("details");b.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= +jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function b(h){d.html(h.html);d.find(".lined .select").bind("click",function(){var b=a("input.select_checkbox:checked");0==b.length?(b=a(this).parent().find("img.filebox_item").attr("src"))?(e.trigger("filebox.selected",[b]),e.trigger("close.mw")):alert("None selected!"):(e.trigger("filebox.selected",[b]),e.trigger("close.mw"));return!1});d.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", +function(){var d=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var d=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1})}var e,d,g;e=a(this);g=e.attr("href");d=a(g).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},b)})}); +function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
                ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminInstall",b,completeInstallModule);showWaitingFogLayer()} +function doUpdateModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminUpdate",b,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} +jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var b=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var e=a(".x .dsTg td.tg>p:not(:first-child)");b.click(function(){b.toggleClass("details");e.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= a('');a(this).append(b);b.click(function(){var b=a(this),d=b.parent().nextUntil(".h2, .h3").not(".langEdit, .tgContent, .modal");b.parent().next().is(":hidden")?(b.find("i").attr("class","icon-chevron-up"),d.slideDown(200)):(b.find("i").attr("class","icon-chevron-down"),d.slideUp(200))})})}); From bbcef7ad510c945dabda841b7994143f23e67b61 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 04:15:31 +0000 Subject: [PATCH 62/94] version up to 1.5.3.3 git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11282 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- config/config.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.inc.php b/config/config.inc.php index 7f3cc2592..a159bf18b 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -14,7 +14,7 @@ * Display XE's full version * Even The file should be revised when releasing altough no change is made */ - define('__XE_VERSION__', '1.5.3.2'); + define('__XE_VERSION__', '1.5.3.3'); /** * @deprecated __ZBXE_VERSION__ will be removed. Use __XE_VERSION__ instead. From 45f8ff88ed4355ad828754393737b111e09fe5a0 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 06:48:49 +0000 Subject: [PATCH 63/94] issue 1945, do not display incorrect packages git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11301 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/autoinstall/autoinstall.admin.view.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/autoinstall/autoinstall.admin.view.php b/modules/autoinstall/autoinstall.admin.view.php index 1d4ac4abd..e1bdaf691 100644 --- a/modules/autoinstall/autoinstall.admin.view.php +++ b/modules/autoinstall/autoinstall.admin.view.php @@ -259,10 +259,23 @@ $res = array(); foreach($package_list as $package_srl => $package) { - $res[] = $item_list[$package_srl]; + if($item_list[$package_srl]) + { + $res[] = $item_list[$package_srl]; + } } Context::set('item_list', $res); } + + if(count($package_list) != count($res)) + { + $localPackageSrls = array_keys($package_list); + $remotePackageSrls = array_keys($item_list); + $targetPackageSrls = array_diff($localPackageSrls, $remotePackageSrls); + $countDiff = count($targetPackageSrls); + $output->page_navigation->total_count -= $countDiff; + } + Context::set('page_navigation', $output->page_navigation); $this->setTemplateFile('index'); From f6dfbbc03f4b89b8b1e6f6d3154307ea7702c1b9 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 07:23:16 +0000 Subject: [PATCH 64/94] issue 1772, prevent error git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11302 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 4c20d0c6a..0c08c8e16 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -1137,7 +1137,7 @@ class Context { if(is_array($val) && count($val)) { foreach($val as $k => $v) $queries[] = $key.'['.$k.']='.urlencode($v); } else { - $queries[] = $key.'='.urlencode($val); + $queries[] = $key.'='.@urlencode($val); } } if(count($queries)) $query = 'index.php?'.implode('&', $queries); From 3f6fc389a77f188795df54f9938941ad60fd77a5 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 09:06:10 +0000 Subject: [PATCH 65/94] issue 1763, fixed a bug that trackback is not work. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11309 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .htaccess | 2 + classes/context/Context.class.php | 4 +- modules/trackback/lang/lang.xml | 6 ++- modules/trackback/trackback.controller.php | 63 +++++++++------------- modules/trackback/trackback.model.php | 4 +- 5 files changed, 36 insertions(+), 43 deletions(-) diff --git a/.htaccess b/.htaccess index 68a5d3209..4211d80b3 100644 --- a/.htaccess +++ b/.htaccess @@ -22,7 +22,9 @@ RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?vid=$1& # trackback RewriteRule ^([0-9]+)/(.+)/trackback$ ./index.php?document_srl=$1&key=$2&act=trackback [L] +RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?mid=$1&document_srl=$2&key=$3&act=trackback [L] RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&document_srl=$2&key=$3&act=trackback [L] +RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&mid=$2&document_srl=$3&key=$4&act=trackback [L] # administrator page RewriteRule ^admin/?$ ./index.php?module=admin [L] diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 0c08c8e16..9b090458e 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -1125,7 +1125,9 @@ class Context { 'act.mid' =>$is_feed?"$mid/$act":'', 'act.mid.vid'=>$is_feed?"$vid/$mid/$act":'', 'act.document_srl.key' =>($act=='trackback')?"$srl/$key/$act":'', - 'act.document_srl.key.vid'=>($act=='trackback')?"$vid/$srl/$key/$act":'' + 'act.document_srl.key.mid'=>($act=='trackback')?"$mid/$srl/$key/$act":'', + 'act.document_srl.key.vid'=>($act=='trackback')?"$vid/$srl/$key/$act":'', + 'act.document_srl.key.mid.vid'=>($act=='trackback')?"$vid/$mid/$srl/$key/$act":'' ); $query = $target_map[$target]; diff --git a/modules/trackback/lang/lang.xml b/modules/trackback/lang/lang.xml index aff0a2870..ed0fe6ead 100644 --- a/modules/trackback/lang/lang.xml +++ b/modules/trackback/lang/lang.xml @@ -200,4 +200,8 @@ - \ No newline at end of file + + + + + diff --git a/modules/trackback/trackback.controller.php b/modules/trackback/trackback.controller.php index 1075109c0..8a08d0c3e 100644 --- a/modules/trackback/trackback.controller.php +++ b/modules/trackback/trackback.controller.php @@ -97,7 +97,7 @@ $document_srl = Context::get('target_srl'); $oDocumentModel = &getModel('document'); $oDocument = $oDocumentModel->getDocument($document_srl); - if(!$oDocument->isExists() || !$oDocument->getSummary()) return new Object(); + if(!$oDocument->isExists()) return new Object(); if($oDocument->getMemberSrl() != $logged_info->member_srl) return new Object(); // Add a link sent yeokingeul $oDocumentController = &getController('document'); @@ -278,22 +278,22 @@ */ function sendTrackback($oDocument, $trackback_url, $charset) { $oModuleController = &getController('module'); + // Information sent by $http = parse_url($trackback_url); + $obj->blog_name = str_replace(array('<','>','&','"'), array('<','>','&','"'), Context::getBrowserTitle()); $oModuleController->replaceDefinedLangCode($obj->blog_name); $obj->title = $oDocument->getTitleText(); $obj->excerpt = $oDocument->getSummary(200); $obj->url = getFullUrl('','document_srl',$oDocument->document_srl); + // blog_name, title, excerpt, url charset of the string to the requested change if($charset && function_exists('iconv')) { foreach($obj as $key=>$val) { $obj->{$key} = iconv('UTF-8',$charset,$val); } } - // written information sent to socket - if($http['query']) $http['query'].="&"; - if(!$http['port']) $http['port'] = 80; $content = sprintf( @@ -306,42 +306,27 @@ urlencode($obj->blog_name), urlencode($obj->excerpt) ); - if($http['query']) $content .= '&'.$http['query']; - $content_length = strlen($content); - // header by - $header = - sprintf( - "POST %s HTTP/1.1\r\n". - "Host: %s\r\n". - "Content-Type: %s\r\n". - "Content-Length: %s\r\n\r\n". - "%s\r\n", - $http['path'], - $http['host'], - "application/x-www-form-urlencoded", - $content_length, - $content - ); - if(!$http['host']||!$http['port']) return new Object(-1,'msg_trackback_url_is_invalid'); - // Opens a socket on the target server you want to send - $fp = @fsockopen($http['host'], $http['port'], $errno, $errstr, 5); - if(!$fp) return new Object(-1,'msg_trackback_url_is_invalid'); - // Header information sent by - fputs($fp, $header); - // Waiting for the results (in particular the server may not be falling EOF - while(!feof($fp)) { - $line = trim(fgets($fp, 4096)); - if(preg_match("/^/i",$line)){ - $error = preg_replace('/[^0-9]/','',$line); - break; - } - } - // Close socket - fclose($fp); - if($error == "0") return new Object(0, 'msg_trackback_send_success'); - - return new Object(-1, 'msg_trackback_send_failed'); + $buff = FileHandler::getRemoteResource($trackback_url, $content, 3, 'POST', 'application/x-www-form-urlencoded'); + + $oXmlParser = new XmlParser(); + $xmlDoc = $oXmlParser->parse($buff); + + if($xmlDoc->response->error->body == '0') + { + return new Object(0, 'msg_trackback_send_success'); + } + else + { + if($xmlDoc->response->message->body) + { + return new Object(-1, sprintf('%s: %s', Context::getLang('msg_trackback_send_failed'), $xmlDoc->response->message->body)); + } + else + { + return new Object(-1, 'msg_trackback_send_failed'); + } + } } /** diff --git a/modules/trackback/trackback.model.php b/modules/trackback/trackback.model.php index d644c0251..211da4abd 100644 --- a/modules/trackback/trackback.model.php +++ b/modules/trackback/trackback.model.php @@ -158,8 +158,8 @@ * @param int $document_srl * @return string */ - function getTrackbackUrl($document_srl) { - $url = getFullUrl('','document_srl',$document_srl,'act','trackback','key',$this->getTrackbackKey($document_srl)); + function getTrackbackUrl($document_srl, $mid = NULL) { + $url = getFullUrl('', 'mid', $mid, 'document_srl',$document_srl,'act','trackback','key',$this->getTrackbackKey($document_srl)); return $url; } From 1f211be064eaf7fb67e84e8164741a3d5d61e2c9 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 18 Sep 2012 09:17:42 +0000 Subject: [PATCH 66/94] issue 1763, fixed a bug that trackback is not work. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11311 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.item.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 453d60ab0..567873db9 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -509,7 +509,7 @@ if(!$this->document_srl) return; // Generate a key to prevent spams $oTrackbackModel = &getModel('trackback'); - return $oTrackbackModel->getTrackbackUrl($this->document_srl); + return $oTrackbackModel->getTrackbackUrl($this->document_srl, $this->getDocumentMid()); } /** From d436cd26aaaf145ff8c6040f3fc8999395720f9b Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 19 Sep 2012 07:13:52 +0000 Subject: [PATCH 67/94] issue 2503, fixed a bug. execute timeout on sitemap page, if there are so many module instance. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11377 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/menu/menu.admin.view.php | 2 +- modules/module/module.model.php | 5 +++++ modules/module/tpl/skin_config.html | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/menu/menu.admin.view.php b/modules/menu/menu.admin.view.php index a1f18dcfc..fe3b5280e 100644 --- a/modules/menu/menu.admin.view.php +++ b/modules/menu/menu.admin.view.php @@ -222,7 +222,7 @@ function _menuInfoSetting(&$menu) { $oModuleModel = &getModel('module'); - if(!preg_match('/^http/i', $menu['url'])) + if($menu['url'] && !preg_match('/^http/i', $menu['url'])) { unset($midInfo); unset($moduleInfo); diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 4af881a94..33ebb9230 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -151,6 +151,11 @@ * @brief Get module information by mid **/ function getModuleInfoByMid($mid, $site_srl = 0, $columnList = array()) { + if(!$mid) + { + return; + } + $args->mid = $mid; $args->site_srl = (int)$site_srl; $oCacheHandler = &CacheHandler::getInstance('object'); diff --git a/modules/module/tpl/skin_config.html b/modules/module/tpl/skin_config.html index 22d7eb640..38285ace4 100644 --- a/modules/module/tpl/skin_config.html +++ b/modules/module/tpl/skin_config.html @@ -100,7 +100,7 @@

                - +

                From 30aafc6d6fc090650e7cb16db2dc20eccdf26158 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 19 Sep 2012 08:00:30 +0000 Subject: [PATCH 68/94] minify git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11381 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/admin.min.js | 82 +++++++++++++++---------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/modules/admin/tpl/js/admin.min.js b/modules/admin/tpl/js/admin.min.js index f251568e4..4cb08e5c2 100644 --- a/modules/admin/tpl/js/admin.min.js +++ b/modules/admin/tpl/js/admin.min.js @@ -1,46 +1,46 @@ jQuery(function(a){a(".form li").find('>input:text:not(".notmulti"),>input:password,>textarea').filter('input[value!=""],textarea:not(:empty)').prev("label").css("visibility","hidden").end().end().prev("label").addClass("overlap").css({top:"15px",left:"5px"}).next().focus(function(){var b=a(this).prev().stop().animate({opacity:0,left:"25px"},"fast",function(){b.css("visibility","hidden")})}).blur(function(){var b=a(this);""==a.trim(b.val())&&b.prev().stop().css("visibility","visible").animate({opacity:1, -left:"5px"},"fast")}).end().parent().css("position","relative");var d=a("input:radio+label,input:checkbox+label").prev("input");d.change(function(){var b=a(this).attr("name");d.filter(function(){return this.name==b}).next("label").css("font-weight","normal").end().filter(":checked").next("label").css("font-weight","bold").end()}).change();a(".form th>input:checkbox").change(function(){var b=a(this),e=b.data("name");b.closest("table").find("input:checkbox").filter(function(){var b=a(this);return!b.prop("disabled")&& -(b.attr("name")==e||b.data("name")==e)}).prop("checked",b.prop("checked")).end().end().trigger("update.checkbox",[e,this.checked])});a.fn.xePagination=function(){this.not(".xe-pagination").addClass("xe-pagination").find("span.tgContent").css("whiteSpace","nowrap").end().find("a.tgAnchor").each(function(){var b=a(this);b.after(a(b.attr("href")))}).end();return this};a(".pagination").xePagination();a(".portlet .action").css({display:"none",position:"absolute"}).parent().mouseleave(function(){a(this).find(">.action").fadeOut(100)}).mouseenter(function(){a(this).find(">.action").fadeIn(100)}).focusin(function(){a(this).mouseenter()}).focusout(function(){var b= -a(this),e;clearTimeout(b.data("timer"));e=setTimeout(function(){b.find(":focus").length||b.mouseleave()},10);b.data("timer",e)});a(window).resize(function(){1300>a(document).width()?(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:odd").after('
                ')):(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:eq(2),.dashboard>.section>.portlet:eq(5)").after('
                '))});a(window).resize();a(".header>.siteTool>a.i").bind("before-open.tc", -function(){a(this).addClass("active").next("div.tgContent").find(">.section:gt(0)").hide().end().find(">.btnArea>button").show()}).bind("after-close.tc",function(){a(this).removeClass("active")}).next("#siteMapList").find(">.section:last").after('

                ').find("+p>button").click(function(){a(this).hide().parent().prevAll(".section").show()});a.fn.xeMask=function(){this.each(function(){var b=a(this),e=b.text();/^([\w\-\.]+?)@(([\w-]+\.)+[a-z]{2,})$/ig.test(e)&& -b.html(e.replace(/(@.+)$/,'...$1')).find(">.ellipsis").css({position:"absolute",zIndex:1}).hover(function(){a(this).next(".cover").mouseover()},function(){a(this).next(".cover").mouseout()}).end().find(">.cover").css({zIndex:2,opacity:0}).hover(function(){a(this).css("opacity",1).prev("span").css("visibility","hidden")},function(){a(this).css("opacity",0).prev("span").css("visibility","visible")}).end()})};a(".masked").xeMask()}); -jQuery(function(a){a.fn.xeMenu=function(){this.attr("role","navigation").find(">.nav-gnb>li").attr("role","menuitem").filter(":has(>ul)").attr("aria-haspopup","true").end().end().find(">.nav-gnb").mouseover(function(){a(this).parent(".gnb").addClass("active").end().find(">li>ul").css("height","auto").end()}).mouseleave(function(){a(this).parent(".gnb").removeClass("active").end().find(">li>ul").css("height","0").end()}).focusout(function(){var d=a(this);setTimeout(function(){d.find(":focus").length|| -d.mouseleave()},1)}).delegate("a",{focus:function(){a(this).mouseover()}})};a("div.gnb").xeMenu();a(".gnb>.mnv").change(function(){window.location.href=a(this).find("option:selected").val()})}); -jQuery(function(a){a.fn.xeModalWindow=function(){this.not(".xe-modal-window").addClass("xe-modal-window").each(function(){a(a(this).attr("href")).addClass("x").hide()}).click(function(){var d=a(this),b,e;b=a(d.attr("href"));b.parent("body").length||(e=a(''),e.click(function(){b.data("anchor").trigger("close.mw")}),b.prepend('').append('<\!--[if IE 6]>').find(">.fg").prepend(e).append(e.clone(!0)).end().appendTo("body")); -b.data("anchor",d);"showing"==b.data("state")?d.trigger("close.mw"):d.trigger("open.mw");return!1}).bind("open.mw",function(){var d=a(this),b,e;b=a.Event("before-open.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","showing");a("html,body").addClass("modalContainer");a(document).bind("keydown.mw",function(a){if(27==a.which)return d.trigger("close.mw"),!1});b.fadeIn(e,function(){d.trigger("after-open.mw")}).find(">.bg").height(a(document).height()).end().find("button.modalClose:first").focus()}).bind("close.mw", -function(){var d=a(this),b,e;b=a.Event("before-close.mw");d.trigger(b);if(b.isDefaultPrevented())return!1;b=a(d.attr("href"));e=d.data("duration")||"fast";b.data("state","hiding");a("html,body").removeClass("modalContainer");b.fadeOut(e,function(){d.trigger("after-close.mw")});d.focus()})};a("a.modalAnchor").xeModalWindow();a("div.modal").addClass("x").hide()}); -jQuery(function(a){var d=!1;a.fn.xeContentToggler=function(){this.not(".xe-content-toggler").addClass("xe-content-toggler").each(function(){var b=a(this);$layer=a(b.attr("href"));$layer.hide().not(".xe-toggling-content").addClass("xe-toggling-content").mousedown(function(){d=!0}).focusout(function(){setTimeout(function(){!d&&(!$layer.find(":focus").length&&"showing"==$layer.data("state"))&&b.trigger("close.tc");d=!1},1)})}).click(function(){var b=a(this),e;e=a(b.attr("href"));e.data("anchor",b);"showing"== -e.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function b(){e.trigger("after-open.tc")}var e=a(this),j,g,f;j=a(e.attr("href"));g=e.data("effect");f=e.data("duration")||"fast";j.data("state","showing");e.trigger("before-open.tc");d=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||j.has(b).length)))return!0; -e.trigger("close.tc");return!1});switch(g){case "slide":j.slideDown(f,b);break;case "slide-h":g=j.css({"overflow-x":"",width:""}).width();j.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:g},f,function(){j.css({"overflow-x":"",width:""});b()});break;case "fade":j.fadeIn(f,b);break;default:j.show(),e.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){e.trigger("after-close.tc")}var e=a(this),d,g,f;a(document).unbind("mousedown.tc keydown.tc");d=a(e.attr("href"));g=e.data("effect"); -f=e.data("duration")||"fast";d.data("state","hiding");e.trigger("before-close.tc");switch(g){case "slide":d.slideUp(f,b);break;case "slide-h":d.animate({width:0},f,function(){d.hide();b()});break;case "fade":d.fadeOut(f,b);break;default:d.hide(),e.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); -jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var d,b,e;d=a(this);b=a(d.attr("href")).find(">ul");e=d.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:e},function(e){var g=e.site_list,f,k;b.empty();d.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(e.error||!a.isArray(g))d.trigger("close.tc");else{f=0;for(k=g.length;f< -k;f++)e=a("
              • ").appendTo(b),a('
              • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(e){var j,g,f,k,n,h,o,m,l,q;if(1==e.which){g=a(this);f=g.closest("tr");k=g.closest("table");q=k.get(0).offsetParent;g=f.height();n=f.width();before_event=a.Event("before-drag.st"); -k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;j=e.pageY;h=d(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(e=k.find("thead th")).length;e.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});b.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var b=a(this),e;e=d(this,q);o.push({top:e.top,bottom:e.top+b.height(),$item:b})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:g, -left:h.left,top:h.top,zIndex:100});b.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:h.left,top:h.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var e,d,f;m=null;a=h.top-(j-a.pageY);e=0;for(d=o.length;ea||ea-12?(m.state="before",b.css("top",f.top-5)):(m.state="after",b.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", -function(){var e;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();b.remove();m&&(e=a(m.element),e[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); -jQuery(function(a){var d=null,b=null,e=0,j=null,g=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function d(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:m},function(b){return function(d){var h=d.results,g,m;f.removeClass("loading");if(!d.error&&h&&!(0===h.length||e!=b+1)){l.empty();g=0;for(m=h.length;g').data("langkey", -h[g].name).text(h[g].value),a("
              • ").append(d).appendTo(l);k.trigger("show")}}}(e++));show_waiting_message=!0}var f=a(this),m=a.trim(f.val()),l;b&&(clearTimeout(b),b=null);f.data("mle-container");l=k.find(">ul");!m||g?(g=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(m),b=setTimeout(d,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), -!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var b=a(this),e=a.trim(b.val()),f=b.closest(".multiLangEdit");b.after(k);b.data("mle-container")||b.data("mle-container", -f);b.data("mle-langkey")||b.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(b.val());f!=e&&(e=f,b.trigger("textchange"));d=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(d);d=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(j);j=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); -e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},j=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", -!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;j()}).find("h2 a").click(function(){p=!p;j();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,h;d=f.data("multilang-list");h=b.data("multilang-name");if(d&&d[h]){d=d[h];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", -h);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;j();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ +left:"5px"},"fast")}).end().parent().css("position","relative");a(".form th>input:checkbox").change(function(){var b=a(this),e=b.data("name");b.closest("table").find("input:checkbox").filter(function(){var b=a(this);return!b.prop("disabled")&&(b.attr("name")==e||b.data("name")==e)}).prop("checked",b.prop("checked")).end().end().trigger("update.checkbox",[e,this.checked])});a.fn.xePagination=function(){this.not(".xe-pagination").addClass("xe-pagination").find("span.tgContent").css("whiteSpace","nowrap").end().find("a.tgAnchor").each(function(){var b= +a(this);b.after(a(b.attr("href")))}).end();return this};a(".pagination").xePagination();a(".portlet .action").css({display:"none",position:"absolute"}).parent().mouseleave(function(){a(this).find(">.action").fadeOut(100)}).mouseenter(function(){a(this).find(">.action").fadeIn(100)}).focusin(function(){a(this).mouseenter()}).focusout(function(){var b=a(this),e;clearTimeout(b.data("timer"));e=setTimeout(function(){b.find(":focus").length||b.mouseleave()},10);b.data("timer",e)});a(window).resize(function(){1300> +a(document).width()?(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:odd").after('
                ')):(a(".dashboard>.section>br").remove(),a(".dashboard>.section>.portlet:eq(2),.dashboard>.section>.portlet:eq(5)").after('
                '))});a(window).resize();a(".header>.siteTool>a.i").bind("before-open.tc",function(){a(this).addClass("active").next("div.tgContent").find(">.section:gt(0)").hide().end().find(">.btnArea>button").show()}).bind("after-close.tc", +function(){a(this).removeClass("active")}).next("#siteMapList").find(">.section:last").after('

                ').find("+p>button").click(function(){a(this).hide().parent().prevAll(".section").show()});a.fn.xeMask=function(){this.each(function(){var b=a(this),e=b.text();/^([\w\-\.]+?)@(([\w-]+\.)+[a-z]{2,})$/ig.test(e)&&b.html(e.replace(/(@.+)$/,'...$1')).find(">.ellipsis").css({position:"absolute", +zIndex:1}).hover(function(){a(this).next(".cover").mouseover()},function(){a(this).next(".cover").mouseout()}).end().find(">.cover").css({zIndex:2,opacity:0}).hover(function(){a(this).css("opacity",1).prev("span").css("visibility","hidden")},function(){a(this).css("opacity",0).prev("span").css("visibility","visible")}).end()})};a(".masked").xeMask()}); +jQuery(function(a){a.fn.xeMenu=function(){this.attr("role","navigation").find(">.nav-gnb>li").attr("role","menuitem").filter(":has(>ul)").attr("aria-haspopup","true").end().end().find(">.nav-gnb").mouseover(function(){a(this).parent(".gnb").addClass("active").end().find(">li>ul").css("height","auto").end()}).mouseleave(function(){a(this).parent(".gnb").removeClass("active").end().find(">li>ul").css("height","0").end()}).focusout(function(){var b=a(this);setTimeout(function(){b.find(":focus").length|| +b.mouseleave()},1)}).delegate("a",{focus:function(){a(this).mouseover()}})};a("div.gnb").xeMenu();a(".gnb>.mnv").change(function(){window.location.href=a(this).find("option:selected").val()})}); +jQuery(function(a){a.fn.xeModalWindow=function(){this.not(".xe-modal-window").addClass("xe-modal-window").each(function(){a(a(this).attr("href")).addClass("x").hide()}).click(function(){var b=a(this),e,d;e=a(b.attr("href"));e.parent("body").length||(d=a(''),d.click(function(){e.data("anchor").trigger("close.mw")}),e.prepend('').append('<\!--[if IE 6]>').find(">.fg").prepend(d).append(d.clone(!0)).end().appendTo("body")); +e.data("anchor",b);"showing"==e.data("state")?b.trigger("close.mw"):b.trigger("open.mw");return!1}).bind("open.mw",function(){var b=a(this),e,d;e=a.Event("before-open.mw");b.trigger(e);if(e.isDefaultPrevented())return!1;e=a(b.attr("href"));d=b.data("duration")||"fast";e.data("state","showing");a("html,body").addClass("modalContainer");a(document).bind("keydown.mw",function(a){if(27==a.which)return b.trigger("close.mw"),!1});e.fadeIn(d,function(){b.trigger("after-open.mw")}).find(">.bg").height(a(document).height()).end().find("button.modalClose:first").focus()}).bind("close.mw", +function(){var b=a(this),e,d;e=a.Event("before-close.mw");b.trigger(e);if(e.isDefaultPrevented())return!1;e=a(b.attr("href"));d=b.data("duration")||"fast";e.data("state","hiding");a("html,body").removeClass("modalContainer");e.fadeOut(d,function(){b.trigger("after-close.mw")});b.focus()})};a("a.modalAnchor").xeModalWindow();a("div.modal").addClass("x").hide()}); +jQuery(function(a){var b=!1;a.fn.xeContentToggler=function(){this.not(".xe-content-toggler").addClass("xe-content-toggler").each(function(){var e=a(this);$layer=a(e.attr("href"));$layer.hide().not(".xe-toggling-content").addClass("xe-toggling-content").mousedown(function(){b=!0}).focusout(function(){setTimeout(function(){!b&&(!$layer.find(":focus").length&&"showing"==$layer.data("state"))&&e.trigger("close.tc");b=!1},1)})}).click(function(){var b=a(this),d;d=a(b.attr("href"));d.data("anchor",b);"showing"== +d.data("state")?b.trigger("close.tc"):b.trigger("open.tc");return!1}).bind("open.tc",function(){function e(){d.trigger("after-open.tc")}var d=a(this),g,h,f;g=a(d.attr("href"));h=d.data("effect");f=d.data("duration")||"fast";g.data("state","showing");d.trigger("before-open.tc");b=!1;a(document).unbind("mousedown.tc keydown.tc").bind("mousedown.tc keydown.tc",function(b){if(b&&("keydown"==b.type&&27!=b.which||"mousedown"==b.type&&(b=a(b.target),b.is("html,.tgAnchor,.tgContent")||g.has(b).length)))return!0; +d.trigger("close.tc");return!1});switch(h){case "slide":g.slideDown(f,e);break;case "slide-h":h=g.css({"overflow-x":"",width:""}).width();g.show().css({"overflow-x":"hidden",width:"0px"}).animate({width:h},f,function(){g.css({"overflow-x":"",width:""});e()});break;case "fade":g.fadeIn(f,e);break;default:g.show(),d.trigger("after-open.tc")}}).bind("close.tc",function(){function b(){d.trigger("after-close.tc")}var d=a(this),g,h,f;a(document).unbind("mousedown.tc keydown.tc");g=a(d.attr("href"));h=d.data("effect"); +f=d.data("duration")||"fast";g.data("state","hiding");d.trigger("before-close.tc");switch(h){case "slide":g.slideUp(f,b);break;case "slide-h":g.animate({width:0},f,function(){g.hide();b()});break;case "fade":g.fadeOut(f,b);break;default:g.hide(),d.trigger("after-close.tc")}});return this};a("a.tgAnchor").xeContentToggler()}); +jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder").addClass("xe-module-finder").find("a.tgAnchor.findsite").bind("before-open.tc",function(){var b,e,d;b=a(this);e=a(b.attr("href")).find(">ul");d=b.prev("input:text").val();a.exec_json("admin.getSiteAllList",{domain:d},function(d){var h=d.site_list,f,k;e.empty();b.closest(".modulefinder").find(".moduleList,.moduleIdList").attr("disabled","disabled");if(d.error||!a.isArray(h))b.trigger("close.tc");else{f=0;for(k=h.length;f< +k;f++)d=a("
              • ").appendTo(e),a('
              • ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(d){var g,h,f,k,n,j,o,m,l,q;if(1==d.which){h=a(this);f=h.closest("tr");k=h.closest("table");q=k.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); +k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;g=d.pageY;j=b(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(d=k.find("thead th")).length;d.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});e.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var e=a(this),d;d=b(this,q);o.push({top:d.top,bottom:d.top+e.height(),$item:e})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, +left:j.left,top:j.top,zIndex:100});e.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var b,d,f;m=null;a=j.top-(g-a.pageY);b=0;for(d=o.length;ba||ba-12?(m.state="before",e.css("top",f.top-5)):(m.state="after",e.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +function(){var b;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();e.remove();m&&(b=a(m.element),b[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); +jQuery(function(a){var b=null,e=null,d=0,g=null,h=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function b(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:g},function(b){return function(e){var g=e.results,j,h;f.removeClass("loading");if(!e.error&&g&&!(0===g.length||d!=b+1)){l.empty();j=0;for(h=g.length;j').data("langkey", +g[j].name).text(g[j].value),a("
              • ").append(e).appendTo(l);k.trigger("show")}}}(d++));show_waiting_message=!0}var f=a(this),g=a.trim(f.val()),l;e&&(clearTimeout(e),e=null);f.data("mle-container");l=k.find(">ul");!g||h?(h=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(g),e=setTimeout(b,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), +!1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var e=a(this),d=a.trim(e.val()),f=e.closest(".multiLangEdit");e.after(k);e.data("mle-container")||e.data("mle-container", +f);e.data("mle-langkey")||e.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(e.val());f!=d&&(d=f,e.trigger("textchange"));b=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(b);b=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(g);g=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},h=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;h()}).find("h2 a").click(function(){p=!p;h();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +j);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;h();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);g=!0;k.trigger("hide"); +d);f=e.find(".langList");a.each(d,function(b){var d=a("
              • ").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;k.trigger("hide"); b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
                  ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); -jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function d(g){e.html(g.html);e.find(".lined .select").bind("click",function(){var d=a("input.select_checkbox:checked");0==d.length?(d=a(this).parent().find("img.filebox_item").attr("src"))?(b.trigger("filebox.selected",[d]),b.trigger("close.mw")):alert("None selected!"):(b.trigger("filebox.selected",[d]),b.trigger("close.mw"));return!1});e.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", -function(){var b=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var b=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:b},d);a(window).scrollTop(a(j).find(".modalClose").offset().top);return!1})}var b,e,j;b=a(this);j=b.attr("href");e=a(j).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},d)})}); -function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
                  ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminInstall",d,completeInstallModule);showWaitingFogLayer()} -function doUpdateModule(a){var d=[];d.module_name=a;exec_xml("install","procInstallAdminUpdate",d,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} -jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var d=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var b=a(".x .dsTg td.tg>p:not(:first-child)");d.click(function(){d.toggleClass("details");b.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= +jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function b(h){d.html(h.html);d.find(".lined .select").bind("click",function(){var b=a("input.select_checkbox:checked");0==b.length?(b=a(this).parent().find("img.filebox_item").attr("src"))?(e.trigger("filebox.selected",[b]),e.trigger("close.mw")):alert("None selected!"):(e.trigger("filebox.selected",[b]),e.trigger("close.mw"));return!1});d.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", +function(){var d=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var d=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1})}var e,d,g;e=a(this);g=e.attr("href");d=a(g).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},b)})}); +function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
                  ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminInstall",b,completeInstallModule);showWaitingFogLayer()} +function doUpdateModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminUpdate",b,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} +jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var b=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var e=a(".x .dsTg td.tg>p:not(:first-child)");b.click(function(){b.toggleClass("details");e.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= a('');a(this).append(b);b.click(function(){var b=a(this),d=b.parent().nextUntil(".h2, .h3").not(".langEdit, .tgContent, .modal");b.parent().next().is(":hidden")?(b.find("i").attr("class","icon-chevron-up"),d.slideDown(200)):(b.find("i").attr("class","icon-chevron-down"),d.slideUp(200))})})}); From 75d819234900d22076518bb7454ef5ed5b5a7772 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 20 Sep 2012 01:41:36 +0000 Subject: [PATCH 69/94] issue 2497, fixed a mistypo git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11392 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/file/lang/lang.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/file/lang/lang.xml b/modules/file/lang/lang.xml index 664798cc6..c184a894e 100644 --- a/modules/file/lang/lang.xml +++ b/modules/file/lang/lang.xml @@ -156,7 +156,7 @@ - + From 4e39284caa94a416e1a1440e30ff820a1bbb2a54 Mon Sep 17 00:00:00 2001 From: chschy Date: Thu, 20 Sep 2012 02:09:23 +0000 Subject: [PATCH 70/94] issue 2491 update error of copyDocumentModule git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11393 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.admin.controller.php | 4 ++-- modules/document/document.controller.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index 9dc64989d..d53bd1e19 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -267,7 +267,7 @@ } // Write a post - $output = $oDocumentController->insertDocument($obj, true); + $output = $oDocumentController->insertDocument($obj, true, true); if(!$output->toBool()) { $oDB->rollback(); return $output; @@ -710,7 +710,7 @@ $oDB->begin(); //DB restore - $output = $oDocumentController->insertDocument($originObject, false, true); + $output = $oDocumentController->insertDocument($originObject, false, true, false); if(!$output->toBool()) return new Object(-1, $output->getMessage()); //FILE restore diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index cdabb95fc..d46fef839 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -174,7 +174,7 @@ class documentController extends document { * @param bool $isRestore * @return object */ - function insertDocument($obj, $manual_inserted = false, $isRestore = false) { + function insertDocument($obj, $manual_inserted = false, $isRestore = false, $isLatest = true) { // begin transaction $oDB = &DB::getInstance(); $oDB->begin(); @@ -212,7 +212,7 @@ class documentController extends document { } // Set the read counts and update order. if(!$obj->readed_count) $obj->readed_count = 0; - if(!$isRestore) $obj->update_order = $obj->list_order = getNextSequence() * -1; + if($isLatest) $obj->update_order = $obj->list_order = getNextSequence() * -1; else $obj->update_order = $obj->list_order; // Check the status of password hash for manually inserting. Apply md5 hashing for otherwise. if($obj->password && !$obj->password_is_hashed) $obj->password = md5($obj->password); From 6da8875d22b08f4c976cad29845ac22433655a69 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 20 Sep 2012 08:16:13 +0000 Subject: [PATCH 71/94] issue 2486, fixed a bug. does not display category on category management page git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11400 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.controller.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index d46fef839..20332f5b1 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -1616,6 +1616,7 @@ class documentController extends document { $xml_buff = sprintf( 'init(); '. From de98905c127b3dfa4d4e5fd4c5dd3b4c05f5ed85 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 20 Sep 2012 09:12:26 +0000 Subject: [PATCH 72/94] issue 905, fixed a bug that does not logout when different domain between create autologin cookie and logout git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11401 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.controller.php | 13 +++++++++---- modules/member/queries/deleteAutologin.xml | 3 ++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index a52576b34..364c04ec9 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -2047,6 +2047,10 @@ **/ function destroySessionInfo() { if(!$_SESSION || !is_array($_SESSION)) return; + + $memberInfo = Context::get('logged_info'); + $memberSrl = $memberInfo->member_srl; + foreach($_SESSION as $key => $val) { $_SESSION[$key] = ''; } @@ -2054,10 +2058,11 @@ setcookie(session_name(), '', time()-42000, '/'); setcookie('sso','',time()-42000, '/'); - if($_COOKIE['xeak']) { - $args->autologin_key = $_COOKIE['xeak']; - executeQuery('member.deleteAutologin', $args); - } + if($memberSrl) + { + $args->member_srl = $memberSrl; + $output = executeQuery('member.deleteAutologin', $args); + } } function _updatePointByGroup($memberSrl, $groupSrlList) diff --git a/modules/member/queries/deleteAutologin.xml b/modules/member/queries/deleteAutologin.xml index 5919a4058..a26672edc 100644 --- a/modules/member/queries/deleteAutologin.xml +++ b/modules/member/queries/deleteAutologin.xml @@ -3,6 +3,7 @@
                •  
                   
                   
                   
                   
                   
                   
                  {$lang->gallery_bg_color}
                  -
                  diff --git a/modules/editor/components/image_gallery/tpl/slide_gallery.html b/modules/editor/components/image_gallery/tpl/slide_gallery.html index 7ec58a9d1..961abf6b1 100644 --- a/modules/editor/components/image_gallery/tpl/slide_gallery.html +++ b/modules/editor/components/image_gallery/tpl/slide_gallery.html @@ -8,7 +8,7 @@ - @@ -25,7 +25,7 @@ - @@ -455,7 +455,7 @@ - diff --git a/modules/editor/tpl/js/editor.js b/modules/editor/tpl/js/editor.js index 805ef409d..72d8ef4dc 100755 --- a/modules/editor/tpl/js/editor.js +++ b/modules/editor/tpl/js/editor.js @@ -128,10 +128,10 @@ function editorStart(editor_sequence, primary_key, content_key, editor_height, f // content 생성 editor_path = editor_path.replace(/^\.\//ig, ''); var contentHtml = ''+ - ''+ - ''+ - ''+ ''+ content+ diff --git a/modules/editor/tpl/preview.html b/modules/editor/tpl/preview.html index 151b89f55..15e26a14f 100644 --- a/modules/editor/tpl/preview.html +++ b/modules/editor/tpl/preview.html @@ -1,4 +1,4 @@ - {$content} diff --git a/modules/file/tpl/file_list.html b/modules/file/tpl/file_list.html index c21fe235a..8b583bb72 100644 --- a/modules/file/tpl/file_list.html +++ b/modules/file/tpl/file_list.html @@ -1,4 +1,4 @@ - diff --git a/modules/file/tpl/iframe.html b/modules/file/tpl/iframe.html index a254c8a48..dadf59bd9 100644 --- a/modules/file/tpl/iframe.html +++ b/modules/file/tpl/iframe.html @@ -1,4 +1,4 @@ - - + diff --git a/modules/integration_search/integration_search.model.php b/modules/integration_search/integration_search.model.php index 8479ead36..c25e37d26 100644 --- a/modules/integration_search/integration_search.model.php +++ b/modules/integration_search/integration_search.model.php @@ -173,7 +173,7 @@ // Videos } elseif(preg_match('/\.(swf|flv|wmv|avi|mpg|mpeg|asx|asf|mp3)$/i', $val->source_filename)) { $obj->type = 'multimedia'; - $obj->src = sprintf('', $obj->download_url); + $obj->src = sprintf('', $obj->download_url); // Others } else { $obj->type = 'binary'; diff --git a/modules/integration_search/skins/default/no_keywords.html b/modules/integration_search/skins/default/no_keywords.html index e781bba60..3ce295a1e 100644 --- a/modules/integration_search/skins/default/no_keywords.html +++ b/modules/integration_search/skins/default/no_keywords.html @@ -2,6 +2,6 @@ {$lang->msg_no_keyword} - diff --git a/modules/integration_search/tpl/index.html b/modules/integration_search/tpl/index.html index faa6b3e44..f2f74d690 100644 --- a/modules/integration_search/tpl/index.html +++ b/modules/integration_search/tpl/index.html @@ -41,7 +41,7 @@ {$lang->cmd_insert} {$lang->cmd_delete} -
                   
                   
                   
                   
                  - + + From d3cb41a17bbc7e6fc830dbb1c2ffb36121413385 Mon Sep 17 00:00:00 2001 From: ucorina Date: Thu, 20 Sep 2012 14:36:17 +0000 Subject: [PATCH 73/94] Issue 2511: Make XE menu work with virtual sites too git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11404 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/menu/tpl/sitemap.html | 6 +++--- modules/module/module.admin.controller.php | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index 0edb4b1bd..c16b40ab4 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -18,7 +18,7 @@ jQuery( function() { jQuery('.grant_default').change( function(event) { doShowMe - + {$lang->collapsing}/{$lang->expanding} @@ -43,7 +43,7 @@ jQuery( function() { jQuery('.grant_default').change( function(event) { doShowMe - +
                  @@ -57,7 +57,7 @@ jQuery( function() { jQuery('.grant_default').change( function(event) { doShowMe - +

                  {$lang->add_menu}{$lang->edit_menu}

                  • diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index b5fffe4ae..46b547010 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -624,6 +624,7 @@ // Variable setting for site keyword $site_keyword = Context::get('site_keyword'); $site_srl = Context::get('site_srl'); + $vid = Context::get('vid'); // If there is no site keyword, use as information of the current virtual site $args = null; $logged_info = Context::get('logged_info'); @@ -632,7 +633,7 @@ if(!$site_srl) { - if($logged_info->is_admin == 'Y' && !$site_keyword) $args->site_srl = 0; + if($logged_info->is_admin == 'Y' && !$site_keyword && !$vid) $args->site_srl = 0; else $args->site_srl = (int)$site_module_info->site_srl; } else $args->site_srl = $site_srl; From f6a83e335d6e6f61b2c7001a0be07266508cea4b Mon Sep 17 00:00:00 2001 From: devjin Date: Fri, 21 Sep 2012 09:05:48 +0000 Subject: [PATCH 74/94] issue 2471 fixed a bug that show the private information in mobile view. added the mobile skin setting in member configuration. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11434 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/lang/lang.xml | 2 +- modules/member/m.skins/default/css/member.css | 43 +++ modules/member/m.skins/default/css/mlogin.css | 48 ++++ .../member/m.skins/default/css/msignup.css | 60 +++++ .../default}/find_member_account.html | 4 +- .../default}/find_temp_password.html | 0 .../member/m.skins/default/leave_form.html | 27 ++ .../member/m.skins/default/login_form.html | 44 +++ .../member/m.skins/default/member_info.html | 32 +++ .../m.skins/default/modify_email_address.html | 22 ++ .../member/m.skins/default/modify_info.html | 48 ++++ .../m.skins/default/modify_password.html | 32 +++ .../m.skins/default/rechecked_password.html | 24 ++ .../member/m.skins/default/signup_form.html | 60 +++++ modules/member/m.skins/default/skin.xml | 19 ++ modules/member/member.admin.controller.php | 7 +- modules/member/member.admin.view.php | 9 + modules/member/member.mobile.php | 253 ++++-------------- modules/member/member.view.php | 4 + modules/member/tpl/leave_form.html | 28 -- modules/member/tpl/member_config.html | 12 +- modules/member/tpl/modify_info_mobile.html | 185 ------------- 22 files changed, 538 insertions(+), 425 deletions(-) create mode 100644 modules/member/m.skins/default/css/member.css create mode 100644 modules/member/m.skins/default/css/mlogin.css create mode 100644 modules/member/m.skins/default/css/msignup.css rename modules/member/{tpl => m.skins/default}/find_member_account.html (91%) rename modules/member/{tpl => m.skins/default}/find_temp_password.html (100%) create mode 100644 modules/member/m.skins/default/leave_form.html create mode 100644 modules/member/m.skins/default/login_form.html create mode 100644 modules/member/m.skins/default/member_info.html create mode 100644 modules/member/m.skins/default/modify_email_address.html create mode 100644 modules/member/m.skins/default/modify_info.html create mode 100644 modules/member/m.skins/default/modify_password.html create mode 100644 modules/member/m.skins/default/rechecked_password.html create mode 100644 modules/member/m.skins/default/signup_form.html create mode 100644 modules/member/m.skins/default/skin.xml delete mode 100644 modules/member/tpl/leave_form.html delete mode 100644 modules/member/tpl/modify_info_mobile.html diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml index 51efe687f..007d4847d 100644 --- a/modules/member/lang/lang.xml +++ b/modules/member/lang/lang.xml @@ -897,7 +897,7 @@ - + diff --git a/modules/member/m.skins/default/css/member.css b/modules/member/m.skins/default/css/member.css new file mode 100644 index 000000000..a3f91da0a --- /dev/null +++ b/modules/member/m.skins/default/css/member.css @@ -0,0 +1,43 @@ +@charset "utf-8"; +/* Element Reset */ +.xm, +.xm table, +.xm input, +.xm textarea, +.xm select, +.xm button{font-family:Tahoma,Geneva,sans-serif;font-size:12px;color:#333} +.xm button, +.xm input[type=submit], +.xm input[type=reset], +.xm input[type=button]{cursor:pointer;overflow:visible} +.xm img{border:0} +.xm p{line-height:1.5} +/* Heading */ +.xm .h1, +.xm .h2, +.xm .h3, +.xm .h4{position:relative;zoom:1} +.xm .h1{font-size:24px} +.xm .h2{font-size:20px} +.xm .h3{font-size:16px} +.xm .h4{font-size:12px} +/* Table */ +.xm .table{margin:1em 0} +.xm .table table{width:100%;border:0;border-collapse:collapse;border-top:2px solid #ccc} +.xm .table caption{font-weight:bold;text-align:left;line-height:22px;padding:5px 0} +.xm .table caption:after{content:"";display:block;clear:both} +.xm .table caption a{font-weight:normal} +.xm .table caption em{float:right;margin-left:1em} +.xm .table caption strong{color:#e00} +.xm .table caption .side{float:right;font-weight:normal;margin-left:1em} +.xm .table th, +.xm .table td{border:0;padding:8px;vertical-align:top;text-align:left;border-bottom:1px solid #ddd;white-space:nowrap} +.xm .table th{background:#f8f8f8} +.xm .table thead th{border-bottom:1px solid #999} +.xm .table tfoot td{font-weight:bold;background:#f8f8f8} +.xm .table.even tbody tr:nth-of-type(even) td{background-color:#fafafa} +.xm .table td>input[type=text]{margin:-1px 0 -3px 0 !important;vertical-align:middle} +.xm .table img{vertical-align:middle} +.xm .table em{font-style:normal;font-weight:normal;color:#e00} +.xm .table .title, +.xm .table .text{white-space:normal} diff --git a/modules/member/m.skins/default/css/mlogin.css b/modules/member/m.skins/default/css/mlogin.css new file mode 100644 index 000000000..69cc0934e --- /dev/null +++ b/modules/member/m.skins/default/css/mlogin.css @@ -0,0 +1,48 @@ +/* Mobile XE Login (/modules/member/tpl/login_form.html) */ +body{margin:0;background:#fff;color:#000;word-wrap:break-word} +body,input,textarea,select,button,table{font-family:Tahoma,Geneva,sans-serif} +img{border:0} +em{font-style:normal} +form{margin:0;padding:0} +fieldset{margin:0;padding:0;border:0} +textarea{resize:vertical} +input[type=checkbox], +input[type=radio]{width:13px;height:13px;margin:0;padding:0} +/* Common */ +.fl{float:left} +.fr{float:right} +/* Body */ +.bd{background:#f8f8f8;padding:1px 0;border-bottom:1px solid #ccc8be} +.bd:after{content:"";margin:0;position:relative;top:3px;display:block;clear:both;height:1px;background:#fff} +/* Hx */ +.hx{position:relative;border-bottom:1px solid #ccc8be;padding:8px 10px;margin:0} +.hx:after{content:"";margin:0 -10px;position:relative;top:10px;display:block;clear:both;height:1px;background:#fff} +.hx.h2{background:#e5e5e5} +.hx h2{margin:0 10px 0 0;display:inline} +.hx h2{font-size:16px;line-height:1.4} +/* Form Field */ +.ff{margin:0;padding:10px 0} +.ff ul{margin:0 10px 10px 10px;padding:10px 0 0 0;list-style:none} +.ff li{margin:0 0 5px 0;padding:0} +.ff label+input[type=text], +.ff label+input[type=password], +.ff label+textarea, +.ff label+select{display:block;width:96%;font-size:14px;margin:0 0 5px 0} +.ff label+input[type=text], +.ff label+input[type=password], +.ff label+textarea{padding:5px} +/* Help */ +.hp{background:#eee;border-top:1px solid #ddd;padding:12px 10px !important;margin:10px 0px !important;} +.hp li{margin:0;display:inline;border-left:1px solid #ccc;padding:0 4px 0 8px;} +.hp li:first-child{border:0;} +.hp a{color:#333;text-decoration:none} +/* Button Area */ +.bna{text-align:center;padding:0 10px;margin:10px 0} +.bna:after{content:"";display:block;clear:both} +.bn{display:inline-block;line-height:26px !important;padding:0 10px;font-size:12px;font-weight:bold;border:1px solid;text-decoration:none;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;cursor:pointer;vertical-align:middle} +.bn[type=submit], +.bn[type=button]{height:28px} +.bn[href]{height:26px} +.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset} +.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000} +.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../../common/img/msg.update.png) no-repeat 1em .5em} diff --git a/modules/member/m.skins/default/css/msignup.css b/modules/member/m.skins/default/css/msignup.css new file mode 100644 index 000000000..0f417c65d --- /dev/null +++ b/modules/member/m.skins/default/css/msignup.css @@ -0,0 +1,60 @@ +@charset "utf-8"; +/* Mobile XE (/modules/member/tpl/signup_form.html) */ +body{margin:0;background:#fff;color:#000;word-wrap:break-word} +body,input,textarea,select,button,table{font-family:Tahoma,Geneva,sans-serif} +img{border:0} +em{font-style:normal} +form{margin:0;padding:0} +fieldset{margin:0;padding:0;border:0} +textarea{resize:vertical} +input[type=checkbox], +input[type=radio]{width:13px;height:13px;margin:0;padding:0} +/* Body */ +.bd{background:#f8f8f8;padding:1px 0} +/* Hx */ +.hx{position:relative;border-bottom:1px solid #ccc8be;padding:8px 10px;margin:0} +.hx:after{content:"";margin:0 -10px;position:relative;top:10px;display:block;clear:both;height:1px;background:#fff} +.hx.h2{background:#e5e5e5;text-shadow:1px 1px 0 #fff} +.hx.h2 em{font-size:12px;color:#6352d2} +.hx.h3{background:#868686;color:#fff} +.hx.h3 em{font-size:12px} +.hx h2, .hx h3{margin:0 10px 0 0;display:inline} +.hx h2{font-size:16px;line-height:1.4} +.hx h3{font-size:14px} +.hx a{color:#000} +.hx .ex{font-size:12px} +.hx .tg{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:visible;border:0;cursor:pointer;opacity:0;background:none} +.hx .ca{font-size:12px;text-decoration:underline;color:#333} +.hx .ca:after{content:"";display:inline-block;position:relative;left:4px;width:0;height:0;border:4px solid;border-color:transparent;border-left-color:#8d7de1;margin:0 -8px 0 0} +.hx .write{position:absolute;top:8px;right:10px;background-position:0 0;display:inline-block;width:28px;height:27px;font-size:0;overflow:hidden;text-indent:28px} +/* Form Field */ +.ff{margin:0;padding:10px 0} +.ff ul{margin:0 10px 10px 10px;padding:10px 0 0 0;list-style:none} +.ff li{margin:0 0 5px 0;padding:0} +.ff li p{color:#666} +.ff li>label:first-child{display:block;font-weight:bold} +.ff label+input[type=text], +.ff label+input[type=password], +.ff label+textarea, +.ff label+select, +.ff label+select+input[type=text], +.ff .inputText{display:block;width:96%;font-size:14px;margin:0 0 5px 0} +.ff label+input[type=text], +.ff label+input[type=password], +.ff label+textarea, +.ff label+select+input[type=text], +.ff .inputText, +.ff .tel input[type=text]{padding:5px} +.ff .krZip input[type=text]{width:77%;font-size:14px;margin:0 0 5px 0;padding:5px} +/* Button Area */ +.bna{text-align:center;padding:0 10px;margin:10px 0} +.bna:after{content:"";display:block;clear:both} +.bn{display:inline-block;line-height:26px !important;padding:0 10px;font-size:12px;font-weight:bold;border:1px solid;text-decoration:none;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;cursor:pointer;vertical-align:middle} +.bn[type=submit], +.bn[type=button]{height:28px} +.bn[href]{height:26px} +.bn.dark{border-color:#666;background:#777 -webkit-gradient(linear,0% 0%,0% 100%,from(#7e7c78),to(#5c5b58));background:#777 -moz-linear-gradient(top,#7e7c78,#5c5b58);background-color:#777;color:#fff;box-shadow:0 0 1px #fff inset;-moz-box-shadow:0 0 1px #fff inset;-webkit-box-shadow:0 0 1px #fff inset} +.bn.white{border-color:#b5b5b5;background:#1b1b1b -webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#f6f6f6),color-stop(0.5,#f0f0f0),color-stop(0.5,#e4e4e4));background:#1b1b1b -moz-linear-gradient(top,#fff,#e4e4e4);background-color:#fff;color:#000} +.message{border:1px solid #ddd;background:#f8f8f8;margin:1em 0;padding:0 1em;border-radius:5px;line-height:1.4;font-size:12px}.message p{margin:1em 0!important}.message em{font-style:normal;color:#e00}.message.info,.message.error,.message.update{padding-left:55px}.message.info{border-color:#e0e8ec;background:#edf9ff url(../../../../common/img/msg.Info.png) no-repeat 1em .5em}.message.error{border-color:#efdcdc;background:#ffecec url(../../../../common/img/msg.error.png) no-repeat 1em .5em}.message.update{border-color:#eae9dc;background:#fffdef url(../../../../common/img/msg.update.png) no-repeat 1em .5em} +.agreement .text{height:200px;overflow-y:auto;} +.bn a{text-decoration:none;} diff --git a/modules/member/tpl/find_member_account.html b/modules/member/m.skins/default/find_member_account.html similarity index 91% rename from modules/member/tpl/find_member_account.html rename to modules/member/m.skins/default/find_member_account.html index 4268b11ca..8150c436c 100644 --- a/modules/member/tpl/find_member_account.html +++ b/modules/member/m.skins/default/find_member_account.html @@ -1,5 +1,5 @@ - - + +

                    {$XE_VALIDATOR_MESSAGE}

                    diff --git a/modules/member/tpl/find_temp_password.html b/modules/member/m.skins/default/find_temp_password.html similarity index 100% rename from modules/member/tpl/find_temp_password.html rename to modules/member/m.skins/default/find_temp_password.html diff --git a/modules/member/m.skins/default/leave_form.html b/modules/member/m.skins/default/leave_form.html new file mode 100644 index 000000000..d4e6c4e75 --- /dev/null +++ b/modules/member/m.skins/default/leave_form.html @@ -0,0 +1,27 @@ + + + +

                    {$member_title = $lang->msg_leave_member}

                    +
                    +

                    {$XE_VALIDATOR_MESSAGE}

                    +
                    +
                    + + + + + +
                      +
                    • + +

                      {$formValue}

                      +
                    • +
                    • + + +
                    • +
                    +
                    + +
                    + diff --git a/modules/member/m.skins/default/login_form.html b/modules/member/m.skins/default/login_form.html new file mode 100644 index 000000000..735500a86 --- /dev/null +++ b/modules/member/m.skins/default/login_form.html @@ -0,0 +1,44 @@ + + +
                    +
                    +

                    {$XE_VALIDATOR_MESSAGE}

                    +
                    +
                    +

                    {$lang->cmd_login}

                    +
                    +
                    + + + +
                      +
                    • +
                    • +
                    + +
                    +
                    +
                    +
                    + + +
                    + + diff --git a/modules/member/m.skins/default/member_info.html b/modules/member/m.skins/default/member_info.html new file mode 100644 index 000000000..6ca6d58fd --- /dev/null +++ b/modules/member/m.skins/default/member_info.html @@ -0,0 +1,32 @@ + +
                    +

                    {$lang->member_info}

                    +
                    +
                  + + + + + + + + + + + + + + + + + + +
                  {$item->title} *{$item->value}
                  {$lang->member_group}{implode(', ', $memberInfo['group_list'])}
                  {$lang->signup_date}{zdate($memberInfo[regdate],"Y-m-d")}
                  {$lang->last_login}{zdate($memberInfo[last_login],"Y-m-d")}
                  +
                  + +
                  diff --git a/modules/member/m.skins/default/modify_email_address.html b/modules/member/m.skins/default/modify_email_address.html new file mode 100644 index 000000000..09e963dbc --- /dev/null +++ b/modules/member/m.skins/default/modify_email_address.html @@ -0,0 +1,22 @@ + + + +
                  +

                  {$XE_VALIDATOR_MESSAGE}

                  +
                  +
                  + + + +

                  {$lang->cmd_modify_member_email_address}

                  +

                  {$lang->about_modify_member_email_address}

                  +
                    +
                  • + + +
                  • +
                  +
                  + +
                  +
                  diff --git a/modules/member/m.skins/default/modify_info.html b/modules/member/m.skins/default/modify_info.html new file mode 100644 index 000000000..e7af7e97c --- /dev/null +++ b/modules/member/m.skins/default/modify_info.html @@ -0,0 +1,48 @@ +{@ Context::loadFile(array("./common/js/jquery.js", 'head', '', -100000), true) } +{@ Context::loadFile(array("./common/js/js_app.js", 'head', '', -100000), true) } +{@ Context::loadFile(array("./common/js/common.js", 'head', '', -100000), true) } +{@ Context::loadFile(array("./common/js/xml_handler.js", 'head', '', -100000), true) } +{@ Context::loadFile(array("./common/js/xml_js_filter.js", 'head', '', -100000), true) } + + + + + + +
                  +

                  {$XE_VALIDATOR_MESSAGE}

                  +
                  +
                  +

                  {$lang->msg_update_member}

                  +
                  + + + + + +
                  +
                    +
                  • + + + +
                  • +
                  • + +
                    {$formTag->inputTag}
                    + + +
                  • +
                  • allow_mailing!='N')-->checked="checked" />

                    {$lang->about_allow_mailing}

                  • +
                  +
                  + +
                  +
                  diff --git a/modules/member/m.skins/default/modify_password.html b/modules/member/m.skins/default/modify_password.html new file mode 100644 index 000000000..c460adf45 --- /dev/null +++ b/modules/member/m.skins/default/modify_password.html @@ -0,0 +1,32 @@ + + + +

                  {$member_title = $lang->cmd_modify_member_password}

                  +
                  + + + + + +
                    +
                  • + + +
                  • +
                  • + + +
                  • +
                  • + + {$lang->about_password} +
                  • +
                  • + + +
                  • +
                  +
                  + +
                  +
                  diff --git a/modules/member/m.skins/default/rechecked_password.html b/modules/member/m.skins/default/rechecked_password.html new file mode 100644 index 000000000..218d8a53d --- /dev/null +++ b/modules/member/m.skins/default/rechecked_password.html @@ -0,0 +1,24 @@ + +

                  {$lang->msg_rechecked_password}

                  +
                  +

                  {$XE_VALIDATOR_MESSAGE}

                  +
                  +
                  + + +
                    +
                  • + +

                    {$identifierValue}

                    +
                  • +
                  • + + +

                    {$lang->about_rechecked_password}

                    +
                  • +
                  + +
                  diff --git a/modules/member/m.skins/default/signup_form.html b/modules/member/m.skins/default/signup_form.html new file mode 100644 index 000000000..0f43d777c --- /dev/null +++ b/modules/member/m.skins/default/signup_form.html @@ -0,0 +1,60 @@ + + + + +
                  +
                  +

                  {$lang->cmd_signup}

                  +
                  +
                  +

                  {$XE_VALIDATOR_MESSAGE}

                  +
                  +
                  + + + +
                  +
                  + {$member_config->agreement} +
                  +
                  + + +
                  +
                  + +
                    +
                  • + + +
                  • +
                  • + + +
                  • +
                  • + + +
                  • +
                  • + +
                    {$formTag->inputTag}
                    + +
                  • +
                  • + + + +
                  • +
                  • + + + + +
                  • +
                  +
                  + +
                  +
                  +
                  diff --git a/modules/member/m.skins/default/skin.xml b/modules/member/m.skins/default/skin.xml new file mode 100644 index 000000000..5f0acf38e --- /dev/null +++ b/modules/member/m.skins/default/skin.xml @@ -0,0 +1,19 @@ + + + 회원 기본 모바일 스킨 + XE Basic Member Mobile Skin + + XE 기본 모바일 스킨 입니다. + NHN (developers@xpressengine.com) + + 0.1 + 2012-09-21 + + + NHN + NHN + NHN + NHN + + + diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 1685efb99..f13b33c64 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -146,6 +146,7 @@ 'layout_srl', 'skin', 'colorset', + 'mskin', 'profile_image', 'profile_image_max_width', 'profile_image_max_height', 'image_name', 'image_name_max_width', 'image_name_max_height', 'image_mark', 'image_mark_max_width', 'image_mark_max_height', @@ -178,8 +179,10 @@ if(!trim(strip_tags($args->after_logout_url))) $args->after_logout_url = null; if(!trim(strip_tags($args->redirect_url))) $args->redirect_url = null; - if(!$args->skin) $args->skin = "default"; - if(!$args->colorset) $args->colorset = "white"; + if(!$args->skin) $args->skin = 'default'; + if(!$args->colorset) $args->colorset = 'white'; + + if(!$args->mskin) $args->mskin = 'default'; $args->profile_image = $args->profile_image?'Y':'N'; $args->image_name = $args->image_name?'Y':'N'; diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 4bfdad8b4..9e7540ddb 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -119,6 +119,10 @@ $skin_list = $oModuleModel->getSkins($this->module_path); Context::set('skin_list', $skin_list); + // list of skins for member module + $mskin_list = $oModuleModel->getSkins($this->module_path, 'm.skins'); + Context::set('mskin_list', $mskin_list); + // retrieve skins of editor $oEditorModel = &getModel('editor'); Context::set('editor_skin_list', $oEditorModel->getEditorSkinList()); @@ -269,6 +273,7 @@ if($formInfo->isDefaultForm){ if($formInfo->imageType){ + $formTag->type = 'image'; if($formInfo->name == 'profile_image'){ $target = $memberInfo['profile_image']; $functionName = 'doDeleteProfileImage'; @@ -300,11 +305,13 @@ ,$member_config->{$formInfo->name.'_max_height'}); }//end imageType elseif($formInfo->name == 'birthday'){ + $formTag->type = 'date'; $inputTag = sprintf(' ' ,$memberInfo['birthday'] ,zdate($memberInfo['birthday'], 'Y-m-d', false) ,$lang->cmd_delete); }elseif($formInfo->name == 'find_account_question'){ + $formTag->type = 'select'; $inputTag = ''; $optionTag = array(); foreach($lang->find_account_question_items as $key=>$val){ @@ -318,6 +325,7 @@ $inputTag = sprintf($inputTag, implode('', $optionTag)); $inputTag .= ''; }else{ + $formTag->type = 'text'; $inputTag = sprintf('' ,$formInfo->name ,$memberInfo[$formInfo->name]); @@ -329,6 +337,7 @@ 'value' => $extendForm->value); $extentionReplace = array(); + $formTag->type = $extendForm->column_type; if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){ $template = ''; }elseif($extendForm->column_type == 'tel'){ diff --git a/modules/member/member.mobile.php b/modules/member/member.mobile.php index dfaedab05..cd3bb9e0c 100644 --- a/modules/member/member.mobile.php +++ b/modules/member/member.mobile.php @@ -1,223 +1,66 @@ member_config = $oModuleModel->getModuleConfig('member'); + function init() + { + // Get the member configuration + $oMemberModel = &getModel('member'); + $this->member_config = $oMemberModel->getMemberConfig(); + Context::set('member_config', $this->member_config); + + $mskin = $this->member_config->mskin; + // Set the template path + if(!$mskin) + { + $mskin = 'default'; + $template_path = sprintf('%sm.skins/%s', $this->module_path, $mskin); + } + else + { + $template_path = sprintf('%sm.skins/%s', $this->module_path, $mskin); + } // if member_srl exists, set memberInfo $member_srl = Context::get('member_srl'); - if($member_srl) { + if($member_srl) + { $oMemberModel = &getModel('member'); $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl); - if(!$this->memberInfo) Context::set('member_srl',''); - else Context::set('member_info',$this->memberInfo); + if(!$this->memberInfo) + { + Context::set('member_srl',''); + } + else + { + Context::set('member_info',$this->memberInfo); + } } - - Context::set('member_config', $this->member_config); - $this->setTemplatePath($this->module_path.'tpl'); - } + $this->setTemplatePath($template_path); - function dispMemberLoginForm() { - if(Context::get('is_logged')) { - Context::set('redirect_url', getUrl('act','')); - $this->setTemplatePath($this->module_path.'tpl'); - $this->setTemplateFile('redirect.html'); - return; - } - - // get member module configuration. - $oMemberModel = &getModel('member'); - $config = $oMemberModel->getMemberConfig(); - Context::set('identifier', $config->identifier); - - // Set a template file - Context::set('referer_url', htmlspecialchars($_SERVER['HTTP_REFERER'])); - $this->setTemplateFile('login_form'); - } - - function dispMemberSignUpForm(){ - $oMemberModel = &getModel('member'); - - if($oMemberModel->isLogged()) return $this->stop('msg_already_logged'); - - $trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $this->member_config); - if(!$trigger_output->toBool()) return $trigger_output; - - if ($this->member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled'); - $oMemberAdminView = &getAdminView('member'); - $formTags = $oMemberAdminView->_getMemberInputTag($member_info); - Context::set('formTags', $formTags); - - $member_config = $oMemberModel->getMemberConfig(); - Context::set('member_config', $member_config); - - global $lang; - $identifierForm->title = $lang->{$member_config->identifier}; - $identifierForm->name = $member_config->identifier; - $identifierForm->value = $member_info->{$member_config->identifier}; - Context::set('identifierForm', $identifierForm); - // Set a template file - $this->setTemplateFile('signup_form'); - } - - function dispMemberInfo() { - $oMemberModel = &getModel('member'); - $logged_info = Context::get('logged_info'); - - // Don't display member info to non-logged user - if(!$logged_info->member_srl) return $this->stop('msg_not_permitted'); - $member_srl = Context::get('member_srl'); - if(!$member_srl && Context::get('is_logged')) { - $member_srl = $logged_info->member_srl; - } elseif(!$member_srl) { - return $this->dispMemberSignUpForm(); - } - - $site_module_info = Context::get('site_module_info'); - if(!$this->memberInfo) + $oLayoutModel = &getModel('layout'); + $layout_info = $oLayoutModel->getLayout($this->member_config->mlayout_srl); + if($layout_info) { - $columnList = array('user_name', 'nick_name', 'homepage', 'blog', 'birthday', 'regdate', 'last_login'); - $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, $site_module_info->site_srl, $columnList); + $this->setLayoutPath($layout_info->path); } - unset($this->memberInfo->password); - unset($this->memberInfo->email_id); - unset($this->memberInfo->email_host); - unset($this->memberInfo->email_address); - - if(!$this->memberInfo->member_srl) return $this->dispMemberSignUpForm(); - - Context::set('member_info', $this->memberInfo); - Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo)); - $this->setTemplateFile('member_info_mobile'); - } + } - /** - * @brief Find user ID and password - **/ - function dispMemberFindAccount() { - if(Context::get('is_logged')) return $this->stop('already_logged'); - - $oMemberModel = &getModel('member'); - $config = $oMemberModel->getMemberConfig(); - Context::set('identifier', $config->identifier); - - $this->setTemplateFile('find_member_account'); + function dispMemberModifyInfo() + { + parent::dispMemberModifyInfo(); + + if($this->member_info) + { + Context::set('oMemberInfo', get_object_vars($this->member_info)); } - - /** - * @brief Generate a temporary password - **/ - function dispMemberGetTempPassword() { - if(Context::get('is_logged')) return $this->stop('already_logged'); - - $oMemberModel = &getModel('member'); - $config = $oMemberModel->getMemberConfig(); - Context::set('identifier', $config->identifier); - - $user_id = Context::get('user_id'); - $temp_password = $_SESSION['xe_temp_password_'.$user_id]; - unset($_SESSION['xe_temp_password_'.$user_id]); - - if(!$user_id||!$temp_password) return new Object(-1,'msg_invaild_request'); - Context::set('temp_password', $temp_password); - - $this->setTemplateFile('find_temp_password'); - } - - /** - * @brief Edit member profile - **/ - function dispMemberModifyInfo() { - $oMemberModel = &getModel('member'); - $oModuleModel = &getModel('module'); - $memberModuleConfig = $oModuleModel->getModuleConfig('member'); - - // A message appears if the user is not logged-in - if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); - - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - if(!$this->memberInfo) $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl); - $this->memberInfo->signature = $oMemberModel->getSignature($member_srl); - Context::set('member_info',$this->memberInfo); - - // Receive a member join form - Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo)); - - // Call getEditor of the editor module and set it for signiture - if($this->memberInfo->member_srl) { - $oEditorModel = &getModel('editor'); - $option->primary_key_name = 'member_srl'; - $option->content_key_name = 'signature'; - $option->allow_fileupload = false; - $option->enable_autosave = false; - $option->enable_default_component = true; - $option->enable_component = false; - $option->resizable = false; - $option->disable_html = true; - $option->height = 200; - $option->skin = $this->member_config->editor_skin; - $option->colorset = $this->member_config->editor_colorset; - $editor = $oEditorModel->getEditor($this->memberInfo->member_srl, $option); - Context::set('editor', $editor); - } - - // Set a template file - $this->setTemplateFile('modify_info'); - } - - /** - * @brief Change the user password - **/ - function dispMemberModifyPassword() { - $oMemberModel = &getModel('member'); - - // A message appears if the user is not logged-in - if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); - - $config = $oMemberModel->getMemberConfig(); - Context::set('identifier', $config->identifier); - - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - if(!$this->memberInfo) { - $columnList = array('member_srl', 'user_id'); - $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); - } - Context::set('member_info',$this->memberInfo); - - // Set a template file - $this->setTemplateFile('modify_password'); - } - - /** - * @brief Member withdrawl - **/ - function dispMemberLeave() { - $oMemberModel = &getModel('member'); - - // A message appears if the user is not logged-in - if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); - - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - if(!$this->memberInfo) { - $columnList = array('member_srl', 'user_id'); - $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); - } - Context::set('member_info',$this->memberInfo); - - // Set a template file - $this->setTemplateFile('leave_form'); - } + } } ?> diff --git a/modules/member/member.view.php b/modules/member/member.view.php index ce07ebc87..bf8386803 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -98,6 +98,7 @@ function _getDisplayedMemberInfo($memberInfo, $extendFormInfo, $memberConfig) { + $logged_info = Context::get('logged_info'); $displayDatas = array(); foreach($memberConfig->signupForm as $no=>$formInfo) { @@ -270,6 +271,7 @@ $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); $member_info->signature = $oMemberModel->getSignature($member_srl); Context::set('member_info',$member_info); + // Get a list of extend join form Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info)); @@ -291,6 +293,8 @@ Context::set('editor', $editor); } + $this->member_info = $member_info; + $oMemberAdminView = &getAdminView('member'); $formTags = $oMemberAdminView->_getMemberInputTag($member_info); Context::set('formTags', $formTags); diff --git a/modules/member/tpl/leave_form.html b/modules/member/tpl/leave_form.html deleted file mode 100644 index c98fabddc..000000000 --- a/modules/member/tpl/leave_form.html +++ /dev/null @@ -1,28 +0,0 @@ -{@ Context::loadFile(array("./common/js/jquery.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/js_app.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/common.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_handler.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_js_filter.js", 'head', '', -100000), true) } - - - - -
                  -

                  {$member_title = $lang->msg_leave_member}

                  -
                  - - - -
                  -
                    -
                  • {$member_info->user_id}
                  • -
                  • -
                  -
                  - - -
                  -
                  diff --git a/modules/member/tpl/member_config.html b/modules/member/tpl/member_config.html index f6f72dcc5..7e50b27a8 100644 --- a/modules/member/tpl/member_config.html +++ b/modules/member/tpl/member_config.html @@ -85,9 +85,9 @@

                  {$lang->about_redirect_url}

                • -

                  +

                  -

                  @@ -104,6 +104,14 @@

                • +
                • +

                  +

                  + +

                  +
                • diff --git a/modules/member/tpl/modify_info_mobile.html b/modules/member/tpl/modify_info_mobile.html deleted file mode 100644 index a14e9da4c..000000000 --- a/modules/member/tpl/modify_info_mobile.html +++ /dev/null @@ -1,185 +0,0 @@ -{@ Context::loadFile(array("./common/js/jquery.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/js_app.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/common.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_handler.js", 'head', '', -100000), true) } -{@ Context::loadFile(array("./common/js/xml_js_filter.js", 'head', '', -100000), true) } - - - - - - - - - - - - - - - - - - - -
                  -

                  {$lang->msg_update_member}

                  -

                  {$lang->member_default_info}

                  -
                  profile_image == 'Y' || $member_config->image_name=='Y' || $member_config->image_mark=='Y')-->enctype="multipart/form-data" target="tmp_upload_iframe"> - - - - - - -
                  -
                    -
                  • {htmlspecialchars($member_info->user_id)}
                  • -
                  • {$lang->about_user_name}

                  • -
                  • {$lang->about_nick_name}

                  • -
                  • {$lang->about_email_address}

                  • - -
                  • - -
                    - profile_image - -
                    - - -

                    {$lang->profile_image_max_width} : {$member_config->profile_image_max_width}px, {$lang->profile_image_max_height} : {$member_config->profile_image_max_height}px

                    -
                  • - - -
                  • - -
                    -
                    image_name
                    - -
                    - - -

                    {$lang->image_name_max_width} : {$member_config->image_name_max_width}px, {$lang->image_name_max_height} : {$member_config->image_name_max_height}px

                    -
                  • - - -
                  • - -
                    - image_mark - -
                    - - - -

                    {$lang->image_mark_max_width} : {$member_config->image_mark_max_width}px, {$lang->image_mark_max_height} : {$member_config->image_mark_max_height}px

                    -
                  • - -
                  • {$lang->about_homepage}

                  • -
                  • {$lang->about_blog_url}

                  • -
                  • {$lang->about_birthday}

                  • - -
                  • allow_mailing!='N')-->checked="checked" />

                    {$lang->about_allow_mailing}

                  • - -
                  • - -
                  -
                  - -

                  {$lang->member_extend_info}

                  -
                  -
                    - -
                  • - - - - - - - - - - - - - - - - - - - - - - value)&&in_array($v, $val->value))-->checked="checked"/> - - - - - - value)&&in_array($v, $val->value))-->checked="checked"/> - - - - - - - - - - - - - - - - - - -

                    {$val->description}

                    - -
                  • - -
                  -
                  - - -
                  -
                  From 7d77be0381e215f480868183db4c2d3afc8cde9f Mon Sep 17 00:00:00 2001 From: devjin Date: Fri, 21 Sep 2012 09:29:53 +0000 Subject: [PATCH 75/94] issue 2475 fixed a bug that show korean title when choose english. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11440 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 7c9b484e0..8bc52b101 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -38,7 +38,7 @@ { foreach($config->signupForm AS $key=>$value) { - $config->signupForm[$key]->title = Context::getLang($value->title); + $config->signupForm[$key]->title = ($value->isDefaultForm) ? Context::getLang($value->name) : $value->title; if($config->signupForm[$key]->isPublic != 'N') $config->signupForm[$key]->isPublic = 'Y'; if($value->name == 'find_account_question') $config->signupForm[$key]->isPublic = 'N'; } From 3084f3ebeda19bd92e7922fcd84ae60f934284a2 Mon Sep 17 00:00:00 2001 From: florinutz Date: Sun, 23 Sep 2012 14:25:16 +0000 Subject: [PATCH 76/94] backend filters - products, attributes, orders, invoices and customers git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11443 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.admin.controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index f13b33c64..24d0ca5a9 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -26,7 +26,7 @@ $config = $oMemberModel->getMemberConfig (); $getVars = array(); if ($config->signupForm){ - foreach($config->signupForm as $formInfo){ + foreach($config->signupForm as $formInfo) { if($formInfo->isDefaultForm && ($formInfo->isUse || $formInfo->required || $formInfo->mustRequired)){ $getVars[] = $formInfo->name; } From 8108ae0071f8c1fac04d58517a1a221142daf105 Mon Sep 17 00:00:00 2001 From: devjin Date: Mon, 24 Sep 2012 02:40:34 +0000 Subject: [PATCH 77/94] issue 2488 reset all group (include default group). git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11450 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/point/lang/lang.xml | 4 ++++ modules/point/point.admin.view.php | 1 - modules/point/point.controller.php | 3 ++- modules/point/tpl/config.html | 3 ++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/point/lang/lang.xml b/modules/point/lang/lang.xml index ea4cdcfd7..9243efe78 100644 --- a/modules/point/lang/lang.xml +++ b/modules/point/lang/lang.xml @@ -254,6 +254,10 @@ Sıfırlamadan sonra sadece, website aktiviteleri yapan üyeler, giriş puanı alacaklardır.
                  Lütfen bu özelliği sadece veri taşıma veya cidden gerekliliği olduğu durumlarda kullanınız.]]>
                  Chỉ có thể thiết lập lại điểm của những thành viên đã đăng kí là thành viên.
                  Xin hãy chỉ sử dụng chức năng này khi bạn chuyển nội dung của Website qua một Website khác.]]>
                  + + + + diff --git a/modules/point/point.admin.view.php b/modules/point/point.admin.view.php index 788ae5c30..1f53619a4 100644 --- a/modules/point/point.admin.view.php +++ b/modules/point/point.admin.view.php @@ -39,7 +39,6 @@ $selected_group_list = array(); if(count($group_list)) { foreach($group_list as $key => $val) { - if($val->is_admin == 'Y' || $val->is_default == 'Y') continue; $selected_group_list[$key] = $val; } } diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index a17cdcf86..f6f8bf708 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -533,8 +533,9 @@ } // Delete the group of a level which is higher than the current level foreach($point_group as $group_srl => $target_level) { - if($target_level > $level) $del_group_list[] = $group_srl; + if($target_level > $level) $del_group_list[] = $group_srl; } + $del_group_list[] = $default_group->group_srl; } // Grant a new group else { diff --git a/modules/point/tpl/config.html b/modules/point/tpl/config.html index 1bb032fb0..d09daf051 100644 --- a/modules/point/tpl/config.html +++ b/modules/point/tpl/config.html @@ -106,7 +106,8 @@ - + + {$lang->default_group} From 83c63acaab7cced1669b022ac113ba113569f719 Mon Sep 17 00:00:00 2001 From: devjin Date: Mon, 24 Sep 2012 02:46:23 +0000 Subject: [PATCH 78/94] issue 2499 update a layout link in welcome page. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11451 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/install/script/welcome_content/welcome_content_en.html | 2 +- modules/install/script/welcome_content/welcome_content_es.html | 2 +- modules/install/script/welcome_content/welcome_content_fr.html | 2 +- modules/install/script/welcome_content/welcome_content_jp.html | 2 +- modules/install/script/welcome_content/welcome_content_ko.html | 2 +- modules/install/script/welcome_content/welcome_content_mn.html | 2 +- modules/install/script/welcome_content/welcome_content_ru.html | 2 +- modules/install/script/welcome_content/welcome_content_tr.html | 2 +- modules/install/script/welcome_content/welcome_content_vi.html | 2 +- .../install/script/welcome_content/welcome_content_zh-CN.html | 2 +- .../install/script/welcome_content/welcome_content_zh-TW.html | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/install/script/welcome_content/welcome_content_en.html b/modules/install/script/welcome_content/welcome_content_en.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_en.html +++ b/modules/install/script/welcome_content/welcome_content_en.html @@ -2,7 +2,7 @@

                  We recommend you to delete this demo page before launching the site.
                  Please check the following list to verify whether the installation has been properly completed.
                  You can see all the components on the administration page.

                  1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                  2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_es.html b/modules/install/script/welcome_content/welcome_content_es.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_es.html +++ b/modules/install/script/welcome_content/welcome_content_es.html @@ -2,7 +2,7 @@

                    We recommend you to delete this demo page before launching the site.
                    Please check the following list to verify whether the installation has been properly completed.
                    You can see all the components on the administration page.

                    1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                    2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_fr.html b/modules/install/script/welcome_content/welcome_content_fr.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_fr.html +++ b/modules/install/script/welcome_content/welcome_content_fr.html @@ -2,7 +2,7 @@

                      We recommend you to delete this demo page before launching the site.
                      Please check the following list to verify whether the installation has been properly completed.
                      You can see all the components on the administration page.

                      1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                      2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_jp.html b/modules/install/script/welcome_content/welcome_content_jp.html index c4ae50fe4..1c1ea4141 100644 --- a/modules/install/script/welcome_content/welcome_content_jp.html +++ b/modules/install/script/welcome_content/welcome_content_jp.html @@ -2,7 +2,7 @@

                        ウェブサイトを始める前にこのページを削除してください。
                        以下のリストの格項目をチェックして設置状態を確認することができます。
                        管理ページから全てのコンポネントを確認することができます。

                        1. - 画面の構成から header, body, footerが見えたら、レイアウトは正常に設置されたことです。 + 画面の構成から header, body, footerが見えたら、レイアウトは正常に設置されたことです。
                        2. 画面上端と左に位置する二つのメニューが見えたら、メニューモジュールは正常に設置されたことです diff --git a/modules/install/script/welcome_content/welcome_content_ko.html b/modules/install/script/welcome_content/welcome_content_ko.html index 8f85c2201..332d6da27 100644 --- a/modules/install/script/welcome_content/welcome_content_ko.html +++ b/modules/install/script/welcome_content/welcome_content_ko.html @@ -2,7 +2,7 @@

                          XE core설치가 성공적으로 완료되었습니다.
                          이 페이지는 데모 페이지 이므로 추후 사이트 운영시 삭제 가능합니다.
                          모든 설치요소는 관리자로 로그인하셔야 확인할 수 있습니다.

                          1. - 헤더, 본문, 풋터로 구성된 화면이 보인다면 레이아웃이 정상적으로 설치된 것입니다. + 헤더, 본문, 풋터로 구성된 화면이 보인다면 레이아웃이 정상적으로 설치된 것입니다.
                          2. 글로벌 네비게이션로컬 네비게이션이 보인다면 메뉴 모듈이 설치된 것입니다. diff --git a/modules/install/script/welcome_content/welcome_content_mn.html b/modules/install/script/welcome_content/welcome_content_mn.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_mn.html +++ b/modules/install/script/welcome_content/welcome_content_mn.html @@ -2,7 +2,7 @@

                            We recommend you to delete this demo page before launching the site.
                            Please check the following list to verify whether the installation has been properly completed.
                            You can see all the components on the administration page.

                            1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                            2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_ru.html b/modules/install/script/welcome_content/welcome_content_ru.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_ru.html +++ b/modules/install/script/welcome_content/welcome_content_ru.html @@ -2,7 +2,7 @@

                              We recommend you to delete this demo page before launching the site.
                              Please check the following list to verify whether the installation has been properly completed.
                              You can see all the components on the administration page.

                              1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                              2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_tr.html b/modules/install/script/welcome_content/welcome_content_tr.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_tr.html +++ b/modules/install/script/welcome_content/welcome_content_tr.html @@ -2,7 +2,7 @@

                                We recommend you to delete this demo page before launching the site.
                                Please check the following list to verify whether the installation has been properly completed.
                                You can see all the components on the administration page.

                                1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                                2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_vi.html b/modules/install/script/welcome_content/welcome_content_vi.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_vi.html +++ b/modules/install/script/welcome_content/welcome_content_vi.html @@ -2,7 +2,7 @@

                                  We recommend you to delete this demo page before launching the site.
                                  Please check the following list to verify whether the installation has been properly completed.
                                  You can see all the components on the administration page.

                                  1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                                  2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_zh-CN.html b/modules/install/script/welcome_content/welcome_content_zh-CN.html index 1c0398c4c..3e9229262 100644 --- a/modules/install/script/welcome_content/welcome_content_zh-CN.html +++ b/modules/install/script/welcome_content/welcome_content_zh-CN.html @@ -2,7 +2,7 @@

                                    We recommend you to delete this demo page before launching the site.
                                    Please check the following list to verify whether the installation has been properly completed.
                                    You can see all the components on the administration page.

                                    1. - When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer. + When the layout has been successfully installed, you can see the screen containing a header, a content body, and a footer.
                                    2. When Menu module has been successfully installed, you can see both global and local navigations. diff --git a/modules/install/script/welcome_content/welcome_content_zh-TW.html b/modules/install/script/welcome_content/welcome_content_zh-TW.html index 24ecb9e46..4967564df 100644 --- a/modules/install/script/welcome_content/welcome_content_zh-TW.html +++ b/modules/install/script/welcome_content/welcome_content_zh-TW.html @@ -2,7 +2,7 @@

                                      ءߢ
                                      ?
                                      ʦη̸졣

                                      1. - ͪ ʦ̸ Ү ڭ + ͪ ʦ̸ Ү ڭ
                                      2. Ӥټ ʦ̸ ӤӤ From a41334388a7477ac346272a3f5992a92657d628f Mon Sep 17 00:00:00 2001 From: devjin Date: Mon, 24 Sep 2012 03:05:13 +0000 Subject: [PATCH 79/94] issue 2469 added logic to setting layout in member(not use layout). git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11454 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.admin.controller.php | 1 + modules/member/member.model.php | 6 ------ modules/member/tpl/member_config.html | 1 + 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 24d0ca5a9..45dee679c 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -189,6 +189,7 @@ $args->image_mark = $args->image_mark?'Y':'N'; if($args->signature!='Y') $args->signature = 'N'; $args->identifier = $all_args->identifier; + $args->layout_srl = $args->layout_srl ? $args->layout_srl : null; // set default $all_args->is_nick_name_public = 'Y'; diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 8bc52b101..7b85da6b3 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -63,12 +63,6 @@ if (!$config->max_error_count) $config->max_error_count = 10; if (!$config->max_error_count_time) $config->max_error_count_time = 300; - if (!$config->layout_srl) - { - $oModuleModel = &getModel('module'); - $defaultModuleInfo = $oModuleModel->getDefaultMid(); - $config->layout_srl = $defaultModuleInfo->layout_srl; - } if (!$config->signature_editor_skin || $config->signature_editor_skin == 'default') $config->signature_editor_skin = 'xpresseditor'; if (!$config->sel_editor_colorset) $config->sel_editor_colorset = 'white'; diff --git a/modules/member/tpl/member_config.html b/modules/member/tpl/member_config.html index 7e50b27a8..813ca5371 100644 --- a/modules/member/tpl/member_config.html +++ b/modules/member/tpl/member_config.html @@ -88,6 +88,7 @@

                                        From 57c915eae962b21fef884ba4d27315852a19d020 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 05:38:08 +0000 Subject: [PATCH 80/94] issue 2516, fixed a bug that does not modify some layout html git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11459 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 595105073..b5986153f 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -847,9 +847,9 @@ class Context { if($set_to_vars) { - $val = preg_replace('/<\?.*(\?>)?/iUsm', '', $val); - $val = preg_replace('/<\%.*(\%>)?/iUsm', '', $val); - $val = preg_replace('/.*<[\s]*\/[\s]*script[\s]*>/iUsm', '', $val); + $val = preg_replace('/<\?/i', '', $val); + $val = preg_replace('/<\%/i', '', $val); + $val = preg_replace('//ism', '', $val); } $this->set($key, $val, $set_to_vars); From a2658393fe40d9c17f3337cfd555deb828b6265a Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 07:43:22 +0000 Subject: [PATCH 81/94] issue 2517, added a method for clean favorite. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11463 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/admin.admin.controller.php | 48 +++++++++++++++++++ modules/admin/queries/deleteFavorites.xml | 8 ++++ .../autoinstall.admin.controller.php | 3 ++ 3 files changed, 59 insertions(+) create mode 100644 modules/admin/queries/deleteFavorites.xml diff --git a/modules/admin/admin.admin.controller.php b/modules/admin/admin.admin.controller.php index 8d5473c1a..fccadd119 100644 --- a/modules/admin/admin.admin.controller.php +++ b/modules/admin/admin.admin.controller.php @@ -216,6 +216,54 @@ return $this->setRedirectUrl(Context::get('error_return_url'), $output); } + /** + * Cleanning favorite + * @return Object + */ + function cleanFavorite() + { + $oModel = getAdminModel('admin'); + $output = $oModel->getFavoriteList(); + if(!$output->toBool()) + { + return $output; + } + + $favoriteList = $output->get('favoriteList'); + if(!$favoriteList) + { + return new Object(); + } + + $deleteTargets = array(); + foreach($favoriteList as $favorite) + { + if($favorite->type == 'module') + { + $modulePath = './modules/' . $favorite->module; + $modulePath = FileHandler::getRealPath($modulePath); + if(!is_dir($modulePath)) + { + $deleteTargets[] = $favorite->admin_favorite_srl; + } + } + } + + if(!count($deleteTargets)) + { + return new Object(); + } + + $args->admin_favorite_srls = $deleteTargets; + $output = executeQuery('admin.deleteFavorites', $args); + if(!$output->toBool()) + { + return $output; + } + + return new Object(); + } + /** * Enviroment gathering agreement * @return void diff --git a/modules/admin/queries/deleteFavorites.xml b/modules/admin/queries/deleteFavorites.xml new file mode 100644 index 000000000..ad57007fb --- /dev/null +++ b/modules/admin/queries/deleteFavorites.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/modules/autoinstall/autoinstall.admin.controller.php b/modules/autoinstall/autoinstall.admin.controller.php index 672deb1ba..15449d94f 100644 --- a/modules/autoinstall/autoinstall.admin.controller.php +++ b/modules/autoinstall/autoinstall.admin.controller.php @@ -70,6 +70,9 @@ $this->updateCategory($xmlDoc); $this->updatePackages($xmlDoc); $this->checkInstalled(); + + $oAdminController = &getAdminController('admin'); + $output = $oAdminController->cleanFavorite(); } /** From 9ac0e5bc9906166c21b63149abd8865f8b1ab2ca Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 08:36:28 +0000 Subject: [PATCH 82/94] issue 2449, changed a message git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11470 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/point/point.controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index f6f8bf708..3438e348c 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -332,7 +332,7 @@ $point = $module_config['download_file']; if(!isset($point)) $point = $config->download_file; // If points are less than 0, and if downloading a file is not allowed in this case, give an errors - if($cur_point + $point < 0 && $config->disable_download == 'Y') return new Object(-1,'msg_not_permitted_download'); + if($cur_point + $point < 0 && $config->disable_download == 'Y') return new Object(-1,'msg_cannot_download'); return new Object(); } From 36f01bde77680d5e5c25d20b6cc88fd4066d34d5 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 09:26:31 +0000 Subject: [PATCH 83/94] issue 2344, added a simple/detail view on easyinstall list page git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11478 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/admin.js | 5 +++-- modules/admin/tpl/js/admin.min.js | 30 ++++++++++++++--------------- modules/admin/tpl/js/sitemap.min.js | 4 ++-- modules/autoinstall/tpl/list.html | 7 ++++--- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/modules/admin/tpl/js/admin.js b/modules/admin/tpl/js/admin.js index 32bb7f7a8..2b57f2a6a 100644 --- a/modules/admin/tpl/js/admin.js +++ b/modules/admin/tpl/js/admin.js @@ -1385,12 +1385,13 @@ jQuery(function($){ tdTitle.each(function(){ var $t = $(this) if($t.find('p.update').length==0){ - $t.addClass('tg').find('>p:not(:first-child)').hide(); + $t.addClass('tg').find('>*:not(:first-child)').hide(); } else { $t.addClass('up'); } }); - var details = $('.x .dsTg td.tg>p:not(:first-child)'); + $('.x .dsTg .thumb').hide(); + var details = $('.x .dsTg td.tg>*:not(:first-child), .x .dsTg .thumb'); viewBtn.click(function(){ viewBtn.toggleClass('details'); details.slideToggle(200); diff --git a/modules/admin/tpl/js/admin.min.js b/modules/admin/tpl/js/admin.min.js index 4cb08e5c2..10f42504d 100644 --- a/modules/admin/tpl/js/admin.min.js +++ b/modules/admin/tpl/js/admin.min.js @@ -17,30 +17,30 @@ jQuery(function(a){a.fn.xeModuleFinder=function(){this.not(".xe-module-finder"). k;f++)d=a("
                                      3. ").appendTo(e),a('
                                      4. ');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(d){var g,h,f,k,n,j,o,m,l,q;if(1==d.which){h=a(this);f=h.closest("tr");k=h.closest("table");q=k.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); -k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;g=d.pageY;j=b(f.get(0),q);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(d=k.find("thead th")).length;d.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});e.find("td").attr("colspan",l);o=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var e=a(this),d;d=b(this,q);o.push({top:d.top,bottom:d.top+e.height(),$item:e})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, -left:j.left,top:j.top,zIndex:100});e.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var b,d,f;m=null;a=j.top-(g-a.pageY);b=0;for(d=o.length;ba||ba-12?(m.state="before",e.css("top",f.top-5)):(m.state="after",e.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", +jQuery(function(a){function b(a,b){for(var e=0,f=0;a&&a!=b;)e+=a.offsetTop,f+=a.offsetLeft,a=a.offsetParent;return{top:e,left:f}}var e=a('');a.fn.xeSortableTable=function(){this.not(".xe-sortable-table").addClass("xe-sortable-table").delegate("button.dragBtn","mousedown.st",function(d){var g,h,f,k,n,j,p,m,l,r;if(1==d.which){h=a(this);f=h.closest("tr");k=h.closest("table");r=k.get(0).offsetParent;h=f.height();n=f.width();before_event=a.Event("before-drag.st"); +k.trigger(before_event);if(before_event.isDefaultPrevented())return!1;g=d.pageY;j=b(f.get(0),r);$clone=f.attr("target",!0).clone(!0).appendTo(k);l=(d=k.find("thead th")).length;d.filter("[colspan]").attr("colspan",function(a,b){l+=b-1});e.find("td").attr("colspan",l);p=[];k.find("tbody>tr:not([target],.sticky,:hidden)").each(function(){var e=a(this),d;d=b(this,r);p.push({top:d.top,bottom:d.top+e.height(),$item:e})});$clone.addClass("draggable").css({position:"absolute",opacity:0.6,width:n,height:h, +left:j.left,top:j.top,zIndex:100});e.css({position:"absolute",opacity:0.6,width:n,height:"10px",left:j.left,top:j.top,backgroundColor:"#bbb",overflow:"hidden",zIndex:99}).appendTo(k);f.css("opacity",0.6);a(document).unbind("mousedown.st mouseup.st").bind("mousemove.st",function(a){var b,d,f;m=null;a=j.top-(g-a.pageY);b=0;for(d=p.length;ba||ba-12?(m.state="before",e.css("top",f.top-5)):(m.state="after",e.css("top",f.bottom-5)));$clone.css({top:a})}).bind("mouseup.st", function(){var b;a(document).unbind("mousemove.st mouseup.st");f.removeAttr("target").css("opacity","");$clone.remove();e.remove();m&&(b=a(m.element),b[m.state](f),k.trigger("after-drag.st"))})}});return this};a("table.sortable").xeSortableTable()}); jQuery(function(a){var b=null,e=null,d=0,g=null,h=!1,f=!1,k;a(".multiLangEdit").delegate("input.vLang:text,textarea.vLang",{textchange:function(){function b(){f.addClass("loading");l.parent().is(":visible")&&l.parent().hide();show_waiting_message=!1;a.exec_json("module.getLangListByLangcodeForAutoComplete",{search_keyword:g},function(b){return function(e){var g=e.results,j,h;f.removeClass("loading");if(!e.error&&g&&!(0===g.length||d!=b+1)){l.empty();j=0;for(h=g.length;j').data("langkey", g[j].name).text(g[j].value),a("
                                      5. ").append(e).appendTo(l);k.trigger("show")}}}(d++));show_waiting_message=!0}var f=a(this),g=a.trim(f.val()),l;e&&(clearTimeout(e),e=null);f.data("mle-container");l=k.find(">ul");!g||h?(h=!1,l.parent().hide(),f.prev("input.vLang").val("")):(f.data("mle-langkey").val(""),f.prev("input.vLang").val(g),e=setTimeout(b,100))},keydown:function(b){var e,d,f=b.which;a(this);b=k.find(">ul");if(!k.is(":visible")||0>a.inArray(f,[38,40,13,27]))return!0;if(27==f)return k.trigger("hide"), !1;e=b.find("button.active");if(13==f){if(0===e.length)return!0;e.click();return!1}if(!e.length)return b.find("li>button:first").addClass("active"),!1;38==f?(d=e.parent().prev("li").find(">button"),d.length||(d=b.find(">li:last>button"))):40==f&&(d=e.parent().next("li").find(">button"),d.length||(d=b.find(">li:first>button")));e.removeClass("active");d.addClass("active");return!1},focus:function(){var e=a(this),d=a.trim(e.val()),f=e.closest(".multiLangEdit");e.after(k);e.data("mle-container")||e.data("mle-container", f);e.data("mle-langkey")||e.data("mle-langkey",f.find("input.vLang:first"));(function(){var f=a.trim(e.val());f!=d&&(d=f,e.trigger("textchange"));b=setTimeout(arguments.callee,50)})()},blur:function(){clearTimeout(b);b=null;a(this).closest(".multiLangEdit").focusout()},focusout:function(){var b=a(this);clearTimeout(g);g=setTimeout(function(){f?f=!1:b.find(":focus").is(".vLang,button._btnLang")||k.trigger("hide")},10)}}).delegate("a.tgAnchor.editUserLang",{"before-open.tc":function(){var b,e,d;b=a(this); -e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];v.each(function(){a.push(this.value)});return a.join("\n")},h=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(p==y?t:z).end().find("a").text(p==y?z:t).show().end():f.find("h2").find("strong").text(t).end().find("a").hide()},r,v,w="",s=0,p,t,z,u=[],y=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", -!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");p=y;h()}).find("h2 a").click(function(){p=!p;h();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", -j);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");w=g();s=0;r.val(u[s]);p=1;h();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),z=f.find("h2 strong").text(),t=f.find("h2 a").text(),v=f.find("input:text,textarea").change(function(){var a=g()==w?0:1;a!=s&&r.val(u[s=a])}),r=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ -d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==w)b();else{var h={};d&&1==p&&(h.lang_name=d);v.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),u=r.val().split("|"),r.val(u[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); -e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;d>1&&e.addClass("showChild");e.find(".langList>li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;k.trigger("hide"); +e=a(b.attr("href")).insertBefore(b);d=b.closest(".multiLangEdit").find("input.vLang,textarea.vLang");b=d.eq(0).val();d=d.eq(1).val();var f=e,g=function(){var a=[];w.each(function(){a.push(this.value)});return a.join("\n")},h=function(){f.data("multilang-current-name")?f.find("h2").find("strong").text(q==z?u:A).end().find("a").text(q==z?A:u).show().end():f.find("h2").find("strong").text(u).end().find("a").hide()},s,w,x="",t=0,q,u,A,v=[],z=0;f.data("init-multilang-editor")||(f.data("init-multilang-editor", +!0).bind("multilang-reset",function(){f.data("multilang-current-name","").find(".langInput li").find(">input:text,>textarea").val("").prev("label").css("visibility","visible");q=z;h()}).find("h2 a").click(function(){q=!q;h();return!1}).end().delegate("a.langItem","click",function(){var b=a(this),e,d,j;d=f.data("multilang-list");j=b.data("multilang-name");if(d&&d[j]){d=d[j];e=f.find(".langInput");f.trigger("multilang-reset").find(".langList li.active").removeClass("active").end().data("multilang-current-name", +j);b.parent("li").addClass("active");for(var k in d)d.hasOwnProperty(k)&&e.find("li."+k).find(">input:text,>textarea").data("multilang-value",d[k]).val(d[k]).prev("label").css("visibility","hidden");x=g();t=0;s.val(v[t]);q=1;h();return!1}}).data("layer_index",n).find(".langInput").attr("id","langInput_"+n++),A=f.find("h2 strong").text(),u=f.find("h2 a").text(),w=f.find("input:text,textarea").change(function(){var a=g()==x?0:1;a!=t&&s.val(v[t=a])}),s=f.find("input[type=submit]").click(function(){function b(){f.hide().closest(".multiLangEdit").find(".vLang").eq(0).val("$user_lang->"+ +d).end().eq(1).val(f.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val()).end()}function e(a){a&&(!a.error&&a.name)&&(d=a.name,b())}var d=f.data("multilang-current-name");if(g()==x)b();else{var h={};d&&1==q&&(h.lang_name=d);w.each(function(){var b=a(this);h[b.parent("li").attr("class")]=b.val()});a.exec_json("module.procModuleAdminInsertLang",h,e)}return!1}),v=s.val().split("|"),s.val(v[0]));e.trigger("multilang-reset").removeClass("showChild").find(".langList").empty().end(); +e.find(".langInput li."+xe.current_lang).find(">input:text,>textarea").val(d).prev("label").css("visibility","hidden");k.trigger("hide");/^\$user_lang->(.+)$/.test(b)?(b="module.getModuleAdminLangListByName",d={lang_name:RegExp.$1}):(b="module.getModuleAdminLangListByValue",d={value:d});show_waiting_message=!1;a.exec_json(b,d,function(b){var d=b.lang_list,f;if(!b.error&&d){var b=d,g,h={},j,d=0;for(g=b.length;d").appendTo(f),g=e.data("layer_index"),h=this[xe.current_lang];if(!h)for(lang_code in this){h=this[lang_code];break}a('').text(h).data("multilang-name",b).appendTo(d)});var b=d,d=0,k;for(k in b)b.hasOwnProperty(k)&&d++;1li>a:first").click()}});show_waiting_message=!0}}).delegate("button._btnLang",{click:function(){var b=a(this);h=!0;k.trigger("hide"); b.closest(".multiLangEdit").find("input.vLang,textarea.vLang").eq(0).val(b.data("langkey")).end().eq(1).val(b.text()).end();return!1},mousedown:function(){f=!0},focus:function(){a(this).mouseover()},mouseover:function(){a(this).closest("ul").find("button.active").removeClass("active")}});k=a('
                                          ').bind("show",function(){a(this).show()}).bind("hide",function(){a(this).hide()});var n=0}); jQuery(function(a){a(".filebox").bind("before-open.mw",function(){function b(h){d.html(h.html);d.find(".lined .select").bind("click",function(){var b=a("input.select_checkbox:checked");0==b.length?(b=a(this).parent().find("img.filebox_item").attr("src"))?(e.trigger("filebox.selected",[b]),e.trigger("close.mw")):alert("None selected!"):(e.trigger("filebox.selected",[b]),e.trigger("close.mw"));return!1});d.find(".pagination").find("a").filter(function(){return a(this).hasClass("tgAnchor")?!1:!0}).bind("click", function(){var d=a(this).attr("page");a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1});a("#FileBoxGoTo").find("button").bind("click",function(){var d=a(this).prev("input").val();a.exec_json("module.getFileBoxListHtml",{page:d},b);a(window).scrollTop(a(g).find(".modalClose").offset().top);return!1})}var e,d,g;e=a(this);g=e.attr("href");d=a(g).find(".filebox_list");a.exec_json("module.getFileBoxListHtml",{page:"1"},b)})}); function showWaitingFogLayer(){var a=jQuery('');a.height(jQuery(window).height());jQuery(".wfsr").wrap('
                                          ').before(a)}function hideWaitingFogLayer(){jQuery(".wfsr").prev("span").remove();jQuery(".wfsr").unwrap()}function doInstallModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminInstall",b,completeInstallModule);showWaitingFogLayer()} function doUpdateModule(a){var b=[];b.module_name=a;exec_xml("install","procInstallAdminUpdate",b,completeInstallModule);showWaitingFogLayer()}function completeInstallModule(a){alert(a.message);location.reload()} -jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var b=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">p:not(:first-child)").hide():b.addClass("up")});var e=a(".x .dsTg td.tg>p:not(:first-child)");b.click(function(){b.toggleClass("details");e.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= +jQuery(function(a){a("body").ajaxComplete(function(){hideWaitingFogLayer()});0==a(".x>.body .lnb").length&&a(".x>.body").addClass("single");var b=a(".x .dsTg span.side>button.text");a(".x .dsTg td.title").each(function(){var b=a(this);0==b.find("p.update").length?b.addClass("tg").find(">*:not(:first-child)").hide():b.addClass("up")});a(".x .dsTg .thumb").hide();var e=a(".x .dsTg td.tg>*:not(:first-child), .x .dsTg .thumb");b.click(function(){b.toggleClass("details");e.slideToggle(200)});a(".x .content .h2, .x .content .h3").not(".portlet .h2, .modal .h2").each(function(){var b= a('');a(this).append(b);b.click(function(){var b=a(this),d=b.parent().nextUntil(".h2, .h3").not(".langEdit, .tgContent, .modal");b.parent().next().is(":hidden")?(b.find("i").attr("class","icon-chevron-up"),d.slideDown(200)):(b.find("i").attr("class","icon-chevron-down"),d.slideUp(200))})})}); diff --git a/modules/admin/tpl/js/sitemap.min.js b/modules/admin/tpl/js/sitemap.min.js index c8a93e41f..16c3a971f 100644 --- a/modules/admin/tpl/js/sitemap.min.js +++ b/modules/admin/tpl/js/sitemap.min.js @@ -1,5 +1,5 @@ -jQuery(function(c){function o(a,c){for(var b=0,g=0;a&&a!=c;)b+=a.offsetTop,g+=a.offsetLeft,a=a.offsetParent;return{top:b,left:g}}var l=!1,k=c('
                                        • ');c("form.siteMap").delegate("li:not(.placeholder)",{"mousedown.st":function(a){var d,b,g,h,n,p,i,m,j;if(!(c(a.target).is("a,input,label,textarea")||1!=a.which)){l=!0;b=c(this);p=b.height();n=b.width();g=b.parentsUntil(".siteMap").filter("ul");h=g.eq(-1);h.css("position","relative");d=a.pageY;i=o(this,h.get(0));$clone=b.clone(!0).attr("target", -!0);for(a=g.length-1;a;a--)$clone=$clone.wrap("
                                        •  
                                           
                                          - + @@ -43,7 +44,7 @@ {@ $target_url = $original_site."?mid=download&package_srl=".$item->package_srl; } - +
                                          {$current_category} @@ -28,11 +28,12 @@ {$lang->order_download} | {$lang->order_popular} +
                                          {$lang->category}{$lang->thumbnail}{$lang->thumbnail} {$lang->name} {$lang->distribute_version} {$lang->current_version}
                                          {$item->category}

                                          {htmlspecialchars($item->title)}

                                          {cut_str(htmlspecialchars($item->package_description),200)}

                                          From de5b8e74781caa9e63ebbf4151e647933a0a83ab Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 09:36:22 +0000 Subject: [PATCH 84/94] issue 2484, added a checkbox support on layout xml git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11480 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/tpl/layout_modify.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html index 163c348ce..8e1c4ebbe 100644 --- a/modules/layout/tpl/layout_modify.html +++ b/modules/layout/tpl/layout_modify.html @@ -96,6 +96,12 @@ + + + + + + From bda984403ee500f0f0a5f737e18bfd114a63a67e Mon Sep 17 00:00:00 2001 From: flyskyko Date: Mon, 24 Sep 2012 09:37:46 +0000 Subject: [PATCH 85/94] issue 2516, remove unnecessary codes git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11482 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/layout.admin.controller.php | 3 --- modules/layout/layout.view.php | 3 --- 2 files changed, 6 deletions(-) diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 6d4ef6637..b25d8850c 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -272,9 +272,6 @@ return new Object(-1, 'msg_invalid_request'); } - $code = preg_replace('/<\?.*(\?>)?/Usm', '', $code); - $code = preg_replace('/.*<\/script>/Usm', '', $code); - $oLayoutModel = &getModel('layout'); $layout_file = $oLayoutModel->getUserLayoutHtml($layout_srl); FileHandler::writeFile($layout_file, $code); diff --git a/modules/layout/layout.view.php b/modules/layout/layout.view.php index 6dcda6966..77acfa2e6 100644 --- a/modules/layout/layout.view.php +++ b/modules/layout/layout.view.php @@ -44,9 +44,6 @@ $layout_srl = Context::get('layout_srl'); $code = Context::get('code'); - $code = preg_replace('/<\?.*(\?>)?/Usm', '', $code); - $code = preg_replace('/.*<\/script>/Usm', '', $code); - $code_css = Context::get('code_css'); if(!$layout_srl || !$code) return new Object(-1, 'msg_invalid_request'); // Get the layout information From 1884886277ba7fa5d5ce53fa4a8eed280fe0c41a Mon Sep 17 00:00:00 2001 From: devjin Date: Tue, 25 Sep 2012 02:06:44 +0000 Subject: [PATCH 86/94] issue 2478 delete cache when setting point git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11488 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/point/point.controller.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index 3438e348c..b140484e1 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -568,6 +568,17 @@ $cache_filename = sprintf('%s%d.cache.txt', $cache_path, $member_srl); FileHandler::writeFile($cache_filename, $point); + $oCacheHandler = &CacheHandler::getInstance('object'); + if($oCacheHandler->isSupport()) + { + $cache_key = 'object:'.$member_srl; + $GLOBALS['__member_info__'][$member_srl] = null; + $oCacheHandler->delete($cache_key); + + $gcache_key = 'object_member_groups:'.$member_srl.'_0'; + $oCacheHandler->delete($gcache_key); + } + return $output; } From e8f11ff2b84d298b6baf057e536856b971784b0e Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 25 Sep 2012 04:54:43 +0000 Subject: [PATCH 87/94] issue 1646, fixed a bug. not update readed count. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11493 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.controller.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 20332f5b1..3bbbbb7d0 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -745,6 +745,8 @@ class documentController extends document { $cache_key = 'object_document_item:'.$document_srl; $oCacheHandler->delete($cache_key); } + + return TRUE; } /** From 94a37407c473e951c8065cff16851246c38e4b7f Mon Sep 17 00:00:00 2001 From: chschy Date: Tue, 25 Sep 2012 07:34:54 +0000 Subject: [PATCH 88/94] issue 2514 apply layout configuration at communication module git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11498 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../communication/communication.admin.controller.php | 3 ++- modules/communication/communication.admin.view.php | 7 ++++++- modules/communication/communication.view.php | 12 ++++++++++++ modules/communication/tpl/index.html | 9 +++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/modules/communication/communication.admin.controller.php b/modules/communication/communication.admin.controller.php index c544a5e2b..e2abc5dff 100644 --- a/modules/communication/communication.admin.controller.php +++ b/modules/communication/communication.admin.controller.php @@ -19,12 +19,13 @@ **/ function procCommunicationAdminInsertConfig() { // get the default information - $args = Context::gets('skin','colorset','editor_skin','editor_colorset', 'mskin'); + $args = Context::gets('skin','colorset','editor_skin','editor_colorset', 'mskin','layout_srl'); if(!$args->skin) $args->skin = 'default'; if(!$args->colorset) $args->colorset = 'white'; if(!$args->editor_skin) $args->editor_skin = 'default'; if(!$args->mskin) $args->mskin = 'default'; + if(!$args->layout_srl) $args->layout_srl = null; // create the module module Controller object $oModuleController = &getController('module'); diff --git a/modules/communication/communication.admin.view.php b/modules/communication/communication.admin.view.php index 75720f418..b80decfa5 100644 --- a/modules/communication/communication.admin.view.php +++ b/modules/communication/communication.admin.view.php @@ -17,13 +17,17 @@ * configuration to manage messages and friends * @return void **/ - function dispCommunicationAdminConfig() { + function dispCommunicationAdminConfig() + { // Creating an object $oEditorModel = &getModel('editor'); $oModuleModel = &getModel('module'); + $oLayoutModel = &getModel('layout'); $oCommunicationModel = &getModel('communication'); // get the configurations of communication module Context::set('communication_config', $oCommunicationModel->getConfig() ); + // get a list of layout + Context::set('layout_list', $oLayoutModel->getLayoutList() ); // get a list of editor skins Context::set('editor_skin_list', $oEditorModel->getEditorSkinList() ); // get a list of communication skins @@ -33,6 +37,7 @@ $security = new Security(); $security->encodeHTML('communication_config..'); + $security->encodeHTML('layout_list..'); $security->encodeHTML('editor_skin_list..'); $security->encodeHTML('communication_skin_list..title'); $security->encodeHTML('communication_mobile_skin_list..title'); diff --git a/modules/communication/communication.view.php b/modules/communication/communication.view.php index 5f309b442..92cbeb236 100644 --- a/modules/communication/communication.view.php +++ b/modules/communication/communication.view.php @@ -26,6 +26,14 @@ $tpl_path = sprintf('%sskins/%s', $this->module_path, $skin); } $this->setTemplatePath($tpl_path); + + $oLayoutModel = &getModel('layout'); + $layout_info = $oLayoutModel->getLayout($this->communication_config->layout_srl); + if($layout_info) + { + $this->module_info->layout_srl = $this->communication_config->layout_srl; + $this->setLayoutPath($layout_info->path); + } } /** @@ -81,6 +89,7 @@ * @return void|Object (void : success, Object : fail) **/ function dispCommunicationNewMessage() { + $this->setLayoutPath('./common/tpl/'); $this->setLayoutFile('popup_layout'); // Error appears if not logged-in if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); @@ -108,6 +117,7 @@ * @return void|Object (void : success, Object : fail) **/ function dispCommunicationSendMessage() { + $this->setLayoutPath('./common/tpl/'); $this->setLayoutFile("popup_layout"); $oCommunicationModel = &getModel('communication'); $oMemberModel = &getModel('member'); @@ -201,6 +211,7 @@ * @return void|Object (void : success, Object : fail) **/ function dispCommunicationAddFriend() { + $this->setLayoutPath('./common/tpl/'); $this->setLayoutFile("popup_layout"); // error appears if not logged-in if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); @@ -226,6 +237,7 @@ * @return void|Object (void : success, Object : fail) **/ function dispCommunicationAddFriendGroup() { + $this->setLayoutPath('./common/tpl/'); $this->setLayoutFile("popup_layout"); // error apprears if not logged-in if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); diff --git a/modules/communication/tpl/index.html b/modules/communication/tpl/index.html index d5a403f96..c909d4de4 100644 --- a/modules/communication/tpl/index.html +++ b/modules/communication/tpl/index.html @@ -10,6 +10,15 @@
                                          + + + +
                                          {$lang->layout} + +
                                          {$lang->editor_skin} From a190622471fd1b4841bb5569da8a8c81196a6747 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 25 Sep 2012 08:11:09 +0000 Subject: [PATCH 89/94] issue 2465, added detail information for use ssl git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11499 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/lang/lang.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/admin/lang/lang.xml b/modules/admin/lang/lang.xml index d7be94a77..7bbb13d74 100644 --- a/modules/admin/lang/lang.xml +++ b/modules/admin/lang/lang.xml @@ -712,16 +712,16 @@ - '항상 사용'은 모든 서비스에 SSL을 사용 합니다.]]> - 'Always' to use SSL for all services.]]> - - - 選擇開啟時,所有的服務都會使用 SSL功能。]]> - - - - - Chỉ chọn 'Luôn luôn' khi Website của bạn đang chạy trên Server có hỗ trợ https.]]> + '항상 사용'은 모든 서비스에 SSL을 사용 합니다.
                                          SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]>
                                          + 'Always' to use SSL for all services.
                                          SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]>
                                          + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + 選擇開啟時,所有的服務都會使用 SSL功能。
                                          SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]>
                                          + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]> + Chỉ chọn 'Luôn luôn' khi Website của bạn đang chạy trên Server có hỗ trợ https.
                                          SSL 환경이 갖춰지지 않은 상태에서 SSL을 사용할 경우 접속이 되지 않을 수 있으니 주의하시기 바랍니다.]]>
                                          @@ -1484,4 +1484,4 @@ - \ No newline at end of file + From 5acfe84c1429558d00b3964863cf594a2e258bbe Mon Sep 17 00:00:00 2001 From: flyskyko Date: Tue, 25 Sep 2012 08:35:35 +0000 Subject: [PATCH 90/94] issue 2494, added a _XE_PATH_ in include statement. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11500 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/security/EmbedFilter.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/security/EmbedFilter.class.php b/classes/security/EmbedFilter.class.php index f17fe198e..afc98d291 100644 --- a/classes/security/EmbedFilter.class.php +++ b/classes/security/EmbedFilter.class.php @@ -1,5 +1,5 @@ Date: Tue, 25 Sep 2012 11:24:25 +0000 Subject: [PATCH 91/94] Issue 2527: Allow default mid from other sites not to be displayed Tested all cases and didn't find anything wrong with this. git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11509 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 3399e6736..f4f0fe6f3 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -118,11 +118,11 @@ } // redirect, if module_site_srl and site_srl are different - if(!$this->module && !$module_info && $site_module_info->site_srl == 0 && $site_module_info->module_site_srl > 0) { - $site_info = $oModuleModel->getSiteInfo($site_module_info->module_site_srl); - header("location:".getNotEncodedSiteUrl($site_info->domain,'mid',$site_module_info->mid)); - return false; - } + //if(!$this->module && !$module_info && $site_module_info->site_srl == 0 && $site_module_info->module_site_srl > 0) { + // $site_info = $oModuleModel->getSiteInfo($site_module_info->module_site_srl); + // header("location:".getNotEncodedSiteUrl($site_info->domain,'mid',$site_module_info->mid)); + // return false; + //} // If module_info is not set still, and $module does not exist, find the default module if(!$module_info && !$this->module && !$this->mid) $module_info = $site_module_info; From 05e1a637959a91fa980f9e18c3a4fc82e71c39e8 Mon Sep 17 00:00:00 2001 From: dragan-dan Date: Tue, 25 Sep 2012 14:08:05 +0000 Subject: [PATCH 92/94] re changed revision 11509 found another case that doesn't work git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11514 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index f4f0fe6f3..3399e6736 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -118,11 +118,11 @@ } // redirect, if module_site_srl and site_srl are different - //if(!$this->module && !$module_info && $site_module_info->site_srl == 0 && $site_module_info->module_site_srl > 0) { - // $site_info = $oModuleModel->getSiteInfo($site_module_info->module_site_srl); - // header("location:".getNotEncodedSiteUrl($site_info->domain,'mid',$site_module_info->mid)); - // return false; - //} + if(!$this->module && !$module_info && $site_module_info->site_srl == 0 && $site_module_info->module_site_srl > 0) { + $site_info = $oModuleModel->getSiteInfo($site_module_info->module_site_srl); + header("location:".getNotEncodedSiteUrl($site_info->domain,'mid',$site_module_info->mid)); + return false; + } // If module_info is not set still, and $module does not exist, find the default module if(!$module_info && !$this->module && !$this->mid) $module_info = $site_module_info; From 771511009734798566386a59abe65a397a0c58f9 Mon Sep 17 00:00:00 2001 From: florinutz Date: Sat, 29 Sep 2012 11:14:48 +0000 Subject: [PATCH 93/94] Issue 2544: Show error on wrong update query git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11570 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBCubrid.class.php | 2 +- classes/db/DBMssql.class.php | 2 +- classes/db/DBMysql.class.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php index b0dca092c..8debbbcd3 100644 --- a/classes/db/DBCubrid.class.php +++ b/classes/db/DBCubrid.class.php @@ -455,7 +455,7 @@ if ($notnull) $query .= "not null "; - $this->_query ($query); + return $this->_query ($query); } /** diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php index 5482406ee..1d1668f7c 100644 --- a/classes/db/DBMssql.class.php +++ b/classes/db/DBMssql.class.php @@ -310,7 +310,7 @@ if($default) $query .= sprintf(" default '%s' ", $default); if($notnull) $query .= " not null "; - $this->_query($query); + return $this->_query($query); } /** diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index c4f5a6477..4166db827 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -256,7 +256,7 @@ class DBMysql extends DB { if($default) $query .= sprintf(" default '%s' ", $default); if($notnull) $query .= " not null "; - $this->_query($query); + return $this->_query($query); } /** From b87dbb55ce17e318373ec7be1221aedcfbc829e8 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Thu, 4 Oct 2012 02:05:52 +0000 Subject: [PATCH 94/94] issue 2525, fixed a query error on windows git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11576 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/xml/xmlquery/argument/Argument.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/xml/xmlquery/argument/Argument.class.php b/classes/xml/xmlquery/argument/Argument.class.php index 8d760bb73..703e79cbc 100644 --- a/classes/xml/xmlquery/argument/Argument.class.php +++ b/classes/xml/xmlquery/argument/Argument.class.php @@ -164,7 +164,7 @@ class Argument { */ function _escapeStringValue($value) { // Remove non-utf8 chars. - $regex = '@((?:[\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2})+)|([\xF0-\xF7][\x80-\xBF]{3})|([\x80-\xBF])|([\xC0-\xFF])@x'; + $regex = '@((?:[\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}){1,100})|([\xF0-\xF7][\x80-\xBF]{3})|([\x80-\xBF])|([\xC0-\xFF])@x'; $value = preg_replace_callback($regex, array($this, 'utf8Replacer'), $value); $db = &DB::getInstance();