mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-25 13:22:16 +09:00
Merge branch 'release/1.7.4' into develop
This commit is contained in:
commit
327165b068
86 changed files with 721 additions and 724 deletions
|
|
@ -75,8 +75,6 @@ module.exports = function(grunt) {
|
|||
'modules/board/skins/default/board.default.min.js': ['modules/board/skins/default/board.default.js'],
|
||||
'modules/board/m.skins/default/js/mboard.min.js': ['modules/board/m.skins/default/js/mboard.js'],
|
||||
'modules/board/m.skins/simpleGray/js/mboard.min.js': ['modules/board/m.skins/simpleGray/js/mboard.js'],
|
||||
// editor-component-multimedia-link
|
||||
'modules/editor/components/multimedia_link/tpl/popup.min.js': ['modules/editor/components/multimedia_link/tpl/popup.js'],
|
||||
// editor-component-image-gallery
|
||||
'modules/editor/components/image_gallery/tpl/gallery.min.js' : ['modules/editor/components/image_gallery/tpl/gallery.js'],
|
||||
'modules/editor/components/image_gallery/tpl/list_gallery.min.js' : ['modules/editor/components/image_gallery/tpl/list_gallery.js'],
|
||||
|
|
@ -114,11 +112,6 @@ module.exports = function(grunt) {
|
|||
'modules/editor/components/image_gallery/tpl/slide_gallery.min.css': ['modules/editor/components/image_gallery/tpl/slide_gallery.css'],
|
||||
}
|
||||
},
|
||||
'editor-component-multimedia-link': {
|
||||
files: {
|
||||
'modules/editor/components/multimedia_link/tpl/popup.min.css': ['modules/editor/components/multimedia_link/tpl/popup.css'],
|
||||
}
|
||||
},
|
||||
'moudle-widget-tpl': {
|
||||
files: {
|
||||
'modules/widget/tpl/css/widget.min.css': ['modules/widget/tpl/css/widget.css'],
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# XpressEngine
|
||||
|
||||
## Authors
|
||||
adrian.vasile.constantin, aerofleet, @akasima, @andreimarin, araste, @bnu, bradly1, buffkj, c2joy, @canto, cbrghost, @ccata17, @ChanMyeong, chinaskyking, chschy, clench, @devjin, @dionirom, @dorami, @dragan-dan, ducduydaovn, duvent, @Eundong, @florinutz, @flourscent, @flyskyko, @ForPeople, FruitsHake, guny, @haneul, hankm2004, haojilin, heemin, ikko, johnsonshu, juanlee0, k10206, kagami, @khongchi, @largeden, liahona, lickawtl, mayoojin, mglclub, @misol, mmx900, mooo, mosmartin, @nagoon97, @ngleader, nicetwo, ovclas, @qw5414, @Rayyin, risapapa, rokmcssu, royallin, rubyeye, ryin005, sanghunjun, @sejin7940, @SMaker, @solidh, sspa3141, supershop, @taggon, @ucorina, unryong, venister, wdlee91, welcomeju, @YJSoft, ysnglee2000, zero
|
||||
adrian.vasile.constantin, aerofleet, @akasima, @andreimarin, araste, @bnu, bradly1, buffkj, c2joy, @canto, cbrghost, @ccata17, @ChanMyeong, chinaskyking, chschy, clench, @devjin, @dionisrom, @dorami, @dragan-dan, ducduydaovn, duvent, @Eundong, @florinutz, @flourscent, @flyskyko, @ForPeople, FruitsHake, guny, @haneul, hankm2004, haojilin, heemin, ikko, johnsonshu, juanlee0, k10206, kagami, @khongchi, @lansi951, @largeden, liahona, lickawtl, mayoojin, mglclub, @misol, mmx900, mooo, mosmartin, @nagoon97, @ngleader, nicetwo, ovclas, risapapa, rokmcssu, royallin, rubyeye, ryin005, sanghunjun, @sejin7940, @SMaker, sspa3141, @stellar12, supershop, @taggon, @ucorina, unryong, venister, wdlee91, welcomeju, @YJSoft, ysnglee2000, zero
|
||||
|
||||
## License
|
||||
Copyright (C) NAVER <http://www.navercorp.com>
|
||||
|
|
|
|||
2
addons/captcha/captcha.min.js
vendored
2
addons/captcha/captcha.min.js
vendored
File diff suppressed because one or more lines are too long
2
addons/captcha_member/captcha.min.js
vendored
2
addons/captcha_member/captcha.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -101,10 +101,11 @@ div.oembedall-githubrepos ul.oembedall-repo-stats li.oembedall-forks a {
|
|||
|
||||
|
||||
span.oembedall-closehide{
|
||||
background-color: #aaa;
|
||||
background-color: #EEE;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
margin-right: 3px;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
div.oembedall-container {
|
||||
|
|
|
|||
2
addons/oembed/jquery.oembed.min.css
vendored
2
addons/oembed/jquery.oembed.min.css
vendored
File diff suppressed because one or more lines are too long
2
addons/oembed/oembed.min.js
vendored
2
addons/oembed/oembed.min.js
vendored
|
|
@ -1 +1 @@
|
|||
!function(a){var b="(https?|ftp|news|telnet|irc|mms)://",c="(?:[\\w\\-]+\\.)+(?:[a-z]+)",d="(?:1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9]?[0-9])",e="(?:"+d+"\\.){3}"+d,f="(?::([0-9]+))?",g="(?:/~[\\w-]+)?",h='((?:/[\\w!"$-/:-@]+)*)',i="(?:#([\\w!-@]+))?",j=new RegExp("("+b+"("+c+"|"+e+"|localhost)"+f+g+h+i+")","ig"),k=xe.createPlugin("OEmbed",{targets:[],init:function(){this.targets=[],this.enableAutoLink=!1,this.castedOembedA=!1,this.embedSetting=[]},API_ONREADY:function(){var b=this;this.extractTargets(a(".xe_content")),this.oApp.getPlugin("autolink").length&&(this.enableAutoLink=!0),b.cast("OEMBEDA"),this.enableAutoLink||a(this.targets).each(function(){b.cast("OEMBED",[this])})},API_BEFORE_AUTOLINK:function(){var a=this;a.cast("OEMBEDA")},API_AFTER_AUTOLINK:function(a,b){this.oembed(b[0])},API_OEMBED:function(b,c){if(!this.enableAutoLink){var d=c[0];if(!a(d).parent().length||"a"==a(d).parent().get(0).nodeName.toLowerCase())return this.oembed(a(d)),void 0;var e=d.nodeValue,f=a("<span>");e=e.replace(/</g,"<").replace(/>/g,">"),e=e.replace(j,'<a href="$1" target="_blank">$1</a>'),a(d).before(f),a(d).replaceWith(e),c[0]=f.next("a"),f.remove(),this.oembed(c[0])}},API_OEMBEDA:function(){if(!this.castedOembedA){var b=this;this.castedOembedA=!0,a(".read_body a").not("_oembed").each(function(){b.oembed(a(this))})}},oembed:function(b){var c=this;this.embedSetting.maxWidth||(this.embedSetting.maxWidth=a(".xe_content").width()),b&&(b&&3==b.nodeType&&(b=a(b)),b.oembed(null,c.embedSetting).addClass("_oembed"))},extractTargets:function(b){var c=this,d=a(".xe_content",b);return d.length?(this.extractTargets(d),void 0):(a(b).contents().each(function(){var b=this.nodeName.toLowerCase();if(-1==a.inArray(b,["a","pre","xml","textarea","input","select","option","code","script","style","iframe","button","img","embed","object","ins"]))if(j.exec(""),3==this.nodeType){var d=this.nodeValue;if(d.length<5)return;if(!/(http|https|ftp|news|telnet|irc|mms):\/\//i.test(d))return;c.targets.push(this)}else c.extractTargets(this)}),void 0)}});xe.registerPlugin(new k)}(jQuery);
|
||||
!function(a){var b="(https?|ftp|news|telnet|irc|mms)://",c="(?:[\\w\\-]+\\.)+(?:[a-z]+)",d="(?:1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9]?[0-9])",e="(?:"+d+"\\.){3}"+d,f="(?::([0-9]+))?",g="(?:/~[\\w-]+)?",h='((?:/[\\w!"$-/:-@]+)*)',i="(?:#([\\w!-@]+))?",j=new RegExp("("+b+"("+c+"|"+e+"|localhost)"+f+g+h+i+")","ig"),k=xe.createPlugin("OEmbed",{targets:[],init:function(){this.targets=[],this.enableAutoLink=!1,this.castedOembedA=!1,this.embedSetting=[]},API_ONREADY:function(){var b=this;this.extractTargets(a(".xe_content")),this.oApp.getPlugin("autolink").length&&(this.enableAutoLink=!0),b.cast("OEMBEDA"),this.enableAutoLink||a(this.targets).each(function(){b.cast("OEMBED",[this])})},API_BEFORE_AUTOLINK:function(){var a=this;a.cast("OEMBEDA")},API_AFTER_AUTOLINK:function(a,b){this.oembed(b[0])},API_OEMBED:function(b,c){if(!this.enableAutoLink){var d=c[0];if(!a(d).parent().length||"a"==a(d).parent().get(0).nodeName.toLowerCase())return void this.oembed(a(d));var e=d.nodeValue,f=a("<span>");e=e.replace(/</g,"<").replace(/>/g,">"),e=e.replace(j,'<a href="$1" target="_blank">$1</a>'),a(d).before(f),a(d).replaceWith(e),c[0]=f.next("a"),f.remove(),this.oembed(c[0])}},API_OEMBEDA:function(){if(!this.castedOembedA){var b=this;this.castedOembedA=!0,a(".read_body a").not("_oembed").each(function(){b.oembed(a(this))})}},oembed:function(b){var c=this;this.embedSetting.maxWidth||(this.embedSetting.maxWidth=a(".xe_content").width()),b&&(b&&3==b.nodeType&&(b=a(b)),b.oembed(null,c.embedSetting).addClass("_oembed"))},extractTargets:function(b){var c=this,d=a(".xe_content",b);return d.length?void this.extractTargets(d):void a(b).contents().each(function(){var b=this.nodeName.toLowerCase();if(-1==a.inArray(b,["a","pre","xml","textarea","input","select","option","code","script","style","iframe","button","img","embed","object","ins"]))if(j.exec(""),3==this.nodeType){var d=this.nodeValue;if(d.length<5)return;if(!/(http|https|ftp|news|telnet|irc|mms):\/\//i.test(d))return;c.targets.push(this)}else c.extractTargets(this)})}});xe.registerPlugin(new k)}(jQuery);
|
||||
2
addons/resize_image/js/resize_image.min.js
vendored
2
addons/resize_image/js/resize_image.min.js
vendored
|
|
@ -1 +1 @@
|
|||
!function(a){function b(){var b,c,e,f,g,h=a(document.body);return d?(b=a("#xe_gallery_controls"),c=a("#xe_gallery_holder"),e=a("#xe_gallery_closebtn"),f=a("#xe_gallery_prevbtn"),g=a("#xe_gallery_nextbtn")):(d=a("<div>").attr("id","xe_gallery_screen").css({position:"fixed",display:"none",backgroundColor:"black",zIndex:500,opacity:.7}),b=a("<div>").attr("id","xe_gallery_controls").css({position:"fixed",display:"none",overflow:"hidden",zIndex:510}),f=a('<button type="button" id="xe_gallery_prevbtn" />').css({left:"10px",backgroundPosition:"0 -64px"}).click(function(){d.xePrev()}).appendTo(b),e=a('<button type="button" id="xe_gallery_closebtn" />').css({top:"10px",backgroundPosition:"0 0"}).click(function(){d.xeHide()}).appendTo(b),g=a('<button type="button" id="xe_gallery_nextbtn" />').attr("id","xe_gallery_nextbtn").css({right:"10px",backgroundPosition:"0 -128px"}).click(function(){d.xeNext()}).appendTo(b),b.find(">button").css({position:"absolute",width:"64px",height:"64px",zIndex:530,cursor:"pointer",border:0,margin:0,padding:0,backgroundColor:"transparent",backgroundImage:"url("+request_uri+"addons/resize_image/btn.png)",backgroundRepeat:"no-repeat",opacity:".5",filter:"alpha(opacity=50)"}).mouseover(function(){a(this).css({opacity:"1",filter:"alpha(opacity=100)"})}).mouseout(function(){a(this).css({opacity:".5",filter:"alpha(opacity=50)"})}).focus(function(){a(this).trigger("mouseover")}).blur(function(){a(this).trigger("mouseout")}),c=a("<img>").attr("id","xe_gallery_holder").css({border:"5px solid white",zindex:520,maxWidth:"none",borderRadius:"5px",boxShadow:"0 0 10px #000"}).appendTo(b).draggable(),h.append(d).append(b),d.xeShow=function(){var b=(a(window).width(),a(window).height());a("#xe_gallery_controls,#xe_gallery_screen").show().css({top:0,right:0,bottom:0,left:0}),a("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round(b/2-32)+"px"),this.xeMove(0)},d.xeHide=function(){d.hide(),b.hide()},d.xePrev=function(){this.xeMove(-1)},d.xeNext=function(){this.xeMove(1)},d.xeMove=function(b){var d=a(window).width(),h=a(window).height();this.index+=b,f.css("visibility",this.index>0?"visible":"hidden"),g.css("visibility",this.index<this.list.size()-1?"visible":"hidden");var i=this.list.eq(this.index).attr("rawsrc");i||(i=this.list.eq(this.index).attr("src")),c.attr("src",i).css({left:d/2-c.width()/2+"px",top:h/2-c.height()/2+"px"}),e.css({left:d/2-32+"px",top:"10px"}).focus()},a(document).keydown(function(a){return 27==a.which?(d.xeHide(),!1):!0})),d}function c(){var c=a(this).closest(".xe_content"),d=c.find("img[rel=xe_gallery]"),e=a.inArray(a(this).get(0),d.get()),f=b();f.list=d,f.index=e,f.xeShow()}var d=null;a(window).load(function(){function b(a,c){if(c||(c=0),!(c>=10)){var d=this,e={width:d.width(),height:d.height()};if(!e.width||!e.height)return setTimeout(function(){b.call(d,a,++c)},200),void 0;if(!(e.width<=a)){var f=a/e.width;d.removeAttr("width").removeAttr("height").css({width:a,height:parseInt(e.height*f,10)})}}}var d=/(?:(modules|addons|classes|common|layouts|libs|widgets|widgetstyles)\/)/i,e=/(?:common\/tpl\/images\/blank\.gif$)/i,f=a('<div style="height:1px;overflow:hidden;opacity:0;display:block;clear:both"></div>');a(".xe_content").each(function(){var g=f.appendTo(this).width();f.remove(),g&&(a("img",this).each(function(){var c=a(this),f=c.attr("src");(!d.test(f)||e.test(f))&&(c.attr("rel","xe_gallery"),b.call(c,g))}),a("img[rel=xe_gallery]",this).live("mouseover",function(){var b=a(this);b.parent("a").length||b.attr("onclick")||b.css("cursor","pointer").click(c)}))})})}(jQuery);
|
||||
!function(a){function b(){var b,c,e,f,g,h=a(document.body);return d?(b=a("#xe_gallery_controls"),c=a("#xe_gallery_holder"),e=a("#xe_gallery_closebtn"),f=a("#xe_gallery_prevbtn"),g=a("#xe_gallery_nextbtn")):(d=a("<div>").attr("id","xe_gallery_screen").css({position:"fixed",display:"none",backgroundColor:"black",zIndex:500,opacity:.7}),b=a("<div>").attr("id","xe_gallery_controls").css({position:"fixed",display:"none",overflow:"hidden",zIndex:510}),f=a('<button type="button" id="xe_gallery_prevbtn" />').css({left:"10px",backgroundPosition:"0 -64px"}).click(function(){d.xePrev()}).appendTo(b),e=a('<button type="button" id="xe_gallery_closebtn" />').css({top:"10px",backgroundPosition:"0 0"}).click(function(){d.xeHide()}).appendTo(b),g=a('<button type="button" id="xe_gallery_nextbtn" />').attr("id","xe_gallery_nextbtn").css({right:"10px",backgroundPosition:"0 -128px"}).click(function(){d.xeNext()}).appendTo(b),b.find(">button").css({position:"absolute",width:"64px",height:"64px",zIndex:530,cursor:"pointer",border:0,margin:0,padding:0,backgroundColor:"transparent",backgroundImage:"url("+request_uri+"addons/resize_image/btn.png)",backgroundRepeat:"no-repeat",opacity:".5",filter:"alpha(opacity=50)"}).mouseover(function(){a(this).css({opacity:"1",filter:"alpha(opacity=100)"})}).mouseout(function(){a(this).css({opacity:".5",filter:"alpha(opacity=50)"})}).focus(function(){a(this).trigger("mouseover")}).blur(function(){a(this).trigger("mouseout")}),c=a("<img>").attr("id","xe_gallery_holder").css({border:"5px solid white",zindex:520,maxWidth:"none",borderRadius:"5px",boxShadow:"0 0 10px #000"}).appendTo(b).draggable(),h.append(d).append(b),d.xeShow=function(){var b=(a(window).width(),a(window).height());a("#xe_gallery_controls,#xe_gallery_screen").show().css({top:0,right:0,bottom:0,left:0}),a("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round(b/2-32)+"px"),this.xeMove(0)},d.xeHide=function(){d.hide(),b.hide()},d.xePrev=function(){this.xeMove(-1)},d.xeNext=function(){this.xeMove(1)},d.xeMove=function(b){var d=a(window).width(),h=a(window).height();this.index+=b,f.css("visibility",this.index>0?"visible":"hidden"),g.css("visibility",this.index<this.list.size()-1?"visible":"hidden");var i=this.list.eq(this.index).attr("rawsrc");i||(i=this.list.eq(this.index).attr("src")),c.attr("src",i).css({left:d/2-c.width()/2+"px",top:h/2-c.height()/2+"px"}),e.css({left:d/2-32+"px",top:"10px"}).focus()},a(document).keydown(function(a){return 27==a.which?(d.xeHide(),!1):!0})),d}function c(){var c=a(this).closest(".xe_content"),d=c.find("img[rel=xe_gallery]"),e=a.inArray(a(this).get(0),d.get()),f=b();f.list=d,f.index=e,f.xeShow()}var d=null;a(window).load(function(){function b(a,c){if(c||(c=0),!(c>=10)){var d=this,e={width:d.width(),height:d.height()};if(!e.width||!e.height)return void setTimeout(function(){b.call(d,a,++c)},200);if(!(e.width<=a)){var f=a/e.width;d.removeAttr("width").removeAttr("height").css({width:a,height:parseInt(e.height*f,10)})}}}var d=/(?:(modules|addons|classes|common|layouts|libs|widgets|widgetstyles)\/)/i,e=/(?:common\/tpl\/images\/blank\.gif$)/i,f=a('<div style="height:1px;overflow:hidden;opacity:0;display:block;clear:both"></div>');a(".xe_content").each(function(){var g=f.appendTo(this).width();f.remove(),g&&(a("img",this).each(function(){var c=a(this),f=c.attr("src");(!d.test(f)||e.test(f))&&(c.attr("rel","xe_gallery"),b.call(c,g))}),a("img[rel=xe_gallery]",this).live("mouseover",function(){var b=a(this);b.parent("a").length||b.attr("onclick")||b.css("cursor","pointer").click(c)}))})})}(jQuery);
|
||||
|
|
@ -420,7 +420,7 @@ body,table,input,textarea,select,button{font-family:나눔고딕,NanumGothic,NG,
|
|||
<li id="UMAN_config_general_db_session">인증 세션 DB 사용: 인증 시 사용되는 PHP 세션을 DB로 사용하는 기능입니다. 웹서버의 사용률이 낮은 사이트에서는 비활성화시 사이트 응답 속도가 향상될 수 있습니다. 단, 현재 접속자를 구할 수 없어 관련된 기능을 사용할 수 없게 됩니다.</li>
|
||||
<li id="UMAN_config_general_qmail">Qmail 호환: Qmail등 CRLF를 줄 구분자로 인식하지 못하는 MTA에서 메일이 발송되도록 합니다.</li>
|
||||
<li id="UMAN_config_general_sitelock">사이트 잠금: 지정한 IP 외 접근을 차단할 수 있습니다.</li>
|
||||
<li id="UMAN_config_general_sitelock_whitelist">접근 허용 IP: 이곳에 관리자의 IP가 반드시 포함되어야 합니다. 만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `$db_info->use_sitelock`를 'N'으로 변경하여 차단을 해제할 수 있습니다.</li>
|
||||
<li id="UMAN_config_general_sitelock_whitelist">접근 허용 IP: 이곳에 관리자의 IP가 반드시 포함되어야 합니다. 만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => 'Y'`를 `'use_sitelock' => 'N'`으로 변경하여 차단을 해제할 수 있습니다.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt id="UMAN_config_ftp">FTP 설정</dt>
|
||||
|
|
|
|||
9
classes/cache/CacheApc.class.php
vendored
9
classes/cache/CacheApc.class.php
vendored
|
|
@ -8,6 +8,8 @@
|
|||
* */
|
||||
class CacheApc extends CacheBase
|
||||
{
|
||||
public static $isSupport = false;
|
||||
|
||||
/**
|
||||
* Get instance of CacheApc
|
||||
*
|
||||
|
|
@ -30,7 +32,6 @@ class CacheApc extends CacheBase
|
|||
*/
|
||||
function CacheApc()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -40,7 +41,7 @@ class CacheApc extends CacheBase
|
|||
*/
|
||||
function isSupport()
|
||||
{
|
||||
return function_exists('apc_add');
|
||||
return self::$isSupport;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -148,6 +149,10 @@ class CacheApc extends CacheBase
|
|||
return apc_clear_cache('user');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
CacheApc::$isSupport = function_exists('apc_add');
|
||||
|
||||
/* End of file CacheApc.class.php */
|
||||
/* Location: ./classes/cache/CacheApc.class.php */
|
||||
|
|
|
|||
21
classes/cache/CacheFile.class.php
vendored
21
classes/cache/CacheFile.class.php
vendored
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* Filedisk Cache Handler
|
||||
*
|
||||
* @author Arnia Software (xe_dev@arnia.ro)
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
*/
|
||||
class CacheFile extends CacheBase
|
||||
{
|
||||
|
|
@ -90,8 +90,15 @@ class CacheFile extends CacheBase
|
|||
function isValid($key, $modified_time = 0)
|
||||
{
|
||||
$cache_file = $this->getCacheFileName($key);
|
||||
|
||||
if(file_exists($cache_file))
|
||||
{
|
||||
if($modified_time > 0 && filemtime($cache_file) < $modified_timed)
|
||||
{
|
||||
FileHandler::removeFile($cache_file);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -107,15 +114,19 @@ class CacheFile extends CacheBase
|
|||
*/
|
||||
function get($key, $modified_time = 0)
|
||||
{
|
||||
$cache_file = FileHandler::exists($this->getCacheFileName($key));
|
||||
if(!$cache_file = FileHandler::exists($this->getCacheFileName($key)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($cache_file) $content = include($cache_file);
|
||||
|
||||
if(!$content)
|
||||
if($modified_time > 0 && filemtime($cache_file) < $modified_timed)
|
||||
{
|
||||
FileHandler::removeFile($cache_file);
|
||||
return false;
|
||||
}
|
||||
|
||||
$content = include($cache_file);
|
||||
|
||||
return unserialize(stripslashes($content));
|
||||
}
|
||||
|
||||
|
|
|
|||
4
classes/cache/CacheMemcache.class.php
vendored
4
classes/cache/CacheMemcache.class.php
vendored
|
|
@ -56,10 +56,11 @@ class CacheMemcache extends CacheBase
|
|||
*/
|
||||
function isSupport()
|
||||
{
|
||||
if($GLOBALS['XE_MEMCACHE_SUPPORT'])
|
||||
if(isset($GLOBALS['XE_MEMCACHE_SUPPORT']))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if($this->Memcache->set('xe', 'xe', MEMCACHE_COMPRESSED, 1))
|
||||
{
|
||||
$GLOBALS['XE_MEMCACHE_SUPPORT'] = true;
|
||||
|
|
@ -68,6 +69,7 @@ class CacheMemcache extends CacheBase
|
|||
{
|
||||
$GLOBALS['XE_MEMCACHE_SUPPORT'] = false;
|
||||
}
|
||||
|
||||
return $GLOBALS['XE_MEMCACHE_SUPPORT'];
|
||||
}
|
||||
|
||||
|
|
|
|||
8
classes/cache/CacheWincache.class.php
vendored
8
classes/cache/CacheWincache.class.php
vendored
|
|
@ -10,6 +10,8 @@
|
|||
*/
|
||||
class CacheWincache extends CacheBase
|
||||
{
|
||||
public static $isSupport = false;
|
||||
|
||||
/**
|
||||
* Get instance of CacheWincache
|
||||
*
|
||||
|
|
@ -32,7 +34,6 @@ class CacheWincache extends CacheBase
|
|||
*/
|
||||
function CacheWincache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -42,7 +43,7 @@ class CacheWincache extends CacheBase
|
|||
*/
|
||||
function isSupport()
|
||||
{
|
||||
return function_exists('wincache_ucache_set');
|
||||
return self::$isSupport;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -150,7 +151,8 @@ class CacheWincache extends CacheBase
|
|||
{
|
||||
return wincache_ucache_clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CacheWincache::$isSupport = function_exists('wincache_ucache_set');
|
||||
/* End of file CacheWincache.class.php */
|
||||
/* Location: ./classes/cache/CacheWincache.class.php */
|
||||
|
|
|
|||
|
|
@ -396,8 +396,8 @@ class HTMLDisplayHandler
|
|||
// add common JS/CSS files
|
||||
if(__DEBUG__)
|
||||
{
|
||||
$oContext->loadFile(array('./common/js/jquery.js', 'head', '', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.js', 'head', 'lt IE 9', -109000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.js', 'head', 'lt IE 9', -111000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.js', 'head', 'gte IE 9', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/x.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/common.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/js_app.js', 'head', '', -100000), true);
|
||||
|
|
@ -407,8 +407,8 @@ class HTMLDisplayHandler
|
|||
}
|
||||
else
|
||||
{
|
||||
$oContext->loadFile(array('./common/js/jquery.min.js', 'head', '', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.min.js', 'head', 'lt IE 9', -109000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.min.js', 'head', 'lt IE 9', -111000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.min.js', 'head', 'gte IE 9', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/x.min.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/xe.min.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/css/xe.min.css', '', '', -1000000), true);
|
||||
|
|
|
|||
|
|
@ -230,9 +230,9 @@ class FileHandler
|
|||
$path = self::getRealPath($path);
|
||||
$output = array();
|
||||
|
||||
if(substr($path, -1) != DIRECTORY_SEPARATOR)
|
||||
if(substr($path, -1) != '/')
|
||||
{
|
||||
$path .= DIRECTORY_SEPARATOR;
|
||||
$path .= '/';
|
||||
}
|
||||
|
||||
if(!is_dir($path))
|
||||
|
|
@ -263,7 +263,7 @@ class FileHandler
|
|||
$file = sprintf('%s%s', str_replace(_XE_PATH_, '', $path), $file);
|
||||
}
|
||||
|
||||
$output[] = str_replace(array('/\\', '//'), DIRECTORY_SEPARATOR, $file);
|
||||
$output[] = str_replace(array('/\\', '//'), '/', $file);
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
|
|
|||
|
|
@ -155,13 +155,22 @@ class ModuleHandler extends Handler
|
|||
{
|
||||
// If it exists, compare mid based on the module information
|
||||
// if mids are not matching, set it as the document's mid
|
||||
if(!$this->mid || ($this->mid && $this->mid != $module_info->mid) || ($this->module_srl && $this->module_srl != $module_info->module_srl))
|
||||
if(!$this->mid || ($this->mid != $module_info->mid))
|
||||
{
|
||||
$this->mid = $module_info->mid;
|
||||
header('location:' . getNotEncodedSiteUrl($site_info->domain, 'mid', $this->mid, 'document_srl', $this->document_srl, 'module_srl',''));
|
||||
return FALSE;
|
||||
|
||||
if(Context::getRequestMethod() == 'GET')
|
||||
{
|
||||
$this->mid = $module_info->mid;
|
||||
header('location:' . getNotEncodedSiteUrl($site_info->domain, 'mid', $this->mid, 'document_srl', $this->document_srl));
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->mid = $module_info->mid;
|
||||
Context::set('mid', $this->mid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if requested module is different from one of the document, remove the module information retrieved based on the document number
|
||||
if($this->module && $module_info->module != $this->module)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ class TemplateHandler
|
|||
*/
|
||||
public function compile($tpl_path, $tpl_filename, $tpl_file = '')
|
||||
{
|
||||
$buff = '';
|
||||
$buff = false;
|
||||
|
||||
// store the starting time for debug information
|
||||
if(__DEBUG__ == 3)
|
||||
|
|
@ -159,7 +159,7 @@ class TemplateHandler
|
|||
}
|
||||
}
|
||||
|
||||
if(!$buff)
|
||||
if($buff === FALSE)
|
||||
{
|
||||
$buff = $this->parse();
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
|
|||
2
common/js/x.min.js
vendored
2
common/js/x.min.js
vendored
File diff suppressed because one or more lines are too long
2
common/js/xe.min.js
vendored
2
common/js/xe.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -25,7 +25,7 @@
|
|||
</block>
|
||||
<!-- JS -->
|
||||
<block loop="$js_files=>$key,$js_file">
|
||||
<block cond="$js_file['targetie']"><!--[if {$js_file['targetie']}]></block>
|
||||
<block cond="$js_file['targetie']"><!--[if {$js_file['targetie']}]><block cond="stripos($js_file['targetie'], 'gt') === 0"><!--></block></block>
|
||||
<script src="{$js_file['file']}"></script>
|
||||
<block cond="$js_file['targetie']"><![endif]--></block>
|
||||
</block>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
|
|||
/**
|
||||
* Display XE's full version.
|
||||
*/
|
||||
define('__XE_VERSION__', '1.7.4-beta.6');
|
||||
define('__XE_VERSION__', '1.7.4');
|
||||
|
||||
/**
|
||||
* @deprecated __ZBXE_VERSION__ will be removed. Use __XE_VERSION__ instead.
|
||||
|
|
@ -45,11 +45,6 @@ define('_XE_PATH_', str_replace('config/config.inc.php', '', str_replace('\\', '
|
|||
// Set can use other method instead cookie to store session id(for file upload)
|
||||
ini_set('session.use_only_cookies', 0);
|
||||
|
||||
// Set Real IP Address of Client.
|
||||
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
|
||||
{
|
||||
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
|
||||
if(file_exists(_XE_PATH_ . 'config/package.inc.php'))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -98,8 +98,9 @@ class addonAdminModel extends addon
|
|||
// Add the path (files/addons precedence)
|
||||
$path = $this->getAddonPath($addon_name);
|
||||
// Wanted information on the add-on
|
||||
unset($info);
|
||||
$info = $this->getAddonInfoXml($addon_name, $site_srl, $gtype);
|
||||
|
||||
if(!$info) $info = new stdClass();
|
||||
|
||||
$info->addon = $addon_name;
|
||||
$info->path = $path;
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ class adminAdminController extends admin
|
|||
{
|
||||
$whitelist = '';
|
||||
}
|
||||
$whitelist .= ',127.0.0.1';
|
||||
$whitelist .= ',127.0.0.1,' . $_SERVER['REMOTE_ADDR'];
|
||||
$whitelist = explode(',',trim($whitelist, ','));
|
||||
$whitelist = array_unique($whitelist);
|
||||
|
||||
|
|
|
|||
|
|
@ -138,19 +138,15 @@ class adminAdminView extends admin
|
|||
$lang->menu_gnb_sub = $oAdminAdminModel->getAdminMenuLang();
|
||||
|
||||
$result = $oAdminAdminModel->checkAdminMenu();
|
||||
if(!$result->php_file)
|
||||
{
|
||||
header('Location: ' . getNotEncodedUrl('', 'module', 'admin'));
|
||||
Context::close();
|
||||
exit;
|
||||
}
|
||||
include $result->php_file;
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleActionInfo = $oModuleModel->getModuleActionXml($module);
|
||||
|
||||
// get current menu's subMenuTitle
|
||||
$moduleActionInfo = $oModuleModel->getModuleActionXml($module);
|
||||
$currentAct = Context::get('act');
|
||||
$subMenuTitle = '';
|
||||
|
||||
foreach((array) $moduleActionInfo->menu as $key => $value)
|
||||
{
|
||||
if(isset($value->acts) && is_array($value->acts) && in_array($currentAct, $value->acts))
|
||||
|
|
@ -159,50 +155,30 @@ class adminAdminView extends admin
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// get current menu's srl(=parentSrl)
|
||||
$parentSrl = 0;
|
||||
$oMenuAdminConroller = getAdminController('menu');
|
||||
if(!$_SESSION['isMakeXml'])
|
||||
foreach((array) $menu->list as $parentKey => $parentMenu)
|
||||
{
|
||||
foreach((array) $menu->list as $parentKey => $parentMenu)
|
||||
if(!is_array($parentMenu['list']) || !count($parentMenu['list']))
|
||||
{
|
||||
if(!$parentMenu['text'])
|
||||
{
|
||||
$oMenuAdminConroller->makeXmlFile($result->menu_srl);
|
||||
$_SESSION['isMakeXml'] = true;
|
||||
header('Location: ' . getNotEncodedUrl('', 'module', 'admin'));
|
||||
Context::close();
|
||||
exit;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if($parentMenu['href'] == '#' && count($parentMenu['list']))
|
||||
{
|
||||
$firstChild = current($parentMenu['list']);
|
||||
$menu->list[$parentKey]['href'] = $firstChild['href'];
|
||||
}
|
||||
|
||||
if(!is_array($parentMenu['list']) || !count($parentMenu['list']))
|
||||
foreach($parentMenu['list'] as $childKey => $childMenu)
|
||||
{
|
||||
if($subMenuTitle == $childMenu['text'])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if($parentMenu['href'] == '#' && count($parentMenu['list']))
|
||||
{
|
||||
$firstChild = current($parentMenu['list']);
|
||||
$menu->list[$parentKey]['href'] = $firstChild['href'];
|
||||
}
|
||||
|
||||
foreach($parentMenu['list'] as $childKey => $childMenu)
|
||||
{
|
||||
if(!$childMenu['text'])
|
||||
{
|
||||
$oMenuAdminConroller->makeXmlFile($result->menu_srl);
|
||||
$_SESSION['isMakeXml'] = true;
|
||||
header('Location: ' . getNotEncodedUrl('', 'module', 'admin'));
|
||||
Context::close();
|
||||
exit;
|
||||
}
|
||||
|
||||
if($subMenuTitle == $childMenu['text'])
|
||||
{
|
||||
$parentSrl = $childMenu['parent_srl'];
|
||||
break;
|
||||
}
|
||||
$parentSrl = $childMenu['parent_srl'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($parentSrl) break;
|
||||
}
|
||||
|
||||
// Admin logo, title setup
|
||||
|
|
@ -413,8 +389,11 @@ class adminAdminView extends admin
|
|||
Context::set('langs', Context::loadLangSupported());
|
||||
|
||||
// site lock
|
||||
Context::set('IP', $_SERVER['REMOTE_ADDR']);
|
||||
if(!$db_info->sitelock_title) $db_info->sitelock_title = 'Maintenance in progress...';
|
||||
if(!in_array('127.0.0.1', $db_info->sitelock_whitelist)) $db_info->sitelock_whitelist[] = '127.0.0.1';
|
||||
if(!in_array($_SERVER['REMOTE_ADDR'], $db_info->sitelock_whitelist)) $db_info->sitelock_whitelist[] = $_SERVER['REMOTE_ADDR'];
|
||||
$db_info->sitelock_whitelist = array_unique($db_info->sitelock_whitelist);
|
||||
Context::set('remote_addr', $_SERVER['REMOTE_ADDR']);
|
||||
Context::set('use_sitelock', $db_info->use_sitelock);
|
||||
Context::set('sitelock_title', $db_info->sitelock_title);
|
||||
|
|
@ -423,6 +402,11 @@ class adminAdminView extends admin
|
|||
$whitelist = implode("\r\n", $db_info->sitelock_whitelist);
|
||||
Context::set('sitelock_whitelist', $whitelist);
|
||||
|
||||
if(gettype($db_info->admin_ip_list)!="array")
|
||||
$db_info->admin_ip_list = array();
|
||||
if(!in_array('127.0.0.1', $db_info->admin_ip_list)) $db_info->admin_ip_list[] = '127.0.0.1';
|
||||
if(!in_array($_SERVER['REMOTE_ADDR'], $db_info->admin_ip_list)) $db_info->admin_ip_list[] = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if($db_info->admin_ip_list) $admin_ip_list = implode("\r\n", $db_info->admin_ip_list);
|
||||
else $admin_ip_list = '';
|
||||
Context::set('admin_ip_list', $admin_ip_list);
|
||||
|
|
@ -439,7 +423,6 @@ class adminAdminView extends admin
|
|||
$config = $oDocumentModel->getDocumentConfig();
|
||||
Context::set('thumbnail_type', $config->thumbnail_type);
|
||||
|
||||
Context::set('IP', $_SERVER['REMOTE_ADDR']);
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('module');
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ class admin extends ModuleObject
|
|||
|
||||
if(!$output->menu_srl)
|
||||
{
|
||||
$oAdminClass = getClass('admin');
|
||||
$oAdminClass->createXeAdminMenu();
|
||||
$this->createXeAdminMenu();
|
||||
$output = $oMenuAdminModel->getMenuByTitle($this->adminMenuName);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -123,10 +123,9 @@ class admin extends ModuleObject
|
|||
//insert menu
|
||||
$args = new stdClass();
|
||||
$args->title = $this->adminMenuName;
|
||||
$args->menu_srl = getNextSequence();
|
||||
$menuSrl = $args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
$output = executeQuery('menu.insertMenu', $args);
|
||||
$menuSrl = $args->menu_srl;
|
||||
Context::set('admin_menu_srl', $menuSrl);
|
||||
unset($args);
|
||||
|
||||
|
|
@ -182,74 +181,70 @@ class admin extends ModuleObject
|
|||
'subMenu' => array('comment'),
|
||||
),
|
||||
4 => array(
|
||||
'module' => 'trackback',
|
||||
'subMenu' => array('trackback'),
|
||||
),
|
||||
5 => array(
|
||||
'module' => 'file',
|
||||
'subMenu' => array('file'),
|
||||
),
|
||||
6 => array(
|
||||
5 => array(
|
||||
'module' => 'poll',
|
||||
'subMenu' => array('poll'),
|
||||
),
|
||||
7 => array(
|
||||
6 => array(
|
||||
'module' => 'rss',
|
||||
'subMenu' => array('rss'),
|
||||
),
|
||||
8 => array(
|
||||
7 => array(
|
||||
'module' => 'module',
|
||||
'subMenu' => array('multilingual'),
|
||||
),
|
||||
9 => array(
|
||||
8 => array(
|
||||
'module' => 'importer',
|
||||
'subMenu' => array('importer'),
|
||||
),
|
||||
10 => array(
|
||||
9 => array(
|
||||
'module' => 'trash',
|
||||
'subMenu' => array('trash'),
|
||||
),
|
||||
11 => array(
|
||||
10 => array(
|
||||
'module' => 'autoinstall',
|
||||
'subMenu' => array('easyInstall'),
|
||||
),
|
||||
12 => array(
|
||||
11 => array(
|
||||
'module' => 'layout',
|
||||
'subMenu' => array('installedLayout'),
|
||||
),
|
||||
13 => array(
|
||||
12 => array(
|
||||
'module' => 'module',
|
||||
'subMenu' => array('installedModule'),
|
||||
),
|
||||
14 => array(
|
||||
13 => array(
|
||||
'module' => 'widget',
|
||||
'subMenu' => array('installedWidget'),
|
||||
),
|
||||
15 => array(
|
||||
14 => array(
|
||||
'module' => 'addon',
|
||||
'subMenu' => array('installedAddon'),
|
||||
),
|
||||
16 => array(
|
||||
15 => array(
|
||||
'module' => 'editor',
|
||||
'subMenu' => array('editor'),
|
||||
),
|
||||
17 => array(
|
||||
16 => array(
|
||||
'module' => 'spamfilter',
|
||||
'subMenu' => array('spamFilter'),
|
||||
),
|
||||
18 => array(
|
||||
17 => array(
|
||||
'module' => 'admin',
|
||||
'subMenu' => array('adminConfigurationGeneral', 'adminConfigurationFtp', 'adminMenuSetup'),
|
||||
),
|
||||
19 => array(
|
||||
18 => array(
|
||||
'module' => 'file',
|
||||
'subMenu' => array('fileUpload'),
|
||||
),
|
||||
20 => array(
|
||||
19 => array(
|
||||
'module' => 'module',
|
||||
'subMenu' => array('filebox'),
|
||||
),
|
||||
21 => array(
|
||||
20 => array(
|
||||
'module' => 'point',
|
||||
'subMenu' => array('point')
|
||||
),
|
||||
|
|
@ -319,7 +314,6 @@ class admin extends ModuleObject
|
|||
break;
|
||||
case 'document':
|
||||
case 'comment':
|
||||
case 'trackback':
|
||||
case 'file':
|
||||
case 'poll':
|
||||
case 'rss':
|
||||
|
|
@ -368,7 +362,6 @@ class admin extends ModuleObject
|
|||
break;
|
||||
case 'document':
|
||||
case 'comment':
|
||||
case 'trackback':
|
||||
case 'file':
|
||||
case 'poll':
|
||||
case 'rss':
|
||||
|
|
|
|||
|
|
@ -1590,8 +1590,8 @@
|
|||
<value xml:lang="jp"><![CDATA[HTMLタグを使用できます。]]></value>
|
||||
</item>
|
||||
<item name="sitelock_warning_whitelist">
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `$db_info->use_sitelock`를 'N'으로 변경하여 차단을 해제할 수 있습니다.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `$db_info->use_sitelock`を 'N'へ変更すれば遮断が解除できます。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => '<strong>Y</strong>'`を `'use_sitelock' => '<strong>N</strong>'`へ変更すれば遮断が解除できます。]]></value>
|
||||
</item>
|
||||
<item name="your_ip">
|
||||
<value xml:lang="ko"><![CDATA[접속하신 IP]]></value>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
@charset "utf-8";
|
||||
@font-face{font-family:NG;src:url(https://themes.googleusercontent.com/static/fonts/earlyaccess/nanumgothic/v3/NanumGothic-Regular.eot);src:local(※),url(https://themes.googleusercontent.com/static/fonts/earlyaccess/nanumgothic/v3/NanumGothic-Regular.woff) format('woff')}
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:나눔고딕,NanumGothic,NG,돋움,Dotum,Arial,Helvetica,sans-serif}
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:Arial,Helvetica,sans-serif}
|
||||
@media all and (max-width:980px){
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:sans-serif}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
@charset "utf-8";
|
||||
@font-face{font-family:NG;src:url(https://themes.googleusercontent.com/static/fonts/earlyaccess/nanumgothic/v3/NanumGothic-Regular.eot);src:local(※),url(https://themes.googleusercontent.com/static/fonts/earlyaccess/nanumgothic/v3/NanumGothic-Regular.woff) format('woff')}
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:나눔고딕,NanumGothic,NG,돋움,Dotum,Arial,Helvetica,sans-serif}
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:나눔고딕,NanumGothic,돋움,Dotum,Arial,Helvetica,sans-serif}
|
||||
@media all and (max-width:980px){
|
||||
body>.x,.x table,.x input,.x textarea,.x select,.x button{font-family:sans-serif}
|
||||
}
|
||||
2
modules/admin/tpl/js/admin.min.js
vendored
2
modules/admin/tpl/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
2
modules/admin/tpl/js/config.min.js
vendored
2
modules/admin/tpl/js/config.min.js
vendored
|
|
@ -1 +1 @@
|
|||
function setStartModule(){var a=jQuery(".moduleIdList option:selected").text(),b=jQuery(".moduleIdList").val();jQuery("#_target_module").val(a),jQuery("#index_module_srl").val(b),jQuery(".moduleList,.moduleIdList, .site_keyword_search, #sitefind_addBtn").css("display","none")}function viewSiteSearch(){jQuery(".site_keyword_search").css("display","")}function getFTPList(a){var b=jQuery("#ftp_form").get(0);b.ftp_root_path.value="undefined"!=typeof a?a:!b.ftp_root_path.value&&"undefined"!=typeof b.sftp&&b.sftp.checked?xe_root:"/";var c=[];c.ftp_user=jQuery("#ftp_user").val(),c.ftp_password=jQuery("#ftp_password").val(),c.ftp_host=jQuery("#ftp_host").val(),c.ftp_port=jQuery("#ftp_port").val(),c.ftp_root_path=jQuery("#ftp_root_path").val(),c.sftp=jQuery("input[name=sftp]:checked").val(),exec_xml("admin","getAdminFTPList",c,completeGetFtpInfo,["list","error","message"],c,b)}function removeFTPInfo(){var a={};exec_xml("install","procInstallAdminRemoveFTPInfo",a,filterAlertMessage,["error","message"],a)}function completeGetFtpInfo(a){if(0!==a.error)return alert(a.error),alert(a.message),void 0;var b=jQuery("#ftpSuggestion").empty(),c="";jQuery.isArray(a.list.item)||(a.list.item=[a.list.item]),pwd=jQuery("#ftp_form").get(0).ftp_root_path.value,"/"!=pwd&&(arr=pwd.split("/"),arr.pop(),arr.pop(),arr.push(""),target=arr.join("/"),c=c+"<li><button type='button' onclick=\"getFTPList('"+target+"')\">../</button></li>");for(var d=0;d<a.list.item.length;d++){var e=a.list.item[d];"../"!=e&&"./"!=e&&(c=c+"<li><button type='button' onclick=\"getFTPList('"+pwd+e+"')\">"+e+"</button></li>")}c="<ul>"+c+"</ul>",b.append(jQuery(c))}function deleteIcon(a){var b=[];b.iconname=a,exec_xml("admin","procAdminRemoveIcons",b,iconDeleteMessage,["error","message"],b),icon=a}function iconDeleteMessage(a){alert(a.message),"0"==a.error&&("favicon.ico"==icon?jQuery(".faviconPreview img").attr("src","modules/admin/tpl/img/faviconSample.png"):"mobicon.png"==icon&&jQuery(".mobiconPreview img").attr("src","modules/admin/tpl/img/mobiconSample.png"))}function doRecompileCacheFile(){if(confirm(xe.lang.confirm_run)){var a=[];exec_xml("admin","procAdminRecompileCacheFile",a,completeCacheMessage)}}function completeCacheMessage(a){alert(a.message)}function doResetAdminMenu(){if(confirm(xe.lang.confirm_reset_admin_menu)){var a=[];a.menu_srl=admin_menu_srl,exec_xml("admin","procAdminMenuReset",a,completeResetAdminMenu)}}function completeResetAdminMenu(){document.location.reload()}jQuery(function(a){a(".tgContent ul").bind("click",function(){a("#sitefind_addBtn").css("display","")})});var icon=null;
|
||||
function setStartModule(){var a=jQuery(".moduleIdList option:selected").text(),b=jQuery(".moduleIdList").val();jQuery("#_target_module").val(a),jQuery("#index_module_srl").val(b),jQuery(".moduleList,.moduleIdList, .site_keyword_search, #sitefind_addBtn").css("display","none")}function viewSiteSearch(){jQuery(".site_keyword_search").css("display","")}function getFTPList(a){var b=jQuery("#ftp_form").get(0);b.ftp_root_path.value="undefined"!=typeof a?a:!b.ftp_root_path.value&&"undefined"!=typeof b.sftp&&b.sftp.checked?xe_root:"/";var c=[];c.ftp_user=jQuery("#ftp_user").val(),c.ftp_password=jQuery("#ftp_password").val(),c.ftp_host=jQuery("#ftp_host").val(),c.ftp_port=jQuery("#ftp_port").val(),c.ftp_root_path=jQuery("#ftp_root_path").val(),c.sftp=jQuery("input[name=sftp]:checked").val(),exec_xml("admin","getAdminFTPList",c,completeGetFtpInfo,["list","error","message"],c,b)}function removeFTPInfo(){var a={};exec_xml("install","procInstallAdminRemoveFTPInfo",a,filterAlertMessage,["error","message"],a)}function completeGetFtpInfo(a){if(0!==a.error)return alert(a.error),void alert(a.message);var b=jQuery("#ftpSuggestion").empty(),c="";jQuery.isArray(a.list.item)||(a.list.item=[a.list.item]),pwd=jQuery("#ftp_form").get(0).ftp_root_path.value,"/"!=pwd&&(arr=pwd.split("/"),arr.pop(),arr.pop(),arr.push(""),target=arr.join("/"),c=c+"<li><button type='button' onclick=\"getFTPList('"+target+"')\">../</button></li>");for(var d=0;d<a.list.item.length;d++){var e=a.list.item[d];"../"!=e&&"./"!=e&&(c=c+"<li><button type='button' onclick=\"getFTPList('"+pwd+e+"')\">"+e+"</button></li>")}c="<ul>"+c+"</ul>",b.append(jQuery(c))}function deleteIcon(a){var b=[];b.iconname=a,exec_xml("admin","procAdminRemoveIcons",b,iconDeleteMessage,["error","message"],b),icon=a}function iconDeleteMessage(a){alert(a.message),"0"==a.error&&("favicon.ico"==icon?jQuery(".faviconPreview img").attr("src","modules/admin/tpl/img/faviconSample.png"):"mobicon.png"==icon&&jQuery(".mobiconPreview img").attr("src","modules/admin/tpl/img/mobiconSample.png"))}function doRecompileCacheFile(){if(confirm(xe.lang.confirm_run)){var a=[];exec_xml("admin","procAdminRecompileCacheFile",a,completeCacheMessage)}}function completeCacheMessage(a){alert(a.message)}function doResetAdminMenu(){if(confirm(xe.lang.confirm_reset_admin_menu)){var a=[];a.menu_srl=admin_menu_srl,exec_xml("admin","procAdminMenuReset",a,completeResetAdminMenu)}}function completeResetAdminMenu(){document.location.reload()}jQuery(function(a){a(".tgContent ul").bind("click",function(){a("#sitefind_addBtn").css("display","")})});var icon=null;
|
||||
2
modules/admin/tpl/js/menu_setup.min.js
vendored
2
modules/admin/tpl/js/menu_setup.min.js
vendored
|
|
@ -1 +1 @@
|
|||
jQuery(function(a){function b(b){var c;if(moduleList=b.menuList){var d=a("#menuNameList");for(var e in moduleList){var f=moduleList[e];c=a('<optgroup label="'+e+'" />').appendTo(d);for(var g in f)c.append('<option value="'+e+":"+g+'">'+f[g].title+"</option>")}}}var c,d,e=a("#editForm"),f=a("#listForm");a("a._add").click(function(){if(d=a(this).parent().prevAll("._item_key").val(),e.find("input[name=parent_srl]").val(d),!c){var f=[],g=["menuList"];exec_xml("menu","procMenuAdminAllActList",f,b,g)}}),a("a._parent_delete").click(function(){var b=a(this).parent().prevAll("._parent_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()}),a("a._child_delete").click(function(){var b=a(this).parents("li").find("._item_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()})}),jQuery(function(a){function b(a,b){for(var c=0,d=0;a&&a!=b;)c+=a.offsetTop,d+=a.offsetLeft,a=a.offsetParent;return{top:c,left:d}}a("form.adminMap").delegate("li:not(.placeholder)","dropped.st",function(){var b,c,d=a(this);b=d.find(">input._parent_key"),c=!!d.parent("ul").parent("li").length,c?b.val(d.parent("ul").parent("li").find(">input._item_key").val()):b.val("0")});var c=!1,d=a('<li class="placeholder">');a("form.adminMap>ul").delegate("li:not(.placeholder,.parent)",{"mousedown.st":function(e){var f,g,h,i,j,k,l,m,n,o;if(!a(e.target).is("a,input,label,textarea")&&1==e.which){for(c=!0,f=a(this),j=f.height(),i=f.width(),g=f.parentsUntil(".adminMap").filter("ul"),h=g.eq(-1),l={x:e.pageX,y:e.pageY},k=b(this,h.get(0)),$clone=f.clone(!0).attr("target",!0),n=g.length-1;n;n--)$clone=$clone.wrap("<li><ul /></li>").parent().parent();return m=[],h.find("li").each(function(){if(f[0]===this||f.has(this).length)return!0;var c=b(this,h.get(0));m.push({top:c.top,bottom:c.top+32,$item:a(this)})}),$clone.find(".side,input").remove().end().addClass("draggable").css({position:"absolute",opacity:.6,width:i,height:j,left:k.left,top:k.top,zIndex:100}).appendTo(h.eq(0)),d.css({position:"absolute",opacity:.6,width:i,height:"10px",left:k.left,top:k.top,zIndex:99}).appendTo(h.eq(0)),f.css("opacity",.6),a(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,e,f,g;for(o=null,b={x:l.x-a.pageX,y:l.y-a.pageY},c=k.top-b.y,e=0,f=m.length;f>e;e++)g=m[e],g.top>c||g.bottom<c||(o={element:g.$item},g.$item.hasClass("parent")?(o.state="prepend",d.css("top",g.bottom-5)):g.top>c-12?(o.state="before",d.css("top",g.top-5)):(o.state="after",d.css("top",g.bottom-5)));$clone.css({top:c})}).bind("mouseup.st",function(){var b,e;c=!1,a(document).unbind("mousemove.st mouseup.st"),f.css("opacity",""),$clone.remove(),d.remove(),e=a("<li />").height(f.height()),o&&(b=a(o.element),f.before(e),"prepend"==o.state?(b.find(">ul").length||b.find(">.side").after("<ul>"),b.find(">ul").prepend(f.hide())):b[o.state](f.hide()),f.slideDown(100,function(){f.removeClass("active")}),e.slideUp(100,function(){var a=e.parent();e.remove(),a.children("li").length||a.remove()}),f.trigger("dropped.st"))}),!1}},"mouseover.st":function(){return c||a(this).addClass("active"),!1},"mouseout.st":function(){return c||a(this).removeClass("active"),!1}}).find("li li").prepend('<button type="button" class="moveTo">Move to</button>').end().end(),a('<div id="dropzone-marker" />').css({display:"none",position:"absolute",backgroundColor:"#000",opacity:.7}).appendTo("body")});
|
||||
jQuery(function(a){function b(b){var c;if(moduleList=b.menuList){var d=a("#menuNameList");for(var e in moduleList){var f=moduleList[e];c=a('<optgroup label="'+e+'" />').appendTo(d);for(var g in f)c.append('<option value="'+e+":"+g+'">'+f[g].title+"</option>")}}}var c,d,e=a("#editForm"),f=a("#listForm");a("a._add").click(function(){if(d=a(this).parent().prevAll("._item_key").val(),e.find("input[name=parent_srl]").val(d),!c){var f=[],g=["menuList"];exec_xml("menu","procMenuAdminAllActList",f,b,g)}}),a("a._parent_delete").click(function(){var b=a(this).parent().prevAll("._parent_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()}),a("a._child_delete").click(function(){var b=a(this).parents("li").find("._item_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()})}),jQuery(function(a){function b(a,b){for(var c=0,d=0;a&&a!=b;)c+=a.offsetTop,d+=a.offsetLeft,a=a.offsetParent;return{top:c,left:d}}a("form.adminMap").delegate("li:not(.placeholder)","dropped.st",function(){var b,c,d=a(this);b=d.find(">input._parent_key"),c=!!d.parent("ul").parent("li").length,b.val(c?d.parent("ul").parent("li").find(">input._item_key").val():"0")});var c=!1,d=a('<li class="placeholder">');a("form.adminMap>ul").delegate("li:not(.placeholder,.parent)",{"mousedown.st":function(e){var f,g,h,i,j,k,l,m,n,o;if(!a(e.target).is("a,input,label,textarea")&&1==e.which){for(c=!0,f=a(this),j=f.height(),i=f.width(),g=f.parentsUntil(".adminMap").filter("ul"),h=g.eq(-1),l={x:e.pageX,y:e.pageY},k=b(this,h.get(0)),$clone=f.clone(!0).attr("target",!0),n=g.length-1;n;n--)$clone=$clone.wrap("<li><ul /></li>").parent().parent();return m=[],h.find("li").each(function(){if(f[0]===this||f.has(this).length)return!0;var c=b(this,h.get(0));m.push({top:c.top,bottom:c.top+32,$item:a(this)})}),$clone.find(".side,input").remove().end().addClass("draggable").css({position:"absolute",opacity:.6,width:i,height:j,left:k.left,top:k.top,zIndex:100}).appendTo(h.eq(0)),d.css({position:"absolute",opacity:.6,width:i,height:"10px",left:k.left,top:k.top,zIndex:99}).appendTo(h.eq(0)),f.css("opacity",.6),a(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,e,f,g;for(o=null,b={x:l.x-a.pageX,y:l.y-a.pageY},c=k.top-b.y,e=0,f=m.length;f>e;e++)g=m[e],g.top>c||g.bottom<c||(o={element:g.$item},g.$item.hasClass("parent")?(o.state="prepend",d.css("top",g.bottom-5)):g.top>c-12?(o.state="before",d.css("top",g.top-5)):(o.state="after",d.css("top",g.bottom-5)));$clone.css({top:c})}).bind("mouseup.st",function(){var b,e;c=!1,a(document).unbind("mousemove.st mouseup.st"),f.css("opacity",""),$clone.remove(),d.remove(),e=a("<li />").height(f.height()),o&&(b=a(o.element),f.before(e),"prepend"==o.state?(b.find(">ul").length||b.find(">.side").after("<ul>"),b.find(">ul").prepend(f.hide())):b[o.state](f.hide()),f.slideDown(100,function(){f.removeClass("active")}),e.slideUp(100,function(){var a=e.parent();e.remove(),a.children("li").length||a.remove()}),f.trigger("dropped.st"))}),!1}},"mouseover.st":function(){return c||a(this).addClass("active"),!1},"mouseout.st":function(){return c||a(this).removeClass("active"),!1}}).find("li li").prepend('<button type="button" class="moveTo">Move to</button>').end().end(),a('<div id="dropzone-marker" />').css({display:"none",position:"absolute",backgroundColor:"#000",opacity:.7}).appendTo("body")});
|
||||
|
|
@ -25,7 +25,7 @@ class boardModel extends module
|
|||
|
||||
// get the list config value, if it is not exitsted then setup the default value
|
||||
$list_config = $oModuleModel->getModulePartConfig('board', $module_srl);
|
||||
if(!$list_config || !count($list_config))
|
||||
if(!$list_config || count($list_config) <= 0)
|
||||
{
|
||||
$list_config = array( 'no', 'title', 'nick_name','regdate','readed_count');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,6 +184,7 @@ class boardView extends board
|
|||
// list config, columnList setting
|
||||
$oBoardModel = getModel('board');
|
||||
$this->listConfig = $oBoardModel->getListConfig($this->module_info->module_srl);
|
||||
if(!$this->listConfig) $this->listConfig = array();
|
||||
$this->_makeListColumnList();
|
||||
|
||||
// display the notice list
|
||||
|
|
|
|||
|
|
@ -55,16 +55,15 @@ class commentAdminView extends comment
|
|||
$columnList = array('comment_srl', 'document_srl', 'is_secret', 'status', 'content', 'comments.member_srl', 'comments.nick_name', 'comments.regdate', 'ipaddress', 'voted_count', 'blamed_count');
|
||||
$output = $oCommentModel->getTotalCommentList($args, $columnList);
|
||||
|
||||
$oCommentModel = getModel("comment");
|
||||
$modules = $oCommentModel->getDistinctModules();
|
||||
$modules_list = $modules;
|
||||
// $modules = $oCommentModel->getDistinctModules();
|
||||
// $modules_list = $modules;
|
||||
|
||||
// set values in the return object of comment_model:: getTotalCommentList() in order to use a template.
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('comment_list', $output->data);
|
||||
Context::set('modules_list', $modules_list);
|
||||
// Context::set('modules_list', $modules_list);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
Context::set('secret_name_list', $secretNameList);
|
||||
// set the template
|
||||
|
|
|
|||
|
|
@ -469,16 +469,6 @@ class commentController extends comment
|
|||
|
||||
$output->add('comment_srl', $obj->comment_srl);
|
||||
|
||||
//remove from cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
||||
$oCacheHandler->invalidateGroupKey('newestCommentsList');
|
||||
|
||||
$oCacheHandler->delete('object:' . $document_srl);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
@ -736,14 +726,6 @@ class commentController extends comment
|
|||
|
||||
$output->add('comment_srl', $obj->comment_srl);
|
||||
|
||||
//remove from cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('commentList_' . $obj->document_srl);
|
||||
$oCacheHandler->invalidateGroupKey('newestCommentsList');
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
@ -872,16 +854,6 @@ class commentController extends comment
|
|||
|
||||
$output->add('document_srl', $document_srl);
|
||||
|
||||
//remove from cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
||||
$oCacheHandler->invalidateGroupKey('newestCommentsList');
|
||||
|
||||
$oCacheHandler->delete('object:' . $document_srl);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
@ -970,14 +942,6 @@ class commentController extends comment
|
|||
$this->_deleteVotedComments($args);
|
||||
}
|
||||
|
||||
//remove from cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
||||
$oCacheHandler->invalidateGroupKey('newestCommentsList');
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -326,6 +326,9 @@ class commentModel extends comment
|
|||
*/
|
||||
function getDistinctModules()
|
||||
{
|
||||
return array();
|
||||
|
||||
/*
|
||||
$output = executeQueryArray('comment.getDistinctModules');
|
||||
$module_srls = $output->data;
|
||||
$oModuleModel = getModel('module');
|
||||
|
|
@ -339,6 +342,7 @@ class commentModel extends comment
|
|||
}
|
||||
}
|
||||
return $result;
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -441,96 +445,78 @@ class commentModel extends comment
|
|||
return;
|
||||
}
|
||||
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
// get the number of comments on the document module
|
||||
$oDocumentModel = getModel('document');
|
||||
$columnList = array('document_srl', 'module_srl', 'comment_count');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl, FALSE, TRUE, $columnList);
|
||||
|
||||
// return if no doc exists.
|
||||
if(!$oDocument->isExists())
|
||||
{
|
||||
$object_key = 'object:' . $document_srl . '_' . $page . '_' . ($is_admin ? 'Y' : 'N') . '_' . $count;
|
||||
$cache_key = $oCacheHandler->getGroupKey('commentList_' . $document_srl, $object_key);
|
||||
$output = $oCacheHandler->get($cache_key);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!$output)
|
||||
// return if no comment exists
|
||||
if($oDocument->getCommentCount() < 1)
|
||||
{
|
||||
// get the number of comments on the document module
|
||||
$oDocumentModel = getModel('document');
|
||||
$columnList = array('document_srl', 'module_srl', 'comment_count');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl, FALSE, TRUE, $columnList);
|
||||
return;
|
||||
}
|
||||
|
||||
// return if no doc exists.
|
||||
if(!$oDocument->isExists())
|
||||
// get a list of comments
|
||||
$module_srl = $oDocument->get('module_srl');
|
||||
|
||||
if(!$count)
|
||||
{
|
||||
$comment_config = $this->getCommentConfig($module_srl);
|
||||
$comment_count = $comment_config->comment_count;
|
||||
if(!$comment_count)
|
||||
{
|
||||
return;
|
||||
$comment_count = 50;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$comment_count = $count;
|
||||
}
|
||||
|
||||
// return if no comment exists
|
||||
if($oDocument->getCommentCount() < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
// get a very last page if no page exists
|
||||
if(!$page)
|
||||
{
|
||||
$page = (int) ( ($oDocument->getCommentCount() - 1) / $comment_count) + 1;
|
||||
}
|
||||
|
||||
// get a list of comments
|
||||
$module_srl = $oDocument->get('module_srl');
|
||||
// get a list of comments
|
||||
$args = new stdClass();
|
||||
$args->document_srl = $document_srl;
|
||||
$args->list_count = $comment_count;
|
||||
$args->page = $page;
|
||||
$args->page_count = 10;
|
||||
|
||||
if(!$count)
|
||||
{
|
||||
$comment_config = $this->getCommentConfig($module_srl);
|
||||
$comment_count = $comment_config->comment_count;
|
||||
if(!$comment_count)
|
||||
{
|
||||
$comment_count = 50;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$comment_count = $count;
|
||||
}
|
||||
//check if module is using validation system
|
||||
$oCommentController = getController('comment');
|
||||
$using_validation = $oCommentController->isModuleUsingPublishValidation($module_srl);
|
||||
if($using_validation)
|
||||
{
|
||||
$args->status = 1;
|
||||
}
|
||||
|
||||
// get a very last page if no page exists
|
||||
if(!$page)
|
||||
{
|
||||
$page = (int) ( ($oDocument->getCommentCount() - 1) / $comment_count) + 1;
|
||||
}
|
||||
$output = executeQueryArray('comment.getCommentPageList', $args);
|
||||
|
||||
// get a list of comments
|
||||
$args = new stdClass();
|
||||
$args->document_srl = $document_srl;
|
||||
$args->list_count = $comment_count;
|
||||
$args->page = $page;
|
||||
$args->page_count = 10;
|
||||
|
||||
//check if module is using validation system
|
||||
$oCommentController = getController('comment');
|
||||
$using_validation = $oCommentController->isModuleUsingPublishValidation($module_srl);
|
||||
if($using_validation)
|
||||
{
|
||||
$args->status = 1;
|
||||
}
|
||||
// return if an error occurs in the query results
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// insert data into CommentPageList table if the number of results is different from stored comments
|
||||
if(!$output->data)
|
||||
{
|
||||
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
|
||||
$output = executeQueryArray('comment.getCommentPageList', $args);
|
||||
|
||||
// return if an error occurs in the query results
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// insert data into CommentPageList table if the number of results is different from stored comments
|
||||
if(!$output->data)
|
||||
{
|
||||
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
|
||||
$output = executeQueryArray('comment.getCommentPageList', $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//insert in cache
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, $output);
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
*/
|
||||
class counterModel extends counter
|
||||
{
|
||||
|
||||
/**
|
||||
* Initialization
|
||||
*
|
||||
|
|
@ -16,7 +15,6 @@ class counterModel extends counter
|
|||
*/
|
||||
function init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -32,26 +30,27 @@ class counterModel extends counter
|
|||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||
$args->site_srl = $site_srl;
|
||||
|
||||
$iplogged = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'counter:' . $site_srl . '_' . str_replace(array('.', ':'), '-', $args->ipaddress);
|
||||
$cache_key = $oCacheHandler->getGroupKey('counterIpLogged_' . $args->regdate, $object_key);
|
||||
if($oCacheHandler->isValid($cache_key))
|
||||
{
|
||||
return $oCacheHandler->get($cache_key);
|
||||
}
|
||||
$iplogged = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
$output = executeQuery('counter.getCounterLog', $args);
|
||||
|
||||
$result = $output->data->count ? TRUE : FALSE;
|
||||
if($result && $oCacheHandler->isSupport())
|
||||
if($iplogged === false)
|
||||
{
|
||||
$oCacheHandler->put($cache_key, TRUE);
|
||||
$output = executeQuery('counter.getCounterLog', $args);
|
||||
if($output->data->count) $iplogged = TRUE;
|
||||
}
|
||||
|
||||
return $result;
|
||||
if($iplogged && $oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, $iplogged);
|
||||
}
|
||||
|
||||
return $iplogged;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -65,35 +64,37 @@ class counterModel extends counter
|
|||
$args = new stdClass;
|
||||
$args->regdate = date('Ymd');
|
||||
|
||||
$insertedTodayStatus = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'counter:insertedTodayStatus:' . $site_srl . '_' . $args->regdate;
|
||||
if($oCacheHandler->isValid($cache_key))
|
||||
$insertedTodayStatus = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if($insertedTodayStatus === false)
|
||||
{
|
||||
if($site_srl)
|
||||
{
|
||||
return $oCacheHandler->get($cache_key);
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('counter.getSiteTodayStatus', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
$output = executeQuery('counter.getTodayStatus', $args);
|
||||
}
|
||||
|
||||
$insertedTodayStatus = !!$output->data->count;
|
||||
|
||||
if($insertedTodayStatus && $oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, TRUE);
|
||||
$_old_date = date('Ymd', strtotime('-1 day'));
|
||||
$oCacheHandler->delete('counter:insertedTodayStatus:' . $site_srl . '_' . $_old_date);
|
||||
}
|
||||
}
|
||||
|
||||
if($site_srl)
|
||||
{
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('counter.getSiteTodayStatus', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
$output = executeQuery('counter.getTodayStatus', $args);
|
||||
}
|
||||
|
||||
$result = $output->data->count ? TRUE : FALSE;
|
||||
if($result && $oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, TRUE);
|
||||
$_old_date = date('Ymd', strtotime('-1 day'));
|
||||
$oCacheHandler->delete('counter:insertedTodayStatus:' . $site_srl . '_' . $_old_date);
|
||||
}
|
||||
|
||||
return $result;
|
||||
return $insertedTodayStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -140,7 +140,6 @@ class documentAdminController extends document
|
|||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
|
||||
// Set 0 if a new category doesn't exist after catergory change
|
||||
if($source_category_srl != $category_srl)
|
||||
{
|
||||
|
|
@ -166,13 +165,18 @@ class documentAdminController extends document
|
|||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
|
||||
// move the trackback
|
||||
$output = executeQuery('trackback.updateTrackbackModule', $args);
|
||||
if(!$output->toBool())
|
||||
if(getClass('trackback'))
|
||||
{
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
$output = executeQuery('trackback.updateTrackbackModule', $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
// Tags
|
||||
$output = executeQuery('tag.updateTagModule', $args);
|
||||
if(!$output->toBool())
|
||||
|
|
@ -195,7 +199,7 @@ class documentAdminController extends document
|
|||
{
|
||||
foreach($document_srl_list as $document_srl)
|
||||
{
|
||||
$cache_key_item = 'document_item:'.$document_srl;
|
||||
$cache_key_item = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key_item);
|
||||
}
|
||||
}
|
||||
|
|
@ -451,9 +455,8 @@ class documentAdminController extends document
|
|||
{
|
||||
foreach($document_srl_list as $document_srl)
|
||||
{
|
||||
$cache_key_item = 'document_item:'.$document_srl;
|
||||
$cache_key_item = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key_item);
|
||||
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -797,6 +800,7 @@ class documentAdminController extends document
|
|||
// If the post was not temorarily saved, set the attachment's status to be valid
|
||||
if($oDocument->hasUploadedFiles() && $originObject->member_srl != $originObject->module_srl)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->upload_target_srl = $oDocument->document_srl;
|
||||
$args->isvalid = 'Y';
|
||||
$output = executeQuery('file.updateFileValid', $args);
|
||||
|
|
|
|||
|
|
@ -555,7 +555,7 @@ class documentController extends document
|
|||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'.$obj->document_srl;
|
||||
$cache_key = 'document_item:'. getNumberingPath($obj->document_srl) . $obj->document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
|
|
@ -646,7 +646,7 @@ class documentController extends document
|
|||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'document_item:'.$document_srl;
|
||||
$cache_key = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,30 +76,36 @@ class documentItem extends Object
|
|||
{
|
||||
if(!$this->document_srl) return;
|
||||
|
||||
$document_item = false;
|
||||
$cache_put = false;
|
||||
$columnList = array();
|
||||
$this->columnList = array();
|
||||
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'document_item:' . $this->document_srl;
|
||||
$cache_key = 'document_item:' . getNumberingPath($this->document_srl) . $this->document_srl;
|
||||
$document_item = $oCacheHandler->get($cache_key);
|
||||
if($document_item)
|
||||
if($document_item !== false)
|
||||
{
|
||||
$document_item = (object)$document_item->getVariables();
|
||||
$this->columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->columnList = array();
|
||||
$columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count');
|
||||
}
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->document_srl = $this->document_srl;
|
||||
$output = executeQuery('document.getDocument', $args, $this->columnList);
|
||||
$output = executeQuery('document.getDocument', $args, $columnList);
|
||||
|
||||
if(!$document_item)
|
||||
if($document_item === false)
|
||||
{
|
||||
$document_item = $output->data;
|
||||
|
||||
//insert in cache
|
||||
if($document_item && $oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, $document_item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -111,12 +117,6 @@ class documentItem extends Object
|
|||
}
|
||||
|
||||
$this->setAttribute($document_item, $load_extra_vars);
|
||||
|
||||
//insert in cache
|
||||
if($this->document_srl && $oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, $this);
|
||||
}
|
||||
}
|
||||
|
||||
function setAttribute($attribute, $load_extra_vars=true)
|
||||
|
|
@ -139,13 +139,13 @@ class documentItem extends Object
|
|||
}
|
||||
|
||||
$oDocumentModel = getModel('document');
|
||||
$GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = $this;
|
||||
if($load_extra_vars)
|
||||
{
|
||||
$oDocumentModel->setToAllDocumentExtraVars();
|
||||
$this->add('title', $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl]->get('title'));
|
||||
$this->add('content', $GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl]->get('content'));
|
||||
$oDocumentModel->getDocumentExtraVarsFromDB($this->document_srl);
|
||||
$this->add('title', $this->get('title'));
|
||||
$this->add('content', $this->get('content'));
|
||||
}
|
||||
$GLOBALS['XE_DOCUMENT_LIST'][$this->document_srl] = $this;
|
||||
}
|
||||
|
||||
function isExists()
|
||||
|
|
@ -194,22 +194,33 @@ class documentItem extends Object
|
|||
static $allow_trackback_status = null;
|
||||
if(is_null($allow_trackback_status))
|
||||
{
|
||||
// If the trackback module is configured to be disabled, do not allow. Otherwise, check the setting of each module.
|
||||
$oModuleModel = getModel('module');
|
||||
$trackback_config = $oModuleModel->getModuleConfig('trackback');
|
||||
if(!$trackback_config)
|
||||
|
||||
// Check the tarckback module exist
|
||||
if(!getClass('trackback'))
|
||||
{
|
||||
$trackback_config = new stdClass();
|
||||
$allow_trackback_status = false;
|
||||
}
|
||||
if(!isset($trackback_config->enable_trackback)) $trackback_config->enable_trackback = 'Y';
|
||||
if($trackback_config->enable_trackback != 'Y') $allow_trackback_status = false;
|
||||
else
|
||||
{
|
||||
$module_srl = $this->get('module_srl');
|
||||
// Check settings of each module
|
||||
$module_config = $oModuleModel->getModulePartConfig('trackback', $module_srl);
|
||||
if($module_config->enable_trackback == 'N') $allow_trackback_status = false;
|
||||
else if($this->get('allow_trackback')=='Y' || !$this->isExists()) $allow_trackback_status = true;
|
||||
// If the trackback module is configured to be disabled, do not allow. Otherwise, check the setting of each module.
|
||||
$oModuleModel = getModel('module');
|
||||
$trackback_config = $oModuleModel->getModuleConfig('trackback');
|
||||
|
||||
if(!$trackback_config)
|
||||
{
|
||||
$trackback_config = new stdClass();
|
||||
}
|
||||
|
||||
if(!isset($trackback_config->enable_trackback)) $trackback_config->enable_trackback = 'Y';
|
||||
if($trackback_config->enable_trackback != 'Y') $allow_trackback_status = false;
|
||||
else
|
||||
{
|
||||
$module_srl = $this->get('module_srl');
|
||||
// Check settings of each module
|
||||
$module_config = $oModuleModel->getModulePartConfig('trackback', $module_srl);
|
||||
if($module_config->enable_trackback == 'N') $allow_trackback_status = false;
|
||||
else if($this->get('allow_trackback')=='Y' || !$this->isExists()) $allow_trackback_status = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $allow_trackback_status;
|
||||
|
|
|
|||
|
|
@ -53,11 +53,14 @@ class documentModel extends document
|
|||
function setToAllDocumentExtraVars()
|
||||
{
|
||||
static $checked_documents = array();
|
||||
$_document_list = &$GLOBALS['XE_DOCUMENT_LIST'];
|
||||
|
||||
// XE XE_DOCUMENT_LIST all documents that the object referred to the global variable settings
|
||||
if(!count($GLOBALS['XE_DOCUMENT_LIST'])) return;
|
||||
if(count($_document_list) <= 0) return;
|
||||
|
||||
// Find all called the document object variable has been set extension
|
||||
$document_srls = array();
|
||||
foreach($GLOBALS['XE_DOCUMENT_LIST'] as $key => $val)
|
||||
foreach($_document_list as $key => $val)
|
||||
{
|
||||
if(!$val->document_srl || $checked_documents[$val->document_srl]) continue;
|
||||
$checked_documents[$val->document_srl] = true;
|
||||
|
|
@ -84,12 +87,11 @@ class documentModel extends document
|
|||
$document_srl = $document_srls[$i];
|
||||
unset($vars);
|
||||
|
||||
if(!$GLOBALS['XE_DOCUMENT_LIST'][$document_srl] || !is_object($GLOBALS['XE_DOCUMENT_LIST'][$document_srl]) || !$GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->isExists()) continue;
|
||||
|
||||
$module_srl = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->get('module_srl');
|
||||
if(!$_document_list[$document_srl] || !is_object($_document_list[$document_srl]) || !$_document_list[$document_srl]->isExists()) continue;
|
||||
$module_srl = $_document_list[$document_srl]->get('module_srl');
|
||||
$extra_keys = $this->getExtraKeys($module_srl);
|
||||
$vars = $extra_vars[$document_srl];
|
||||
$document_lang_code = $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->get('lang_code');
|
||||
$document_lang_code = $_document_list[$document_srl]->get('lang_code');
|
||||
// Expand the variable processing
|
||||
if(count($extra_keys))
|
||||
{
|
||||
|
|
@ -109,9 +111,9 @@ class documentModel extends document
|
|||
$evars = new ExtraVar($module_srl);
|
||||
$evars->setExtraVarKeys($extra_keys);
|
||||
// Title Processing
|
||||
if($vars[-1][$user_lang_code]) $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->add('title',$vars[-1][$user_lang_code]);
|
||||
if($vars[-1][$user_lang_code]) $_document_list[$document_srl]->add('title',$vars[-1][$user_lang_code]);
|
||||
// Information processing
|
||||
if($vars[-2][$user_lang_code]) $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->add('content',$vars[-2][$user_lang_code]);
|
||||
if($vars[-2][$user_lang_code]) $_document_list[$document_srl]->add('content',$vars[-2][$user_lang_code]);
|
||||
|
||||
if($vars[-1][$user_lang_code] || $vars[-2][$user_lang_code])
|
||||
{
|
||||
|
|
@ -134,12 +136,11 @@ class documentModel extends document
|
|||
{
|
||||
if(!$document_srl) return new documentItem();
|
||||
|
||||
if(!isset($GLOBALS['XE_DOCUMENT_LIST'][$document_srl]) || $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->columnListKey != serialize($columnList))
|
||||
if(!$GLOBALS['XE_DOCUMENT_LIST'][$document_srl])
|
||||
{
|
||||
$oDocument = new documentItem($document_srl, $load_extra_vars, $columnList);
|
||||
$GLOBALS['XE_DOCUMENT_LIST'][$document_srl] = $oDocument;
|
||||
if($load_extra_vars) $this->setToAllDocumentExtraVars();
|
||||
$GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->columnListKey = serialize($columnList);
|
||||
}
|
||||
if($is_admin) $GLOBALS['XE_DOCUMENT_LIST'][$document_srl]->setGrant();
|
||||
|
||||
|
|
@ -361,8 +362,9 @@ class documentModel extends document
|
|||
*/
|
||||
function getExtraKeys($module_srl)
|
||||
{
|
||||
if(is_null($GLOBALS['XE_EXTRA_KEYS'][$module_srl]))
|
||||
if(!isset($GLOBALS['XE_EXTRA_KEYS'][$module_srl]))
|
||||
{
|
||||
$keys = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -371,8 +373,9 @@ class documentModel extends document
|
|||
$keys = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
$oExtraVar = &ExtraVar::getInstance($module_srl);
|
||||
if(!$keys)
|
||||
$oExtraVar = ExtraVar::getInstance($module_srl);
|
||||
|
||||
if($keys === false)
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->module_srl = $module_srl;
|
||||
|
|
|
|||
|
|
@ -160,6 +160,7 @@ class documentView extends document
|
|||
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
|
||||
// Get the saved document (module_srl is set to member_srl instead)
|
||||
$logged_info = Context::get('logged_info');
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $logged_info->member_srl;
|
||||
$args->statusList = array($this->getConfigStatus('temp'));
|
||||
$args->page = (int)Context::get('page');
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
function getSlideShow(){var a,b,c,d,e,f,g,h,i="";if("undefined"!=typeof opener){a=opener.editorPrevNode,b=jQuery(a),b.is("img")&&(selected_node=a,c=b.width(),d=b.attr("gallery_style"),e=b.attr("gallery_align")||"center",f=b.attr("border_color"),g=b.attr("bg_color"),h=b.attr("border_thickness")||1,get_by_id("width").value=c,get_by_id("gallery_style").selectedIndex="list"==d?1:0,get_by_id("gallery_align").selectedIndex="left"==e?1:"right"==e?2:0,get_by_id("border_thickness").value=h,get_by_id("border_color_input").value=f,get_by_id("bg_color_input").value=g,i=b.attr("images_list"));var j=get_by_id("fo"),k=j.editor_sequence.value,l=opener.get_by_id("uploaded_file_list_"+k);if(l)for(var m=get_by_id("image_list"),n=0;n<l.length;n++){var o=l.options[n],p=o.value;if(!p)return;var q=opener.uploadedFiles[p],r=q.download_url.replace(request_uri,"");if(/(jpg|jpeg|gif|png)$/i.test(r)){var s=!1;-1!=i.indexOf(r)&&(s=!0);var o=new Option(o.text,o.value,!1,s);m.options.add(o)}}}}function insertSlideShow(){if("undefined"!=typeof opener){for(var a=new Array,b=get_by_id("image_list"),c=0;c<b.length;c++){var d=b.options[c];if(d.selected){var e=d.value,f=opener.uploadedFiles[e],g=f.download_url.replace(request_uri,"");a[a.length]=g}}if(!a.length)return window.close(),void 0;for(var h=get_by_id("width").value,i=get_by_id("gallery_style").options[get_by_id("gallery_style").selectedIndex].value,j=get_by_id("gallery_align").options[get_by_id("gallery_align").selectedIndex].value,k=get_by_id("border_thickness").value,l=get_by_id("border_color_input").value,m=get_by_id("bg_color_input").value,n="",c=0;c<a.length;c++)n+=a[c].trim()+" ";if(selected_node)selected_node.setAttribute("width",h),selected_node.setAttribute("gallery_style",i),selected_node.setAttribute("align",j),selected_node.setAttribute("gallery_align",j),selected_node.setAttribute("border_thickness",k),selected_node.setAttribute("border_color",l),selected_node.setAttribute("bg_color",m),selected_node.setAttribute("images_list",n),selected_node.style.width=h+"px";else{var o='<img src="../../../../common/img/blank.gif" editor_component="image_gallery" width="'+h+'" gallery_style="'+i+'" align="'+j+'" gallery_align="'+j+'" border_thickness="'+k+'" border_color="'+l+'" bg_color="'+m+'" style="width:'+h+'px;border:2px dotted #4371B9;background:url(./modules/editor/components/image_gallery/tpl/image_gallery_component.gif) no-repeat center;" images_list="'+n+'" />';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null;jQuery(function(){getSlideShow()});
|
||||
function getSlideShow(){var a,b,c,d,e,f,g,h,i="";if("undefined"!=typeof opener){a=opener.editorPrevNode,b=jQuery(a),b.is("img")&&(selected_node=a,c=b.width(),d=b.attr("gallery_style"),e=b.attr("gallery_align")||"center",f=b.attr("border_color"),g=b.attr("bg_color"),h=b.attr("border_thickness")||1,get_by_id("width").value=c,get_by_id("gallery_style").selectedIndex="list"==d?1:0,get_by_id("gallery_align").selectedIndex="left"==e?1:"right"==e?2:0,get_by_id("border_thickness").value=h,get_by_id("border_color_input").value=f,get_by_id("bg_color_input").value=g,i=b.attr("images_list"));var j=get_by_id("fo"),k=j.editor_sequence.value,l=opener.get_by_id("uploaded_file_list_"+k);if(l)for(var m=get_by_id("image_list"),n=0;n<l.length;n++){var o=l.options[n],p=o.value;if(!p)return;var q=opener.uploadedFiles[p],r=q.download_url.replace(request_uri,"");if(/(jpg|jpeg|gif|png)$/i.test(r)){var s=!1;-1!=i.indexOf(r)&&(s=!0);var o=new Option(o.text,o.value,!1,s);m.options.add(o)}}}}function insertSlideShow(){if("undefined"!=typeof opener){for(var a=new Array,b=get_by_id("image_list"),c=0;c<b.length;c++){var d=b.options[c];if(d.selected){var e=d.value,f=opener.uploadedFiles[e],g=f.download_url.replace(request_uri,"");a[a.length]=g}}if(!a.length)return void window.close();for(var h=get_by_id("width").value,i=get_by_id("gallery_style").options[get_by_id("gallery_style").selectedIndex].value,j=get_by_id("gallery_align").options[get_by_id("gallery_align").selectedIndex].value,k=get_by_id("border_thickness").value,l=get_by_id("border_color_input").value,m=get_by_id("bg_color_input").value,n="",c=0;c<a.length;c++)n+=a[c].trim()+" ";if(selected_node)selected_node.setAttribute("width",h),selected_node.setAttribute("gallery_style",i),selected_node.setAttribute("align",j),selected_node.setAttribute("gallery_align",j),selected_node.setAttribute("border_thickness",k),selected_node.setAttribute("border_color",l),selected_node.setAttribute("bg_color",m),selected_node.setAttribute("images_list",n),selected_node.style.width=h+"px";else{var o='<img src="../../../../common/img/blank.gif" editor_component="image_gallery" width="'+h+'" gallery_style="'+i+'" align="'+j+'" gallery_align="'+j+'" border_thickness="'+k+'" border_color="'+l+'" bg_color="'+m+'" style="width:'+h+'px;border:2px dotted #4371B9;background:url(./modules/editor/components/image_gallery/tpl/image_gallery_component.gif) no-repeat center;" images_list="'+n+'" />';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null;jQuery(function(){getSlideShow()});
|
||||
|
|
@ -1 +1 @@
|
|||
!function(a){var b=xe.createPlugin("slideShow",{_holders:{},_thumbs:{},_current:{},init:function(){this._holders={},this._thumbs={},this._current={}},API_SHOW_SLIDE:function(b,c){var d,e,f,g,h,i,j=this,k=c[0],l="@"+k;if(d=this.cast("GET_IMAGES",[k]),d.length){for(var h=0,m=d.length;m>h;h++)if(!d[h].loaded)return setTimeout(function(){j.cast("SHOW_SLIDE",c)},200),void 0;for(e=a("#zone_slide_gallery_"+k),g=e.find(".slide_gallery_placeholder").css("overflow","hidden"),e.find(".slide_gallery_loading_text").remove(),f=e.find(".slide_gallery_thumbnail_image_box").show(),h=0,i=d.length;i>h;h++)d[h].$obj.clone().css({cursor:"pointer",width:"60px",height:"60px",margin:"5px",opacity:.5}).click({idx:h},function(a){j.cast("SET_SLIDE",[k,a.data.idx])}).appendTo(f);a("#zone_gallery_navigator_status_"+k).click(function(){f.toggle()}),e.find(".__prev").click(function(){return j.cast("PREV_SLIDE",[k]),!1}).end().find(".__next").click(function(){return j.cast("NEXT_SLIDE",[k]),!1}),this._holders[l]=g,this._thumbs[l]=f,this._current[l]=0,this.cast("SET_SLIDE",[k,0])}},_showSideSlide:function(a,b){var c,d,e;c=this.cast("GET_IMAGES",[a]),c.length&&(d=this._current["@"+a],e=d+b,0>e?e=c.length-1:e>=c.length&&(e=0),this.cast("SET_SLIDE",[a,e]))},API_NEXT_SLIDE:function(a,b){this._showSideSlide(b[0],1)},API_PREV_SLIDE:function(a,b){this._showSideSlide(b[0],-1)},API_SET_SLIDE:function(b,c){var d,e,f,g,h,i,j,k,l,m=c[0],n=c[1];d=this.cast("GET_IMAGES",[m]),d.length&&is_def(e=d[n])&&(this._current["@"+m]=n,a("#zone_gallery_navigator_status_"+m).text(n+1+"/"+d.length),this._thumbs["@"+m].find("img").eq(n).animate({opacity:1}).end().not(":eq("+n+")").animate({opacity:.5}),f=this._holders["@"+m],g=f.parent().innerWidth(),h=e.$obj.prop("width"),j=e.$obj.prop("height"),0==h&&(h=e.$obj.attr("width")),0==j&&(j=e.$obj.attr("height")),h>g-20&&(i=g-20,l=i/h,k=Math.floor(j*l),h=i,j=k,e.$obj.css("cursor","pointer"),e.$obj.attr("rel","xe_gallery")),e.$obj.css({width:h,height:j,margin:"0 10px"}),f.empty().append(e.$obj))}}),c=xe.getApp("Gallery")[0];c&&c.registerPlugin(new b)}(jQuery);
|
||||
!function(a){var b=xe.createPlugin("slideShow",{_holders:{},_thumbs:{},_current:{},init:function(){this._holders={},this._thumbs={},this._current={}},API_SHOW_SLIDE:function(b,c){var d,e,f,g,h,i,j=this,k=c[0],l="@"+k;if(d=this.cast("GET_IMAGES",[k]),d.length){for(var h=0,m=d.length;m>h;h++)if(!d[h].loaded)return void setTimeout(function(){j.cast("SHOW_SLIDE",c)},200);for(e=a("#zone_slide_gallery_"+k),g=e.find(".slide_gallery_placeholder").css("overflow","hidden"),e.find(".slide_gallery_loading_text").remove(),f=e.find(".slide_gallery_thumbnail_image_box").show(),h=0,i=d.length;i>h;h++)d[h].$obj.clone().css({cursor:"pointer",width:"60px",height:"60px",margin:"5px",opacity:.5}).click({idx:h},function(a){j.cast("SET_SLIDE",[k,a.data.idx])}).appendTo(f);a("#zone_gallery_navigator_status_"+k).click(function(){f.toggle()}),e.find(".__prev").click(function(){return j.cast("PREV_SLIDE",[k]),!1}).end().find(".__next").click(function(){return j.cast("NEXT_SLIDE",[k]),!1}),this._holders[l]=g,this._thumbs[l]=f,this._current[l]=0,this.cast("SET_SLIDE",[k,0])}},_showSideSlide:function(a,b){var c,d,e;c=this.cast("GET_IMAGES",[a]),c.length&&(d=this._current["@"+a],e=d+b,0>e?e=c.length-1:e>=c.length&&(e=0),this.cast("SET_SLIDE",[a,e]))},API_NEXT_SLIDE:function(a,b){this._showSideSlide(b[0],1)},API_PREV_SLIDE:function(a,b){this._showSideSlide(b[0],-1)},API_SET_SLIDE:function(b,c){var d,e,f,g,h,i,j,k,l,m=c[0],n=c[1];d=this.cast("GET_IMAGES",[m]),d.length&&is_def(e=d[n])&&(this._current["@"+m]=n,a("#zone_gallery_navigator_status_"+m).text(n+1+"/"+d.length),this._thumbs["@"+m].find("img").eq(n).animate({opacity:1}).end().not(":eq("+n+")").animate({opacity:.5}),f=this._holders["@"+m],g=f.parent().innerWidth(),h=e.$obj.prop("width"),j=e.$obj.prop("height"),0==h&&(h=e.$obj.attr("width")),0==j&&(j=e.$obj.attr("height")),h>g-20&&(i=g-20,l=i/h,k=Math.floor(j*l),h=i,j=k,e.$obj.css("cursor","pointer"),e.$obj.attr("rel","xe_gallery")),e.$obj.css({width:h,height:j,margin:"0 10px"}),f.empty().append(e.$obj))}}),c=xe.getApp("Gallery")[0];c&&c.registerPlugin(new b)}(jQuery);
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,10 +1,12 @@
|
|||
<!--%import("filter/insert_editor_module_config.xml")-->
|
||||
|
||||
<load target="js/editor_module_config.js" />
|
||||
<form action="./" method="post" class="section">
|
||||
<input type="hidden" name="act" value="procEditorInsertModuleConfig" />
|
||||
<input type="hidden" name="module" value="editor" />
|
||||
<input type="hidden" name="target_module_srl" value="{$module_info->module_srl?$module_info->module_srl:$module_srls}" />
|
||||
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/editor/addition_setup/1" />
|
||||
<h1>{$lang->editor}</h1>
|
||||
<table class="x_table x_table-striped x_table-hover">
|
||||
<thead>
|
||||
|
|
|
|||
2
modules/editor/tpl/js/editor.min.js
vendored
2
modules/editor/tpl/js/editor.min.js
vendored
File diff suppressed because one or more lines are too long
2
modules/editor/tpl/js/editor_common.min.js
vendored
2
modules/editor/tpl/js/editor_common.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
function getEditorSkinColorList(a,b,c,d){if(a.length>0){c=c||"document";var e=new Array("error","message","colorset");exec_xml("editor","dispEditorSkinColorset",{skin:a},resultGetEditorSkinColorList,e,{selected_colorset:b,type:c,testid:d})}}function resultGetEditorSkinColorList(a,b,c){var d=null;jQuery(function(b){if(d=c.testid?b("#"+c.testid).next("label").children("select"):"document"==c.type?b("select[name=sel_editor_colorset]"):b("select[name=sel_comment_editor_colorset]"),d.html(""),"document"==c.type?(b("select[name=sel_editor_colorset]").hide().removeAttr("name"),d.attr("name","sel_editor_colorset")):(b("select[name=sel_comment_editor_colorset]").hide().removeAttr("name"),d.attr("name","sel_comment_editor_colorset")),0==a.error&&a.colorset){var e=[],f=a.colorset.item;"undefined"==typeof f[0]?e[0]=f:e=f;for(var g=0;g<e.length;g++){var h=b('<option value="'+e[g].name+'" >'+e[g].title+"</option>");c.selected_colorset==e[g].name&&h.attr("selected","selected"),d.append(h)}d.show()}else d.hide(),d.html("")})}
|
||||
function getEditorSkinColorList(a,b,c,d){if(a.length>0){c=c||"document";var e=new Array("error","message","colorset");exec_xml("editor","dispEditorSkinColorset",{skin:a},resultGetEditorSkinColorList,e,{selected_colorset:b,type:c,testid:d})}}function resultGetEditorSkinColorList(a,b,c){var d=null;jQuery(function(b){if(d=c.testid?b("#"+c.testid).next("label").children("select"):b("document"==c.type?"select[name=sel_editor_colorset]":"select[name=sel_comment_editor_colorset]"),d.html(""),"document"==c.type?(b("select[name=sel_editor_colorset]").hide().removeAttr("name"),d.attr("name","sel_editor_colorset")):(b("select[name=sel_comment_editor_colorset]").hide().removeAttr("name"),d.attr("name","sel_comment_editor_colorset")),0==a.error&&a.colorset){var e=[],f=a.colorset.item;"undefined"==typeof f[0]?e[0]=f:e=f;for(var g=0;g<e.length;g++){var h=b('<option value="'+e[g].name+'" >'+e[g].title+"</option>");c.selected_colorset==e[g].name&&h.attr("selected","selected"),d.append(h)}d.show()}else d.hide(),d.html("")})}
|
||||
2
modules/editor/tpl/js/swfupload.min.js
vendored
2
modules/editor/tpl/js/swfupload.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -92,6 +92,7 @@ class fileAdminController extends file
|
|||
function procFileAdminInsertConfig()
|
||||
{
|
||||
// Get configurations (using module model object)
|
||||
$config = new stdClass();
|
||||
$config->allowed_filesize = Context::get('allowed_filesize');
|
||||
$config->allowed_attach_size = Context::get('allowed_attach_size');
|
||||
$config->allowed_filetypes = str_replace(' ', '', Context::get('allowed_filetypes'));
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ class fileController extends file
|
|||
|
||||
$file_size = $file_obj->file_size;
|
||||
$filename = $file_obj->source_filename;
|
||||
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE || (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'rv') !== FALSE))
|
||||
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE || (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'rv:') !== FALSE))
|
||||
{
|
||||
$filename = rawurlencode($filename);
|
||||
$filename = preg_replace('/\./', '%2e', $filename, substr_count($filename, '.') - 1);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
function doSync(){return exec_xml("importer","procImporterAdminSync",[],function(a){alert(a.message),location.href=location.href}),!1}function doPreProcessing(a,b){function c(a){var c,d,e,g,i,j,k;if(h=!0,-1==a.status)return alert(a.message);for(c=get_by_id("fo_process"),d=c.elements,e=0,g=f.length;g>e;e++)i=f[e],d[i]?d[i].value=a[i]:0;if(k=get_by_id(b))for(j=["target_module","guestbook_target_module","user_id","unit_count"],e=0,g=j.length;g>e;e++)i=j[e],k.elements[i]&&(c.elements[i].value=k.elements[i].value);jQuery("#preProgressMsg").hide(),jQuery("#progressMsg").show(),doImport(b)}var d,e,f,g,h=!1,i=jQuery;return d=a.elements.xml_file.value,e=a.elements.type.value,d?(g=i("#process"),i("body").children(".x_modal-backdrop").length||i("body").append('<div class="x_modal-backdrop" />'),i('a[href="#process"].modalAnchor').trigger("open.mw"),exec_xml("importer","procImporterAdminPreProcessing",{type:e,xml_file:d},c,f=["error","message","type","total","cur","key","status"]),!1):!1}function doImport(a){function b(b){function c(){alert(b.message),jQuery('a[href="#process"].modalAnchor').unbind("before-close.mw").trigger("close.mw").find("#progressBar").width(1).end().find("#progressPercent").html("0%").end();try{f.reset(),get_by_id(a).reset()}catch(c){}jQuery("span.btn > input[type=submit]").attr("disabled","disabled")}var d,i,j,k;for(d=0,i=e.length;i>d;d++)j=e[d],g[j]?g[j].value=b[j]:0;b.total=parseInt(b.total,10)||0,b.cur=parseInt(b.cur,10)||0,percent=parseInt(b.cur/b.total*100),jQuery("#totalCount").text(b.total),jQuery("#completeCount").text(b.cur),jQuery("#progressBar").width(percent+"%"),jQuery("#progressPercent").html(percent+"%"),b.total>b.cur?doImport(a):(k=get_by_id(a),null!=k&&k.isSync.checked?exec_xml("importer","procImporterAdminSync",h,function(a){!a||a.error&&"0"!=a.error||c()},e=["error","message"]):c())}var c,d,e,f=get_by_id("fo_process"),g=f.elements,h={};for(c=0,d=g.length;d>c;c++)h[g[c].name]=g[c].value;return show_waiting_message=!1,exec_xml("importer","procImporterAdminImport",h,b,e=["error","message","type","total","cur","key"]),show_waiting_message=!0,!1}function displayProgress(a,b){var c,d;c=Math.max(a?Math.round(b/a*100):100,1),d=jQuery("#status"),d.find("div.progress1").length||d.html('<div class="progressBox"><div class="progress1"></div><div class="progress2"></div></div>'),d.find("div.progress1").html(c+" ").css("width",c+"%").end().find("div.progress2").text(b+"/"+a)}jQuery(function(a){a(".checkxml").find("input:text").change(function(){a(this).closest(".checkxml").find(".x_help-inline").hide()}).end().find("button").click(function(){function b(a){var b,e;return e=g.find(">.xml"),b=g.find(">.ttxml"),$message.text(a.result_message),a.error||"true"!=a.exists?($message.attr("class","x_help-inline").fadeIn(300),b=b.filter(":visible"),b.eq(-1).slideUp(100,function(){b=b.slice(0,-1).eq(-1).slideUp(100,arguments.callee)}),g.find(":submit").attr("disabled","disabled"),c()):($message.attr("class","x_help-inline").fadeIn(300),g.find(":submit").removeAttr("disabled"),h=g.find(".syncmember:hidden"),f.prop("disabled",!1).removeClass("loading"),d.prop("disabled",!1),"XML"==a.type?e.not(":visible").add(h).slideDown(300):"TTXML"==a.type&&(b.not(":visible").add(h).slideDown(300),g.find("input[name=type]").val("ttxml")),void 0)}function c(){return f.prop("disabled",!1).removeClass("loading"),d.prop("disabled",!1),g.find(".syncmember:visible").slideUp(100),!1}var d,e,f,g,h;d=a(this).prop("disabled",!0),g=d.closest("form"),e=d.closest(".checkxml"),f=e.find("input").prop("disabled",!0).addClass("loading"),$message=e.find(".x_help-inline").hide(),show_waiting_message=!1,a.exec_json("importer.procImporterAdminCheckXmlFile",{filename:a.trim(f.val())},b)}).end().find(".x_help-inline").hide().end().closest("form").find(">.ttxml").hide().end().end().closest("form").find(":submit").attr("disabled","disabled"),a(".syncmember").hide()});
|
||||
function doSync(){return exec_xml("importer","procImporterAdminSync",[],function(a){alert(a.message),location.href=location.href}),!1}function doPreProcessing(a,b){function c(a){var c,d,e,g,i,j,k;if(h=!0,-1==a.status)return alert(a.message);for(c=get_by_id("fo_process"),d=c.elements,e=0,g=f.length;g>e;e++)i=f[e],d[i]?d[i].value=a[i]:0;if(k=get_by_id(b))for(j=["target_module","guestbook_target_module","user_id","unit_count"],e=0,g=j.length;g>e;e++)i=j[e],k.elements[i]&&(c.elements[i].value=k.elements[i].value);jQuery("#preProgressMsg").hide(),jQuery("#progressMsg").show(),doImport(b)}var d,e,f,g,h=!1,i=jQuery;return d=a.elements.xml_file.value,e=a.elements.type.value,d?(g=i("#process"),i("body").children(".x_modal-backdrop").length||i("body").append('<div class="x_modal-backdrop" />'),i('a[href="#process"].modalAnchor').trigger("open.mw"),exec_xml("importer","procImporterAdminPreProcessing",{type:e,xml_file:d},c,f=["error","message","type","total","cur","key","status"]),!1):!1}function doImport(a){function b(b){function c(){alert(b.message),jQuery('a[href="#process"].modalAnchor').unbind("before-close.mw").trigger("close.mw").find("#progressBar").width(1).end().find("#progressPercent").html("0%").end();try{f.reset(),get_by_id(a).reset()}catch(c){}jQuery("span.btn > input[type=submit]").attr("disabled","disabled")}var d,i,j,k;for(d=0,i=e.length;i>d;d++)j=e[d],g[j]?g[j].value=b[j]:0;b.total=parseInt(b.total,10)||0,b.cur=parseInt(b.cur,10)||0,percent=parseInt(b.cur/b.total*100),jQuery("#totalCount").text(b.total),jQuery("#completeCount").text(b.cur),jQuery("#progressBar").width(percent+"%"),jQuery("#progressPercent").html(percent+"%"),b.total>b.cur?doImport(a):(k=get_by_id(a),null!=k&&k.isSync.checked?exec_xml("importer","procImporterAdminSync",h,function(a){!a||a.error&&"0"!=a.error||c()},e=["error","message"]):c())}var c,d,e,f=get_by_id("fo_process"),g=f.elements,h={};for(c=0,d=g.length;d>c;c++)h[g[c].name]=g[c].value;return show_waiting_message=!1,exec_xml("importer","procImporterAdminImport",h,b,e=["error","message","type","total","cur","key"]),show_waiting_message=!0,!1}function displayProgress(a,b){var c,d;c=Math.max(a?Math.round(b/a*100):100,1),d=jQuery("#status"),d.find("div.progress1").length||d.html('<div class="progressBox"><div class="progress1"></div><div class="progress2"></div></div>'),d.find("div.progress1").html(c+" ").css("width",c+"%").end().find("div.progress2").text(b+"/"+a)}jQuery(function(a){a(".checkxml").find("input:text").change(function(){a(this).closest(".checkxml").find(".x_help-inline").hide()}).end().find("button").click(function(){function b(a){var b,e;return e=g.find(">.xml"),b=g.find(">.ttxml"),$message.text(a.result_message),a.error||"true"!=a.exists?($message.attr("class","x_help-inline").fadeIn(300),b=b.filter(":visible"),b.eq(-1).slideUp(100,function(){b=b.slice(0,-1).eq(-1).slideUp(100,arguments.callee)}),g.find(":submit").attr("disabled","disabled"),c()):($message.attr("class","x_help-inline").fadeIn(300),g.find(":submit").removeAttr("disabled"),h=g.find(".syncmember:hidden"),f.prop("disabled",!1).removeClass("loading"),d.prop("disabled",!1),void("XML"==a.type?e.not(":visible").add(h).slideDown(300):"TTXML"==a.type&&(b.not(":visible").add(h).slideDown(300),g.find("input[name=type]").val("ttxml"))))}function c(){return f.prop("disabled",!1).removeClass("loading"),d.prop("disabled",!1),g.find(".syncmember:visible").slideUp(100),!1}var d,e,f,g,h;d=a(this).prop("disabled",!0),g=d.closest("form"),e=d.closest(".checkxml"),f=e.find("input").prop("disabled",!0).addClass("loading"),$message=e.find(".x_help-inline").hide(),show_waiting_message=!1,a.exec_json("importer.procImporterAdminCheckXmlFile",{filename:a.trim(f.val())},b)}).end().find(".x_help-inline").hide().end().closest("form").find(">.ttxml").hide().end().end().closest("form").find(":submit").attr("disabled","disabled"),a(".syncmember").hide()});
|
||||
|
|
@ -61,6 +61,7 @@ class installAdminController extends install
|
|||
{
|
||||
$admin_ip_list = '';
|
||||
}
|
||||
$admin_ip_list .= ',127.0.0.1,' . $_SERVER['REMOTE_ADDR'];
|
||||
$admin_ip_list = explode(',',trim($admin_ip_list, ','));
|
||||
$admin_ip_list = array_unique($admin_ip_list);
|
||||
if(!IpFilter::validate($admin_ip_list)) {
|
||||
|
|
|
|||
|
|
@ -386,11 +386,11 @@ class installController extends install
|
|||
$hostname = $_SERVER['SERVER_NAME'];
|
||||
$port = $_SERVER['SERVER_PORT'];
|
||||
$query = "/JUST/CHECK/REWRITE/" . $checkFilePath;
|
||||
$currentPath = str_replace( $_SERVER['DOCUMENT_ROOT'], "", realpath(_XE_PATH_) );
|
||||
$currentPath = str_replace($_SERVER['DOCUMENT_ROOT'], "", _XE_PATH_);
|
||||
if($currentPath != "")
|
||||
$query = $currentPath . $query;
|
||||
|
||||
$fp = @fsockopen($hostname, $port, $errno, $errstr);
|
||||
$fp = @fsockopen($hostname, $port, $errno, $errstr, 5);
|
||||
if(!$fp) return false;
|
||||
|
||||
fputs($fp, "GET {$query} HTTP/1.0\r\n");
|
||||
|
|
|
|||
|
|
@ -757,7 +757,7 @@ class layoutAdminController extends layout
|
|||
|
||||
if($layout->extra_var_count) {
|
||||
$reg = "/^.\/files\/attach\/images\/([0-9]+)\/(.*)/";
|
||||
foreach($extra_vars as $key => $val) {
|
||||
if($extra_vars) foreach($extra_vars as $key => $val) {
|
||||
if($layout->extra_var->{$key}->type == 'image') {
|
||||
if(!preg_match($reg,$val,$matches)) continue;
|
||||
$image_list[$key]->filename = $matches[2];
|
||||
|
|
|
|||
|
|
@ -258,6 +258,8 @@ class layoutModel extends layout
|
|||
*/
|
||||
function getLayout($layout_srl)
|
||||
{
|
||||
$layout_info = false;
|
||||
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -267,7 +269,7 @@ class layoutModel extends layout
|
|||
$layout_info = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$layout_info)
|
||||
if($layout_info === false)
|
||||
{
|
||||
// Get information from the DB
|
||||
$args = new stdClass();
|
||||
|
|
@ -782,7 +784,7 @@ class layoutModel extends layout
|
|||
*/
|
||||
function getUserLayoutPath($layout_srl)
|
||||
{
|
||||
return sprintf("%sfiles/faceOff/%s", _XE_PATH_, getNumberingPath($layout_srl,3));
|
||||
return sprintf("./files/faceOff/%s", getNumberingPath($layout_srl,3));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -976,6 +976,9 @@ class memberAdminController extends member
|
|||
|
||||
foreach($user_ids as $val)
|
||||
{
|
||||
$val = trim($val);
|
||||
if(!$val) continue;
|
||||
|
||||
$output = $this->insertDeniedID($val, '');
|
||||
if($output->toBool()) $success_ids[] = $val;
|
||||
}
|
||||
|
|
@ -1014,6 +1017,9 @@ class memberAdminController extends member
|
|||
|
||||
foreach($nick_names as $val)
|
||||
{
|
||||
$val = trim($val);
|
||||
if(!$val) continue;
|
||||
|
||||
$output = $this->insertDeniedNickName($val, '');
|
||||
if($output->toBool()) $success_nick_names[] = $val;
|
||||
}
|
||||
|
|
@ -1289,6 +1295,8 @@ class memberAdminController extends member
|
|||
*/
|
||||
function deleteDeniedID($user_id)
|
||||
{
|
||||
if(!$user_id) unset($user_id);
|
||||
|
||||
$args = new stdClass;
|
||||
$args->user_id = $user_id;
|
||||
return executeQuery('member.deleteDeniedID', $args);
|
||||
|
|
@ -1301,6 +1309,8 @@ class memberAdminController extends member
|
|||
*/
|
||||
function deleteDeniedNickName($nick_name)
|
||||
{
|
||||
if(!$nick_name) unset($nick_name);
|
||||
|
||||
$args = new stdClass;
|
||||
$args->nick_name = $nick_name;
|
||||
return executeQuery('member.deleteDeniedNickName', $args);
|
||||
|
|
|
|||
|
|
@ -89,7 +89,8 @@ class memberAdminModel extends member
|
|||
$args->s_regdate_less = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
break;
|
||||
case 'last_login' :
|
||||
$args->s_last_login = $search_keyword;
|
||||
$args->s_last_login = preg_replace("/[^0-9]/","",$search_keyword);
|
||||
//$args->s_last_login = $search_keyword;
|
||||
break;
|
||||
case 'last_login_more' :
|
||||
$args->s_last_login_more = substr(preg_replace("/[^0-9]/","",$search_keyword) . '00000000000000',0,14);
|
||||
|
|
|
|||
|
|
@ -47,47 +47,52 @@ class member extends ModuleObject {
|
|||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$args = $oModuleModel->getModuleConfig('member');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
$isNotInstall = empty($args);
|
||||
if(empty($config))
|
||||
{
|
||||
$isNotInstall = true;
|
||||
$config = new stdClass;
|
||||
}
|
||||
|
||||
// Set the basic information
|
||||
$args = new stdClass;
|
||||
$args->enable_join = 'Y';
|
||||
$args->enable_openid = 'N';
|
||||
if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N';
|
||||
if(!$args->image_name) $args->image_name = 'Y';
|
||||
if(!$args->image_mark) $args->image_mark = 'Y';
|
||||
if(!$args->profile_image) $args->profile_image = 'Y';
|
||||
if(!$args->image_name_max_width) $args->image_name_max_width = '90';
|
||||
if(!$args->image_name_max_height) $args->image_name_max_height = '20';
|
||||
if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
|
||||
if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
|
||||
if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
|
||||
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
|
||||
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
|
||||
|
||||
$config->enable_join = 'Y';
|
||||
$config->enable_openid = 'N';
|
||||
if(!$config->enable_auth_mail) $config->enable_auth_mail = 'N';
|
||||
if(!$config->image_name) $config->image_name = 'Y';
|
||||
if(!$config->image_mark) $config->image_mark = 'Y';
|
||||
if(!$config->profile_image) $config->profile_image = 'Y';
|
||||
if(!$config->image_name_max_width) $config->image_name_max_width = '90';
|
||||
if(!$config->image_name_max_height) $config->image_name_max_height = '20';
|
||||
if(!$config->image_mark_max_width) $config->image_mark_max_width = '20';
|
||||
if(!$config->image_mark_max_height) $config->image_mark_max_height = '20';
|
||||
if(!$config->profile_image_max_width) $config->profile_image_max_width = '80';
|
||||
if(!$config->profile_image_max_height) $config->profile_image_max_height = '80';
|
||||
if($config->group_image_mark!='Y') $config->group_image_mark = 'N';
|
||||
if(!$config->password_strength) $config->password_strength = 'normal';
|
||||
|
||||
global $lang;
|
||||
$oMemberModel = getModel('member');
|
||||
// Create a member controller object
|
||||
$oMemberController = getController('member');
|
||||
$oMemberAdminController = getAdminController('member');
|
||||
|
||||
if(!$args->signupForm || !is_array($args->signupForm))
|
||||
if(!$config->signupForm || !is_array($config->signupForm))
|
||||
{
|
||||
$identifier = $isNotInstall ? 'email_address' : 'user_id';
|
||||
|
||||
$args->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$args->identifier = $identifier;
|
||||
$config->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$config->identifier = $identifier;
|
||||
|
||||
$oModuleController->insertModuleConfig('member',$args);
|
||||
|
||||
// Create Ruleset File
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
$oMemberAdminController->_createSignupRuleset($args->signupForm);
|
||||
$oMemberAdminController->_createLoginRuleset($args->identifier);
|
||||
$oMemberAdminController->_createFindAccountByQuestion($args->identifier);
|
||||
$oMemberAdminController->_createSignupRuleset($config->signupForm);
|
||||
$oMemberAdminController->_createLoginRuleset($config->identifier);
|
||||
$oMemberAdminController->_createFindAccountByQuestion($config->identifier);
|
||||
}
|
||||
|
||||
$oModuleController->insertModuleConfig('member',$config);
|
||||
|
||||
$groups = $oMemberModel->getGroups();
|
||||
if(!count($groups))
|
||||
|
|
|
|||
|
|
@ -334,6 +334,24 @@ class memberController extends member
|
|||
if(!$output->toBool()) return $output;
|
||||
|
||||
// insert ProfileImage, ImageName, ImageMark
|
||||
$profile_image = $_FILES['profile_image'];
|
||||
if(is_uploaded_file($profile_image['tmp_name']))
|
||||
{
|
||||
$this->insertProfileImage($args->member_srl, $profile_image['tmp_name']);
|
||||
}
|
||||
|
||||
$image_mark = $_FILES['image_mark'];
|
||||
if(is_uploaded_file($image_mark['tmp_name']))
|
||||
{
|
||||
$this->insertImageMark($args->member_srl, $image_mark['tmp_name']);
|
||||
}
|
||||
|
||||
$image_name = $_FILES['image_name'];
|
||||
if(is_uploaded_file($image_name['tmp_name']))
|
||||
{
|
||||
$this->insertImageName($args->member_srl, $image_name['tmp_name']);
|
||||
}
|
||||
|
||||
// If a virtual site, join the site
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
if($site_module_info->site_srl > 0)
|
||||
|
|
|
|||
|
|
@ -295,6 +295,8 @@ class memberModel extends member
|
|||
//columnList size zero... get full member info
|
||||
if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0)
|
||||
{
|
||||
$GLOBALS['__member_info__'][$member_srl] = false;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -304,7 +306,7 @@ class memberModel extends member
|
|||
$GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$GLOBALS['__member_info__'][$member_srl])
|
||||
if($GLOBALS['__member_info__'][$member_srl] === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
|
|
@ -458,7 +460,10 @@ class memberModel extends member
|
|||
*/
|
||||
function getMemberGroups($member_srl, $site_srl = 0, $force_reload = false)
|
||||
{
|
||||
static $member_groups = array();
|
||||
|
||||
// cache controll
|
||||
$group_list = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -467,11 +472,9 @@ class memberModel extends member
|
|||
$group_list = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
static $member_groups = array();
|
||||
|
||||
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
|
||||
{
|
||||
if(!$group_list && !is_array($group_list))
|
||||
if($group_list === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
|
|
@ -516,6 +519,7 @@ class memberModel extends member
|
|||
*/
|
||||
function getDefaultGroup($site_srl = 0, $columnList = array())
|
||||
{
|
||||
$default_group = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -525,7 +529,7 @@ class memberModel extends member
|
|||
$default_group = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$default_group)
|
||||
if($default_group === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->site_srl = $site_srl;
|
||||
|
|
@ -574,6 +578,7 @@ class memberModel extends member
|
|||
$site_srl = 0;
|
||||
}
|
||||
|
||||
$group_list = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -581,9 +586,9 @@ class memberModel extends member
|
|||
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
|
||||
$group_list = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
if(!$group_list)
|
||||
{
|
||||
|
||||
if($group_list === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->site_srl = $site_srl;
|
||||
$args->sort_index = 'list_order';
|
||||
|
|
|
|||
|
|
@ -4,8 +4,9 @@
|
|||
<table name="member_group_member" alias="member_group" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member_group.*" />
|
||||
<column name="member.*" />
|
||||
<column name="site_srl" />
|
||||
<column name="group_srl" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="in" column="member_group.group_srl" var="selected_group_srl" notnull="notnull" />
|
||||
|
|
|
|||
|
|
@ -103,6 +103,125 @@ class menuAdminController extends menu
|
|||
$output->add('menuSrl', $args->menu_srl);
|
||||
return $output;
|
||||
}
|
||||
|
||||
function linkAllModuleInstancesToSitemap()
|
||||
{
|
||||
$unlinked_modules = false;
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
if($output->toBool() && $output->data && count($output->data) > 0)
|
||||
{
|
||||
$unlinked_modules = $output->data;
|
||||
}
|
||||
|
||||
if($unlinked_modules)
|
||||
{
|
||||
$unlinked_menu_srl = $this->getUnlinkedMenu();
|
||||
$output = $this->updateLinkModule($unlinked_modules, $unlinked_menu_srl);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getUnlinkedMenu()
|
||||
{
|
||||
// 'unlinked' menu 존재여부 확인
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('menu');
|
||||
|
||||
if($moduleConfig->unlinked_menu_srl)
|
||||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
if(!$menuOutput->data)
|
||||
{
|
||||
unset($moduleConfig->unlinked_menu_srl);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$moduleConfig->unlinked_menu_srl)
|
||||
{
|
||||
$output = $this->addMenu('unlinked', 0);
|
||||
if($output->toBool())
|
||||
{
|
||||
$moduleConfig->unlinked_menu_srl = $output->get('menuSrl');
|
||||
$oModuleController = getController('module');
|
||||
$oModuleController->updateModuleConfig('menu', $moduleConfig);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return $moduleConfig->unlinked_menu_srl;
|
||||
}
|
||||
|
||||
/**
|
||||
* insert menu when not linked module.
|
||||
*
|
||||
* @param array $moduleInfos
|
||||
* @param int $menuSrl
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
function updateLinkModule($moduleInfos, $menuSrl)
|
||||
{
|
||||
if(!$moduleInfos || !is_array($moduleInfos) || count($moduleInfos) == 0 || $menuSrl == 0)
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
|
||||
foreach($moduleInfos as $moduleInfo)
|
||||
{
|
||||
// search menu.
|
||||
$args = new stdClass;
|
||||
$args->url = $moduleInfo->mid;
|
||||
$args->site_srl = $moduleInfo->site_srl;
|
||||
$args->is_shortcut = 'N';
|
||||
|
||||
$output = executeQuery('menu.getMenuItemByUrl', $args);
|
||||
|
||||
if($output->toBool() && $output->data)
|
||||
{
|
||||
$moduleInfo->menu_srl = $output->data->menu_srl;
|
||||
}
|
||||
else
|
||||
{
|
||||
// create menu item.
|
||||
$item_args->menu_srl = $menuSrl;
|
||||
$item_args->url = $moduleInfo->mid;
|
||||
$item_args->name = $moduleInfo->mid;
|
||||
$item_args->menu_item_srl = getNextSequence();
|
||||
$item_args->listorder = -1*$item_args->menu_item_srl;
|
||||
|
||||
$output = executeQuery('menu.insertMenuItem', $item_args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
$moduleInfo->menu_srl = $menuSrl;
|
||||
}
|
||||
|
||||
$output = executeQuery('module.updateModule', $moduleInfo);
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('site_and_module');
|
||||
}
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->makeXmlFile($menuSrl);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Change the menu title
|
||||
|
|
@ -337,6 +456,7 @@ class menuAdminController extends menu
|
|||
if(strncasecmp('http', $request->shortcut_target, 4) === 0 || preg_match('/^(\.\/|\.\.\/|\/).*$/', $request->shortcut_target))
|
||||
{
|
||||
// set menu variable
|
||||
$args = new stdClass();
|
||||
$args->menu_srl = $request->menu_srl;
|
||||
$args->parent_srl = $request->parent_srl;
|
||||
$args->open_window = $request->menu_open_window;
|
||||
|
|
@ -951,7 +1071,7 @@ class menuAdminController extends menu
|
|||
{
|
||||
foreach($node AS $key=>$node)
|
||||
{
|
||||
unset($args);
|
||||
$args = new stdClass();
|
||||
$args->menu_srl = $menu_srl;
|
||||
$args->menu_item_srl = $node['node_srl'];
|
||||
$output = executeQuery('menu.updateMenuItemNode', $args);
|
||||
|
|
@ -1108,7 +1228,17 @@ class menuAdminController extends menu
|
|||
$insertedMenuItemSrl = $this->get('menu_item_srl');
|
||||
if($menuItemInfo->normal_btn || $menuItemInfo->hover_btn || $menuItemInfo->active_btn)
|
||||
{
|
||||
$this->_copyButton($insertedMenuItemSrl, $menuItemInfo);
|
||||
// copy & upate
|
||||
$update_item_info = $oMenuAdminModel->getMenuItemInfo($insertedMenuItemSrl);
|
||||
$copied_info = $this->_copyButton($insertedMenuItemSrl,$update_item_info->menu_srl, $menuItemInfo);
|
||||
if(count($update_item_info->group_srls) == 0)
|
||||
{
|
||||
unset($update_item_info->group_srls);
|
||||
}
|
||||
$update_item_info->normal_btn = $copied_info['normal_btn'];
|
||||
$update_item_info->hover_btn = $copied_info['hover_btn'];
|
||||
$update_item_info->active_btn = $copied_info['active_btn'];
|
||||
executeQuery('menu.updateMenuItem', $update_item_info);
|
||||
}
|
||||
$this->insertedMenuItemSrlList[] = $insertedMenuItemSrl;
|
||||
}
|
||||
|
|
@ -1460,6 +1590,7 @@ class menuAdminController extends menu
|
|||
if(empty($url)) $url = getNotEncodedFullUrl('', 'module', 'admin');
|
||||
$dbInfo = Context::getDBInfo();
|
||||
|
||||
$args = new stdClass();
|
||||
$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;
|
||||
|
|
@ -2034,34 +2165,43 @@ class menuAdminController extends menu
|
|||
* When copy a menu, button copied also.
|
||||
* @param $args menuItemInfo with button values
|
||||
*/
|
||||
private function _copyButton($insertedMenuItemSrl, &$menuItemInfo)
|
||||
private function _copyButton($insertedMenuItemSrl, $insertedMenuSrl, &$menuItemInfo)
|
||||
{
|
||||
$copied_info = array(
|
||||
"normal_btn"=>"",
|
||||
"hover_btn"=>"",
|
||||
"active_btn"=>"",
|
||||
);
|
||||
//normal_btn
|
||||
if($menuItemInfo->normal_btn)
|
||||
{
|
||||
$originFile = FileHandler::getRealPath($menuItemInfo->normal_btn);
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->normal_btn, $menuItemInfo->menu_srl, $insertedMenuItemSrl, 'normal');
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->normal_btn, $insertedMenuSrl, $insertedMenuItemSrl, 'normal');
|
||||
|
||||
FileHandler::copyFile($originFile, $targetFile);
|
||||
$copied_info['normal_btn'] = $targetFile;
|
||||
}
|
||||
|
||||
//hover_btn
|
||||
if($menuItemInfo->hover_btn)
|
||||
{
|
||||
$originFile = FileHandler::getRealPath($menuItemInfo->hover_btn);
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->hover_btn, $menuItemInfo->menu_srl, $insertedMenuItemSrl, 'hover');
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->hover_btn, $insertedMenuSrl, $insertedMenuItemSrl, 'hover');
|
||||
|
||||
FileHandler::copyFile($originFile, $targetFile);
|
||||
$copied_info['hover_btn'] = $targetFile;
|
||||
}
|
||||
|
||||
//active_btn
|
||||
if($menuItemInfo->active_btn)
|
||||
{
|
||||
$originFile = FileHandler::getRealPath($menuItemInfo->active_btn);
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->active_btn, $menuItemInfo->menu_srl, $insertedMenuItemSrl, 'active');
|
||||
$targetFile = $this->_changeMenuItemSrlInButtonPath($menuItemInfo->active_btn, $insertedMenuSrl, $insertedMenuItemSrl, 'active');
|
||||
|
||||
FileHandler::copyFile($originFile, $targetFile);
|
||||
$copied_info['active_btn'] = $targetFile;
|
||||
}
|
||||
return $copied_info;
|
||||
}
|
||||
|
||||
private function _changeMenuItemSrlInButtonPath($buttonPath, $menuSrl, $menuItemSrl, $mode)
|
||||
|
|
@ -2069,7 +2209,8 @@ class menuAdminController extends menu
|
|||
$path = sprintf('./files/attach/menu_button/%d/', $menuSrl);
|
||||
$tmp_arr = explode('.', $buttonPath);
|
||||
$ext = $tmp_arr[count($tmp_arr)-1];
|
||||
return sprintf('%s%d.%s.%s', $path, $menuItemSrl, 'menu_'.$mode.'_btn', $ext);
|
||||
$date = date("YmdHis");
|
||||
return sprintf('%s%d.%s.%s.%s', $path, $menuItemSrl,$date,'menu_'.$mode.'_btn', $ext);
|
||||
}
|
||||
|
||||
public function makeHomemenuCacheFile($menuSrl)
|
||||
|
|
|
|||
|
|
@ -339,38 +339,41 @@ class menuAdminModel extends menu
|
|||
$oAutoinstallModel = getModel('autoinstall');
|
||||
$this->add('menu_types', $this->getModuleListInSitemap(0));
|
||||
|
||||
$_allModules = $oModuleModel->getModuleList();
|
||||
$_allModules = FileHandler::readDir('./modules', '/^([a-zA-Z0-9_-]+)$/');
|
||||
sort($_allModules);
|
||||
|
||||
$allModules = array();
|
||||
|
||||
Context::loadLang('modules/page/lang');
|
||||
foreach($_allModules as $value)
|
||||
|
||||
foreach($_allModules as $module_name)
|
||||
{
|
||||
//$moduleInfo = $oModuleModel->getModuleInfoXml($value->module);
|
||||
$defaultSkin = $oModuleModel->getModuleDefaultSkin($value->module, 'P');
|
||||
$defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($value->module, 'M');
|
||||
$skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value->module), $defaultSkin);
|
||||
$mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value->module), $defaultMobileSkin, 'm.skins');
|
||||
$value->defaultSkin = new stdClass();
|
||||
$value->defaultSkin->skin = $defaultSkin;
|
||||
$value->defaultSkin->title = $skinInfo->title ? $skinInfo->title : $defaultSkin;
|
||||
$value->defaultMobileSkin = new stdClass();
|
||||
$value->defaultMobileSkin->skin = $defaultMobileSkin;
|
||||
$value->defaultMobileSkin->title = $mobileSkinInfo->title ? $mobileSkinInfo->title : $defaultMobileSkin;
|
||||
$module = $oModuleModel->getModuleInfoXml($module_name);
|
||||
$defaultSkin = $oModuleModel->getModuleDefaultSkin($module_name, 'P');
|
||||
$defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($module_name, 'M');
|
||||
$skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($module_name), $defaultSkin);
|
||||
$mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($module_name), $defaultMobileSkin, 'm.skins');
|
||||
$module->defaultSkin = new stdClass();
|
||||
$module->defaultSkin->skin = $defaultSkin;
|
||||
$module->defaultSkin->title = $skinInfo->title ? $skinInfo->title : $defaultSkin;
|
||||
$module->defaultMobileSkin = new stdClass();
|
||||
$module->defaultMobileSkin->skin = $defaultMobileSkin;
|
||||
$module->defaultMobileSkin->title = $mobileSkinInfo->title ? $mobileSkinInfo->title : $defaultMobileSkin;
|
||||
|
||||
$value->package_srl = $oAutoinstallModel->getPackageSrlByPath('./modules/' . $value->module);
|
||||
$value->url = _XE_LOCATION_SITE_ . '?mid=download&package_srl=' . $value->package_srl;
|
||||
$module->package_srl = $oAutoinstallModel->getPackageSrlByPath('./modules/' . $module_name);
|
||||
$module->url = _XE_LOCATION_SITE_ . '?mid=download&package_srl=' . $module->package_srl;
|
||||
|
||||
if($value->module == 'page')
|
||||
if($module_name == 'page')
|
||||
{
|
||||
$pageTypeName = Context::getLang('page_type_name');
|
||||
$value->title = $pageTypeName['ARTICLE'];
|
||||
$allModules['ARTICLE'] = $value;
|
||||
$wModuleInfo = clone $value;
|
||||
$module->title = $pageTypeName['ARTICLE'];
|
||||
$allModules['ARTICLE'] = $module;
|
||||
$wModuleInfo = clone $module;
|
||||
unset($wModuleInfo->default_skin, $wModuleInfo->default_mskin);
|
||||
$wModuleInfo->title = $pageTypeName['WIDGET'];
|
||||
$wModuleInfo->no_skin = 'Y';
|
||||
$allModules['WIDGET'] = $wModuleInfo;
|
||||
$oModuleInfo = clone $value;
|
||||
$oModuleInfo = clone $module;
|
||||
unset($oModuleInfo->default_skin, $oModuleInfo->default_mskin);
|
||||
$oModuleInfo->title = $pageTypeName['OUTSIDE'];
|
||||
$oModuleInfo->no_skin = 'Y';
|
||||
|
|
@ -378,7 +381,7 @@ class menuAdminModel extends menu
|
|||
}
|
||||
else
|
||||
{
|
||||
$allModules[$value->module] = $value;
|
||||
$allModules[$module_name] = $module;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ class menuAdminView extends menu
|
|||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Site map admin menu index page
|
||||
* @return void
|
||||
|
|
@ -39,6 +40,13 @@ class menuAdminView extends menu
|
|||
else $site_srl = (int)$site_module_info->site_srl;
|
||||
}
|
||||
|
||||
// process for unlinked modules
|
||||
if($site_srl == 0)
|
||||
{
|
||||
$oMenuController = getAdminController('menu');
|
||||
$oMenuController->linkAllModuleInstancesToSitemap();
|
||||
}
|
||||
|
||||
$oAdmin = getClass('admin');
|
||||
|
||||
$oMenuAdminModel = getAdminModel('menu');
|
||||
|
|
|
|||
|
|
@ -39,6 +39,15 @@ class menu extends ModuleObject
|
|||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
$oMenuAdminModel = getAdminModel('menu');
|
||||
$args = new stdClass();
|
||||
$args->title = array("Temporary menu");
|
||||
$temp_menus = executeQueryArray('menu.getMenuByTitle', $args);
|
||||
if($temp_menus->toBool() && count($temp_menus->data)) return true;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -135,6 +144,33 @@ class menu extends ModuleObject
|
|||
|
||||
$this->recompileCache();
|
||||
}
|
||||
|
||||
// for 1.7.4 update, 기존에 생성된 Temporary menu 항목 정리
|
||||
$oMenuAdminModel = getAdminModel('menu');
|
||||
$args = new stdClass();
|
||||
$args->title = array("Temporary menu");
|
||||
$temp_menus = executeQueryArray('menu.getMenuByTitle', $args);
|
||||
|
||||
$args = new stdClass();
|
||||
if($temp_menus->toBool() && count($temp_menus->data))
|
||||
{
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
foreach($temp_menus->data as $menu)
|
||||
{
|
||||
$args->current_menu_srl = $menu->menu_srl;
|
||||
$args->menu_srl = $oMenuAdminController->getUnlinkedMenu();
|
||||
$output3 = executeQuery('menu.updateMenuItems', $args);
|
||||
|
||||
if($output3->toBool())
|
||||
{
|
||||
// delete
|
||||
$oMenuAdminController->deleteMenu($menu->menu_srl);
|
||||
}
|
||||
}
|
||||
|
||||
$this->recompileCache();
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
<div class="control-group">
|
||||
<label for="keepid">
|
||||
<input type="checkbox" name="keep_signed" id="keepid" class="inputCheck" value="Y" onclick="jQuery('#warning')[(jQuery('#keepid:checked').size()>0?'addClass':'removeClass')]('open');" />
|
||||
<input type="checkbox" name="keep_signed" id="keepid" class="inputCheck" value="Y" onclick="jQuery('#warning')[(jQuery('#keepid:checked').size()>0?'addClass':'removeClass')]('open');" />
|
||||
{$lang->keep_signed}
|
||||
</label>
|
||||
<p id="warning">{$lang->about_keep_warning}</p>
|
||||
|
|
|
|||
|
|
@ -108,26 +108,6 @@ class module extends ModuleObject
|
|||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
if(!$moduleConfig->isUpdateFixedValue) return true;
|
||||
|
||||
// 'unlinked' menu 존재여부 확인
|
||||
if(!$moduleConfig->unlinked_menu_srl) return true;
|
||||
else
|
||||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
if(!$menuOutput->data) return true;
|
||||
}
|
||||
|
||||
// menu_srl이 등록되지 않은 mid가 있는지 검사(지정된 menu_srl이 있을 경우, 지정된 menu_item도 있다고 가정)
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
if($output->toBool() && $output->data && count($output->data) > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -436,145 +416,9 @@ class module extends ModuleObject
|
|||
$output = $oModuleController->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
// menu(sitemap)에 링크되지 않은 모듈인스턴스 링크
|
||||
$output1 = $this->linkAllModuleInstancesToSitemap();
|
||||
if(!$output1->toBool()) return $output1;
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
private function linkAllModuleInstancesToSitemap()
|
||||
{
|
||||
// 'unlinked' menu가 있는지 검사
|
||||
$oModuleController = getController('module');
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
|
||||
// 'unlinked menu 생성
|
||||
$menuSrl = 0;
|
||||
if(!$moduleConfig->unlinked_menu_srl)
|
||||
{
|
||||
$menuSrl = $oModuleController->makeUnlinkedMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
if(!$menuOutput->data)
|
||||
{
|
||||
$menuSrl = $oModuleController->makeUnlinkedMenu();
|
||||
}
|
||||
}
|
||||
|
||||
// 'unlinked' menu를 module config에 저장
|
||||
if($menuSrl)
|
||||
{
|
||||
$moduleConfig->unlinked_menu_srl = $menuSrl;
|
||||
$oModuleController->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
// for 1.7.4 update, 기존에 생성된 Temporary menu 항목 정리
|
||||
$oMenuAdminModel = getAdminModel('menu'); // @var $oMenuAdminModel menuAdminModel
|
||||
$args = new stdClass();
|
||||
$args->title = array("Temporary menu");
|
||||
$temp_menus = executeQueryArray('menu.getMenuByTitle', $args);
|
||||
|
||||
$args = new stdClass();
|
||||
foreach($temp_menus->data as $menu)
|
||||
{
|
||||
$args->current_menu_srl = $menu->menu_srl;
|
||||
$args->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$output3 = executeQuery('menu.updateMenuItems', $args);
|
||||
|
||||
if($output3->toBool())
|
||||
{
|
||||
// delete
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->deleteMenu($menu->menu_srl);
|
||||
}
|
||||
}
|
||||
|
||||
// menu_srl이 지정되지 않은 mid가 있는지 검사
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output1 = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
if($output1->toBool() && $output1->data && count($output1->data) > 0)
|
||||
{
|
||||
$output2 = $this->updateLinkModule($output1->data, $menuSrl);
|
||||
if(!$output2->toBool())
|
||||
{
|
||||
return $output2;
|
||||
}
|
||||
}
|
||||
|
||||
return new Object(0,'success');
|
||||
}
|
||||
|
||||
/**
|
||||
* insert menu when not linked module.
|
||||
*
|
||||
* @param array $moduleInfos
|
||||
* @param int $menuSrl
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
private function updateLinkModule($moduleInfos, $menuSrl)
|
||||
{
|
||||
if(!$moduleInfos || !is_array($moduleInfos) || count($moduleInfos) == 0 || $menuSrl == 0)
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
|
||||
foreach($moduleInfos as $moduleInfo)
|
||||
{
|
||||
// search menu.
|
||||
$args = new stdClass;
|
||||
$args->url = $moduleInfo->mid;
|
||||
$args->site_srl = $moduleInfo->site_srl;
|
||||
$args->is_shortcut = 'N';
|
||||
|
||||
$output = executeQuery('menu.getMenuItemByUrl', $args);
|
||||
|
||||
if($output->toBool() && $output->data)
|
||||
{
|
||||
$moduleInfo->menu_srl = $output->data->menu_srl;
|
||||
}
|
||||
else
|
||||
{
|
||||
// create menu item.
|
||||
$item_args->menu_srl = $menuSrl;
|
||||
$item_args->url = $moduleInfo->mid;
|
||||
$item_args->name = $moduleInfo->mid;
|
||||
$item_args->menu_item_srl = getNextSequence();
|
||||
$item_args->listorder = -1*$item_args->menu_item_srl;
|
||||
|
||||
$output = executeQuery('menu.insertMenuItem', $item_args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
$moduleInfo->menu_srl = $menuSrl;
|
||||
}
|
||||
|
||||
$output = executeQuery('module.updateModule', $moduleInfo);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->invalidateGroupKey('site_and_module');
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->makeXmlFile($menuSrl);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function updateForUniqueSiteDomain()
|
||||
{
|
||||
$output = executeQueryArray("module.getNonuniqueDomains");
|
||||
|
|
|
|||
|
|
@ -418,25 +418,15 @@ class moduleController extends module
|
|||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $args->menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
|
||||
// if menu is not created, create menu also. and does not supported that in virtual site.
|
||||
if(!$menuOutput->data && !$args->site_srl)
|
||||
{
|
||||
$oMenuAdminModel = getAdminModel('menu');
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
|
||||
$menuSrl = $moduleConfig->unlinked_menu_srl;
|
||||
if(!$menuSrl)
|
||||
{
|
||||
$menuSrl = $this->makeUnlinkedMenu();
|
||||
|
||||
// 'unlinked' menu를 module config에 저장
|
||||
$moduleConfig->unlinked_menu_srl = $menuSrl;
|
||||
$this->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$menuSrl = $oMenuAdminController->getUnlinkedMenu();
|
||||
|
||||
$menuArgs->menu_srl = $menuSrl;
|
||||
$menuArgs->menu_item_srl = getNextSequence();
|
||||
|
|
@ -455,7 +445,6 @@ class moduleController extends module
|
|||
return $menuItemOutput;
|
||||
}
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->makeXmlFile($menuSrl);
|
||||
}
|
||||
}
|
||||
|
|
@ -484,22 +473,6 @@ class moduleController extends module
|
|||
return $output;
|
||||
}
|
||||
|
||||
function makeUnlinkedMenu()
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->title = 'unlinked';
|
||||
$menuSrl = $args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
|
||||
$output = executeQuery('menu.insertMenu', $args);
|
||||
if($output->toBool())
|
||||
{
|
||||
return $menuSrl;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Modify module information
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ class moduleModel extends module
|
|||
// If domain is set, look for subsite
|
||||
if($domain !== '')
|
||||
{
|
||||
$site_info = false;
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'site_info:' . md5($domain);
|
||||
|
|
@ -125,12 +126,13 @@ class moduleModel extends module
|
|||
$site_info = $oCacheHandler->get($domain_cache_key);
|
||||
}
|
||||
|
||||
if(!$site_info)
|
||||
if($site_info === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->domain = $domain;
|
||||
$output = executeQuery('module.getSiteInfoByDomain', $args);
|
||||
$site_info = $output->data;
|
||||
|
||||
if($oCacheHandler->isSupport()) $oCacheHandler->put($domain_cache_key, $site_info);
|
||||
}
|
||||
|
||||
|
|
@ -145,14 +147,15 @@ class moduleModel extends module
|
|||
// If no virtual website was found, get default website
|
||||
if($domain === '')
|
||||
{
|
||||
$site_info = false;
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'default_site';
|
||||
$default_site_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$module_info = $oCacheHandler->get($default_site_cache_key);
|
||||
$site_info = $oCacheHandler->get($default_site_cache_key);
|
||||
}
|
||||
|
||||
if(!$site_info)
|
||||
if($site_info === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->site_srl = 0;
|
||||
|
|
@ -204,7 +207,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleInfoByMid($mid, $site_srl = 0, $columnList = array())
|
||||
{
|
||||
if(!$mid)
|
||||
if(!$mid || ($mid && !preg_match("/^[a-z][a-z0-9_]+$/i", $mid)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -212,6 +215,10 @@ class moduleModel extends module
|
|||
$args = new stdClass();
|
||||
$args->mid = $mid;
|
||||
$args->site_srl = (int)$site_srl;
|
||||
|
||||
$module_srl = false;
|
||||
$module_info = false;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -226,7 +233,7 @@ class moduleModel extends module
|
|||
}
|
||||
}
|
||||
|
||||
if(!$module_info && !is_array($module_info))
|
||||
if($module_info === false)
|
||||
{
|
||||
$output = executeQuery('module.getMidInfo', $args);
|
||||
$module_info = $output->data;
|
||||
|
|
@ -310,6 +317,9 @@ class moduleModel extends module
|
|||
$moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0;
|
||||
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
|
||||
|
||||
$module_srl = false;
|
||||
$mid_info = false;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -320,10 +330,10 @@ class moduleModel extends module
|
|||
{
|
||||
$object_key = 'mid_info:' . $module_srl;
|
||||
$module_info_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$coutput = $oCacheHandler->get($module_info_cache_key);
|
||||
$mid_info = $oCacheHandler->get($module_info_cache_key);
|
||||
}
|
||||
|
||||
if(!$coutput)
|
||||
if($mid_info === false)
|
||||
{
|
||||
$oCacheHandler->put($module_srl_cache_key, $output->data->module_srl);
|
||||
|
||||
|
|
@ -333,8 +343,8 @@ class moduleModel extends module
|
|||
}
|
||||
else
|
||||
{
|
||||
$coutput->designSettings = $moduleInfo->designSettings;
|
||||
$moduleInfo = $coutput;
|
||||
$mid_info->designSettings = $moduleInfo->designSettings;
|
||||
$moduleInfo = $mid_info;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -356,9 +366,8 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleInfoByModuleSrl($module_srl, $columnList = array())
|
||||
{
|
||||
// Get data
|
||||
$args = new stdClass();
|
||||
$args->module_srl = $module_srl;
|
||||
$mid_info = false;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -367,8 +376,11 @@ class moduleModel extends module
|
|||
$mid_info = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$mid_info && !is_array($mid_info))
|
||||
if($mid_info === false)
|
||||
{
|
||||
// Get data
|
||||
$args = new stdClass();
|
||||
$args->module_srl = $module_srl;
|
||||
$output = executeQuery('module.getMidInfo', $args);
|
||||
if(!$output->toBool()) return;
|
||||
|
||||
|
|
@ -482,6 +494,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getMidList($args = null, $columnList = array())
|
||||
{
|
||||
$list = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -493,7 +506,7 @@ class moduleModel extends module
|
|||
}
|
||||
}
|
||||
|
||||
if(!$list)
|
||||
if($list === false)
|
||||
{
|
||||
if($oCacheHandler->isSupport() && count($args) === 1 && isset($args->site_srl))
|
||||
{
|
||||
|
|
@ -517,6 +530,7 @@ class moduleModel extends module
|
|||
{
|
||||
$mid_list[$val->mid] = $val;
|
||||
}
|
||||
|
||||
return $mid_list;
|
||||
}
|
||||
|
||||
|
|
@ -567,6 +581,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getActionForward($act)
|
||||
{
|
||||
$action_forward = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -576,7 +591,7 @@ class moduleModel extends module
|
|||
}
|
||||
|
||||
// retrieve and caching all registered action_forward
|
||||
if(!$action_forward)
|
||||
if($action_forward === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$output = executeQueryArray('module.getActionForward',$args);
|
||||
|
|
@ -589,20 +604,19 @@ class moduleModel extends module
|
|||
$action_forward[$item->act] = $item;
|
||||
}
|
||||
|
||||
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$oCacheHandler->put($cache_key, $action_forward);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($action_forward[$act])
|
||||
{
|
||||
return $action_forward[$act];
|
||||
}
|
||||
else
|
||||
{
|
||||
return new stdClass();
|
||||
return new stdClass();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -611,6 +625,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getTriggers($trigger_name, $called_position)
|
||||
{
|
||||
$triggers = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', NULL, TRUE);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -620,7 +635,7 @@ class moduleModel extends module
|
|||
$triggers = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$triggers && !is_array($triggers))
|
||||
if($triggers === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->trigger_name = $trigger_name;
|
||||
|
|
@ -1336,6 +1351,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleConfig($module, $site_srl = 0)
|
||||
{
|
||||
$config = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1344,7 +1360,8 @@ class moduleModel extends module
|
|||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$config = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
if(!$config)
|
||||
|
||||
if($config === false)
|
||||
{
|
||||
if(!$GLOBALS['__ModuleConfig__'][$site_srl][$module])
|
||||
{
|
||||
|
|
@ -1352,7 +1369,8 @@ class moduleModel extends module
|
|||
$args->module = $module;
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('module.getModuleConfig', $args);
|
||||
$config = unserialize($output->data->config);
|
||||
if($output->data->config) $config = unserialize($output->data->config);
|
||||
else $config = null;
|
||||
|
||||
//insert in cache
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1373,6 +1391,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModulePartConfig($module, $module_srl)
|
||||
{
|
||||
$config = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1381,15 +1400,17 @@ class moduleModel extends module
|
|||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$config = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
if(!$config)
|
||||
|
||||
if($config === false)
|
||||
{
|
||||
if(!$GLOBALS['__ModulePartConfig__'][$module][$module_srl])
|
||||
if(!isset($GLOBALS['__ModulePartConfig__'][$module][$module_srl]))
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->module = $module;
|
||||
$args->module_srl = $module_srl;
|
||||
$output = executeQuery('module.getModulePartConfig', $args);
|
||||
$config = unserialize($output->data->config);
|
||||
if($output->data->config) $config = unserialize($output->data->config);
|
||||
else $config = null;
|
||||
|
||||
//insert in cache
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1690,6 +1711,7 @@ class moduleModel extends module
|
|||
$get_module_srls = array();
|
||||
if(!is_array($list_module_srl)) $list_module_srl = array($list_module_srl);
|
||||
|
||||
$vars = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1715,7 +1737,7 @@ class moduleModel extends module
|
|||
$get_module_srls = $list_module_srl;
|
||||
}
|
||||
|
||||
if(count($get_module_srls))
|
||||
if(count($get_module_srls) > 0)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->module_srl = implode(',', $get_module_srls);
|
||||
|
|
@ -1760,6 +1782,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleSkinVars($module_srl)
|
||||
{
|
||||
$skin_vars = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -1768,7 +1791,7 @@ class moduleModel extends module
|
|||
$skin_vars = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$skin_vars)
|
||||
if($skin_vars === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->module_srl = $module_srl;
|
||||
|
|
@ -1830,7 +1853,7 @@ class moduleModel extends module
|
|||
|
||||
if($updateCache && $skinName)
|
||||
{
|
||||
$designInfo->module->{$module_name} = new stdClass();
|
||||
if(!isset($designInfo->module->{$module_name})) $designInfo->module->{$module_name} = new stdClass();
|
||||
$designInfo->module->{$module_name}->{$target} = $skinName;
|
||||
|
||||
$oAdminController = getAdminController('admin');
|
||||
|
|
@ -1874,6 +1897,7 @@ class moduleModel extends module
|
|||
*/
|
||||
function getModuleMobileSkinVars($module_srl)
|
||||
{
|
||||
$skin_vars = false;
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
|
|
@ -1882,7 +1906,7 @@ class moduleModel extends module
|
|||
$skin_vars = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
if(!$skin_vars)
|
||||
if($skin_vars === false)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->module_srl = $module_srl;
|
||||
|
|
@ -1908,6 +1932,7 @@ class moduleModel extends module
|
|||
function syncMobileSkinInfoToModuleInfo(&$module_info)
|
||||
{
|
||||
if(!$module_info->module_srl) return;
|
||||
$skin_vars = false;
|
||||
// cache controll
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
|
|
@ -1916,7 +1941,7 @@ class moduleModel extends module
|
|||
$cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$skin_vars = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
if(!$skin_vars)
|
||||
if($skin_vars === false)
|
||||
{
|
||||
$args = new stdClass;
|
||||
$args->module_srl = $module_info->module_srl;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
{$setup_content}
|
||||
|
|
|
|||
|
|
@ -642,7 +642,7 @@ class pointController extends point
|
|||
FileHandler::writeFile($cache_filename, $point);
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object', null, true);
|
||||
if($oCacheHandler->isSupport())
|
||||
if($new_group_list && $del_group_list && $oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'member_groups:' . getNumberingPath($member_srl) . $member_srl . '_0';
|
||||
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
|
||||
|
|
@ -650,7 +650,7 @@ class pointController extends point
|
|||
}
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
if($new_group_list && $del_group_list && $oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'member_info:' . getNumberingPath($member_srl) . $member_srl;
|
||||
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class pointModel extends point
|
|||
if($this->pointList[$member_srl]) return true;
|
||||
|
||||
// Get from file cache
|
||||
$path = sprintf('./files/member_extra_info/point/%s',getNumberingPath($member_srl));
|
||||
$path = sprintf(_XE_PATH_ . 'files/member_extra_info/point/%s',getNumberingPath($member_srl));
|
||||
$cache_filename = sprintf('%s%d.cache.txt', $path, $member_srl);
|
||||
if(file_exists($cache_filename))
|
||||
{
|
||||
|
|
@ -42,7 +42,11 @@ class pointModel extends point
|
|||
if($output->data->member_srl == $member_srl)
|
||||
{
|
||||
if(!$this->pointList[$member_srl])
|
||||
{
|
||||
$this->pointList[$member_srl] = (int)$output->data->point;
|
||||
FileHandler::makeDir($path);
|
||||
FileHandler::writeFile($cache_filename, (int)$output->data->point);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -59,7 +63,7 @@ class pointModel extends point
|
|||
if(!$from_db && $this->pointList[$member_srl]) return $this->pointList[$member_srl];
|
||||
|
||||
// Get from file cache
|
||||
$path = sprintf('./files/member_extra_info/point/%s',getNumberingPath($member_srl));
|
||||
$path = sprintf(_XE_PATH_ . 'files/member_extra_info/point/%s',getNumberingPath($member_srl));
|
||||
$cache_filename = sprintf('%s%d.cache.txt', $path, $member_srl);
|
||||
|
||||
if(!$from_db && file_exists($cache_filename))
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<link rel="self" type="application/atom+xml" href="{$info->id}"/>
|
||||
<generator uri="http://www.xpressengine.com/">XpressEngine</generator>
|
||||
<!--@foreach($document_list as $oDocument)--> <entry>
|
||||
<title><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getTitleText(), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></title>
|
||||
<title><![CDATA[{$oDocument->getTitleText()}]]></title>
|
||||
<id>{$oDocument->getPermanentUrl()}</id>
|
||||
<published>{$oDocument->getRegdate('Y-m-d\TH:i:sP')}</published>
|
||||
<updated>{zdate($oDocument->get('last_update'),'Y-m-d\TH:i:sP')}</updated>
|
||||
|
|
@ -24,9 +24,9 @@
|
|||
<!--@end-->
|
||||
</author>
|
||||
<!--@if($open_rss_config[$oDocument->get('module_srl')]=='Y')-->
|
||||
<content type="html"><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getTransContent(false,false,true), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></content>
|
||||
<content type="html"><![CDATA[{$oDocument->getTransContent(false,false,true)}]]></content>
|
||||
<!--@else-->
|
||||
<summary type="text"><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(100), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></summary>
|
||||
<summary type="text"><![CDATA[{$oDocument->getContentText(100)}]]></summary>
|
||||
<!--@end-->
|
||||
<!--@foreach($oDocument->get('tag_list') as $tag)-->
|
||||
<category term="{str_replace('\'', ''', htmlspecialchars($tag, ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}"/>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<channel rdf:about="{getUrl('','mid',$mid,'module','rss','act','rss','format','rss1.0','page',Context::get('page'),'start_date',Context::get('start_date'),'end_date',Context::get('end_date'))}">
|
||||
<title><![CDATA[{$info->title}]]></title>
|
||||
<link>{$info->link}</link>
|
||||
<description>{str_replace('\'', ''', htmlspecialchars($info->description, ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}</description>
|
||||
<description><![CDATA[{$info->description}</description>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<!--@foreach($document_list as $oDocument)-->
|
||||
|
|
@ -17,9 +17,9 @@
|
|||
</channel>
|
||||
<!--@foreach($document_list as $oDocument)-->
|
||||
<item rdf:about="{$oDocument->getPermanentUrl()}">
|
||||
<title><![CDATA[{str_replace('\'', ''',htmlspecialchars($oDocument->getTitleText(), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></title>
|
||||
<title><![CDATA[{$oDocument->getTitleText()}]]></title>
|
||||
<link>{$oDocument->getPermanentUrl()}</link>
|
||||
<description><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(200), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></description>
|
||||
<description><![CDATA[{$oDocument->getContentText(200)}]]></description>
|
||||
<dc:date>{$oDocument->getRegdate('Y-m-d\TH:i:sP')}</dc:date>
|
||||
</item>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@
|
|||
<comments>{$oDocument->getPermanentUrl()}#comment</comments>
|
||||
<!--@end-->
|
||||
<!--@if($open_rss_config[$oDocument->get('module_srl')]=='Y')-->
|
||||
<description><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getTransContent(false,false,true), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></description>
|
||||
<description><![CDATA[{$oDocument->getTransContent(false,false,true)}]]></description>
|
||||
<!--@else-->
|
||||
<description><![CDATA[{str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(100), ENT_COMPAT | ENT_HTML401, 'UTF-8', false))}]]></description>
|
||||
<description><![CDATA[{$oDocument->getContentText(100)}]]></description>
|
||||
<!--@end-->
|
||||
<pubDate>{$oDocument->getRegdateGM()}</pubDate>
|
||||
<!--@foreach($oDocument->get('tag_list') as $tag)-->
|
||||
|
|
|
|||
|
|
@ -27,32 +27,25 @@ class sessionController extends session
|
|||
function write($session_key, $val)
|
||||
{
|
||||
if(!$session_key || !$this->session_started) return;
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$cache_vars = $oCacheHandler->get($cache_key);
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args = new stdClass;
|
||||
$args->session_key = $session_key;
|
||||
if($cache_vars) $session_info = $cache_vars;
|
||||
else
|
||||
{
|
||||
$output = executeQuery('session.getSession', $args);
|
||||
$session_info = $output->data;
|
||||
}
|
||||
//if ip has changed delete the session from cache and db
|
||||
|
||||
$output = executeQuery('session.getSession', $args);
|
||||
$session_info = $output->data;
|
||||
|
||||
//if ip has changed delete the session from db
|
||||
if($session_info->session_key == $session_key && $session_info->ipaddress != $_SERVER['REMOTE_ADDR'])
|
||||
{
|
||||
if($oCacheHandler->isSupport()) $oCacheHandler->delete($cache_key);
|
||||
executeQuery('session.deleteSession', $args);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
$args->expired = date("YmdHis", $_SERVER['REQUEST_TIME']+$this->lifetime);
|
||||
$args->expired = date("YmdHis", $_SERVER['REQUEST_TIME'] + $this->lifetime);
|
||||
$args->val = $val;
|
||||
$args->cur_mid = Context::get('mid');
|
||||
|
||||
if(!$args->cur_mid)
|
||||
{
|
||||
$module_info = Context::get('current_module_info');
|
||||
|
|
@ -70,43 +63,15 @@ class sessionController extends session
|
|||
}
|
||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||
$args->last_update = date("YmdHis", $_SERVER['REQUEST_TIME']);
|
||||
$diff = $args->last_update - $cache_vars->last_update;
|
||||
//verify if session values have changed
|
||||
if($val == $cache_vars->val)
|
||||
|
||||
//put session into db
|
||||
if($session_info->session_key)
|
||||
{
|
||||
// if more than 5 minutes passed than modify the db session also
|
||||
if($diff > 300)
|
||||
{
|
||||
//put session into cache
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
||||
}
|
||||
//put session into db
|
||||
if($session_info->session_key) $output = executeQuery('session.updateSession', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//put session into cache
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
||||
}
|
||||
}
|
||||
$output = executeQuery('session.updateSession', $args);
|
||||
}
|
||||
else
|
||||
{
|
||||
//put session into cache
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$oCacheHandler->put($cache_key,$args,$this->lifetime);
|
||||
}
|
||||
//put session into db
|
||||
if($session_info->session_key) $output = executeQuery('session.updateSession', $args);
|
||||
else $output = executeQuery('session.insertSession', $args);
|
||||
$output = executeQuery('session.insertSession', $args);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -115,17 +80,12 @@ class sessionController extends session
|
|||
function destroy($session_key)
|
||||
{
|
||||
if(!$session_key || !$this->session_started) return;
|
||||
//remove session from cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
//remove session from db
|
||||
$args = new stdClass();
|
||||
$args->session_key = $session_key;
|
||||
executeQuery('session.deleteSession', $args);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,36 +23,27 @@ class sessionModel extends session
|
|||
{
|
||||
if(!$session_key || !$this->session_started) return;
|
||||
|
||||
$output = new Object();
|
||||
$args = new stdClass();
|
||||
$args->session_key = $session_key;
|
||||
$columnList = array('session_key', 'cur_mid', 'val');
|
||||
$output = executeQuery('session.getSession', $args, $columnList);
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
// Confirm there is a table created if read error occurs
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$cache_key = 'session:'.$session_key;
|
||||
$output->data = $oCacheHandler->get($cache_key);
|
||||
$oDB = DB::getInstance();
|
||||
if(!$oDB->isTableExists('session')) $oDB->createTableByXmlFile($this->module_path.'schemas/session.xml');
|
||||
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||
$output = executeQuery('session.getSession', $args);
|
||||
}
|
||||
|
||||
if(!$output->data)
|
||||
// Check if there is a table created in case there is no "cur_mid" value in the sessions information
|
||||
if(!isset($output->data->cur_mid))
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->session_key = $session_key;
|
||||
$columnList = array('session_key', 'cur_mid', 'val');
|
||||
$output = executeQuery('session.getSession', $args, $columnList);
|
||||
// Confirm there is a table created if read error occurs
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isTableExists('session')) $oDB->createTableByXmlFile($this->module_path.'schemas/session.xml');
|
||||
if(!$oDB->isColumnExists("session","cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||
$output = executeQuery('session.getSession', $args);
|
||||
}
|
||||
// Check if there is a table created in case there is no "cur_mid" value in the sessions information
|
||||
if(!isset($output->data->cur_mid))
|
||||
{
|
||||
$oDB = &DB::getInstance();
|
||||
if(!$oDB->isColumnExists("session","cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||
}
|
||||
$oDB = DB::getInstance();
|
||||
if(!$oDB->isColumnExists("session", "cur_mid")) $oDB->addColumn('session',"cur_mid","varchar",128);
|
||||
}
|
||||
|
||||
return $output->data->val;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class trashAdminController extends trash
|
|||
$this->setMessage('success_deleted', 'info');
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispTrashAdminList', 'origin_module', $originModule);
|
||||
return $this->setRedirectUrl($returnUrl, $output);
|
||||
$this->setRedirectUrl($returnUrl, $output);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
2
modules/widget/tpl/js/generate_code.min.js
vendored
2
modules/widget/tpl/js/generate_code.min.js
vendored
File diff suppressed because one or more lines are too long
2
modules/widget/tpl/js/widget.min.js
vendored
2
modules/widget/tpl/js/widget.min.js
vendored
File diff suppressed because one or more lines are too long
2
modules/widget/tpl/js/widget_admin.min.js
vendored
2
modules/widget/tpl/js/widget_admin.min.js
vendored
File diff suppressed because one or more lines are too long
0
tests/logs/junit.xml
Normal file
0
tests/logs/junit.xml
Normal file
|
|
@ -185,6 +185,7 @@ class content extends WidgetHandler
|
|||
function _getCommentItems($args)
|
||||
{
|
||||
// List variables to use CommentModel::getCommentList()
|
||||
$obj = new stdClass();
|
||||
$obj->module_srl = $args->module_srl;
|
||||
$obj->sort_index = $args->order_target;
|
||||
$obj->list_count = $args->list_count * $args->page_count;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue