Merge pull request #12 from xpressengine/develop

Develop Update
This commit is contained in:
YJSoft 2015-07-10 11:17:25 +09:00
commit 8888d04bcb
56 changed files with 295 additions and 106 deletions

View file

@ -112,7 +112,6 @@ module.exports = function(grunt) {
},
'layout': {
files: {
'layouts/xedition/js/jquery.easing.min.js': ['layouts/xedition/js/jquery.easing.js'],
'layouts/xedition/js/layout.min.js': ['layouts/xedition/js/layout.js'],
'layouts/xedition/js/welcome.min.js': ['layouts/xedition/js/welcome.js'],
}
@ -148,7 +147,6 @@ module.exports = function(grunt) {
},
'layout': {
files: {
'layouts/xedition/css/camera.min.css': ['layouts/xedition/css/camera.css'],
'layouts/xedition/css/layout.min.css': ['layouts/xedition/css/layout.css'],
'layouts/xedition/css/webfont.min.css': ['layouts/xedition/css/webfont.css'],
'layouts/xedition/css/welcome.min.css': ['layouts/xedition/css/welcome.css'],

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -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 void this.oembed(a(d));var e=d.nodeValue,f=a("<span>");e=e.replace(/</g,"&lt;").replace(/>/g,"&gt;"),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);
!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(a,b){var c=this;c.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,"&lt;").replace(/>/g,"&gt;"),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(b,c){if(!this.castedOembedA){var d=this;this.castedOembedA=!0,a(".read_body a").not("_oembed").each(function(){d.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);

View file

@ -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(new Image),c.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),c.live("load",function(){var b=a(window).width(),d=a(window).height();c.css({left:b/2-c.width()/2+"px",top:d/2-c.height()/2+"px"})}),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).removeAttr("width").removeAttr("height"),c.width()>0&&c.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);
!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(new Image),c.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),c.live("load",function(){var b=a(window).width(),d=a(window).height();c.css({left:b/2-c.width()/2+"px",top:d/2-c.height()/2+"px"})}),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(a){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).removeAttr("width").removeAttr("height"),c.width()>0&&c.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(c){var d=a(this).closest(".xe_content"),e=d.find("img[rel=xe_gallery]"),f=a.inArray(a(this).get(0),e.get()),g=b();g.list=e,g.index=f,g.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);

View file

@ -60,6 +60,10 @@ class HTMLDisplayHandler
$output = $oTemplate->compile($template_path, $tpl_file);
// SECISSUE https://github.com/xpressengine/xe-core/issues/1583
$oSecurity = new Security();
$oSecurity->encodeHTML('is_keyword');
// add .x div for adminitration pages
if(Context::getResponseMethod() == 'HTML')
{

File diff suppressed because one or more lines are too long

View file

@ -10,8 +10,7 @@
border: 1px solid #d7d8d8;
border-radius: 3px;
}
/* dropzone */
/* dropzone */
.xefu-dropzone {
padding: 12px;
border: 1px solid #fafafa;
@ -70,12 +69,43 @@
height: 60px;
border: 3px solid #DDD;
}
.xefu-list-images input,
.xefu-list-images button {
.xefu-list-images input {
position: absolute;
top: 0;
left: 0;
}
.xefu-act-set-cover:hover {
color: red;
}
.xefu-list-images .xefu-act-set-cover {
display: none;
cursor: pointer;
position: absolute;
top: 0;
left: auto;
right: 0;
margin: 0;
padding: 1px 0 1px 2px;
border: 0 none;
border-radius: 0 0 0 5px;
font-size: 15px;
line-height: 15px;
background-color: #6cbd7e;
}
.xefu-list-images li:hover .xefu-act-set-cover {
display: inline;
color: #666;
background-color: #ddd;
}
.xefu-list-images .xefu-is-cover-image:hover .xefu-act-set-cover,
.xefu-is-cover-image .xefu-act-set-cover {
display: inline;
color: #fff;
background-color: #6cbd7e;
}
.xefu-is-cover-image {
border-color: #6cbd7e !important;
}
.xefu-list-images .xefu-file-name,
.xefu-list-images .xefu-file-size {
display: none;
@ -87,7 +117,6 @@
.selected {
border-color: #6CBD7E !important;
}
/* END:images */

View file

@ -20,9 +20,10 @@
actSelectedInsertContent : '.xefu-act-link-selected',
actSelectedDeleteFile : '.xefu-act-delete-selected',
actDeleteFile : '.xefu-act-delete',
actSetCover : '.xefu-act-set-cover',
tmplXeUploaderFileitem : '<li class="xefu-file xe-clearfix" data-file-srl="{{file_srl}}"><span class="xefu-file-name">{{source_filename}}</span><span class="xefu-file-info"><span>{{disp_file_size}}</span><span><input type="checkbox" data-file-srl="{{file_srl}}"> 선택</span></span></li>',
tmplXeUploaderFileitemImage: '<li class="xefu-file xefu-file-image" data-file-srl="{{file_srl}}"><strong class="xefu-file-name">{{source_filename}}</strong><span class="xefu-file-info"><span class="xefu-file-size">{{disp_file_size}}</span><span><img src="{{download_url}}" alt=""></span><span><input type="checkbox" data-file-srl="{{file_srl}}"></span></span></li>'
tmplXeUploaderFileitemImage: '<li class="xefu-file xefu-file-image {{#if cover_image}}xefu-is-cover-image{{/if}}" data-file-srl="{{file_srl}}"><strong class="xefu-file-name">{{source_filename}}</strong><span class="xefu-file-info"><span class="xefu-file-size">{{disp_file_size}}</span><span><img src="{{download_url}}" alt=""></span><span><input type="checkbox" data-file-srl="{{file_srl}}"></span><button class="xefu-act-set-cover" data-file-srl="{{file_srl}}" title="커버이미지로 선택"><i class="xi-check-circle"></i></button></span></li>'
};
var _elements = [
@ -30,6 +31,7 @@
'actSelectedInsertContent',
'actSelectedDeleteFile',
'actDeleteFile',
'actSetCover',
'controll',
'dropZone',
'filelist',
@ -150,7 +152,6 @@
// finderSelect
var fileselect = data.settings.fileList.finderSelect({children:"li", enableDesktopCtrlDefault:true});
console.log(data.settings.fileList);
data.settings.fileList.on("mousedown", 'img', function(e){ e.preventDefault(); });
fileselect.finderSelect('addHook','highlight:after', function(el) {
@ -169,6 +170,11 @@
e.preventDefault();
});
fileselect.on("click", ".xefu-act-set-cover", function(e){
e.preventDefault();
self.setCover($container, e.currentTarget);
});
$(document).bind('dragover', function (e) {
var timeout = window.dropZoneTimeout,
@ -273,7 +279,7 @@
/**
* 파일 목록 갱신
*/
loadFilelist: function($container) {
loadFilelist: function($container) {
var self = this;
var data = $container.data();
var obj = {};
@ -281,6 +287,7 @@
obj.editor_sequence = data.editorSequence;
$.exec_json('file.getFileList', obj, function(res){
console.log(res);
data.uploadTargetSrl = res.upload_target_srl;
editorRelKeys[data.editorSequence].primary.value = res.upload_target_srl;
data.uploadTargetSrl = res.uploadTargetSrl;
@ -330,6 +337,21 @@
data.settings.controll.show()
data.settings.fileList.show();
});
},
setCover: function($container, selected_el) {
var data = $container.data();
var $el = $(selected_el);
var file_srl = $el.data().fileSrl;
exec_json('file.procFileSetCoverImage', {'file_srl' : file_srl, 'mid' : window.current_mid, 'editor_sequence' : data.editorSequence}, function(res) {
if(res.error != 0) return;
data.settings.filelistImages.find('li').removeClass('xefu-is-cover-image');
var $parentLi = $el.closest('li');
$parentLi.addClass('xefu-is-cover-image');
});
}
});

File diff suppressed because one or more lines are too long

2
common/js/x.min.js vendored

File diff suppressed because one or more lines are too long

4
common/js/xe.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
/**
* Display XE's full version.
*/
define('__XE_VERSION__', '1.8.3');
define('__XE_VERSION__', '1.8.5');
define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false));
define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false));
define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false));

View file

@ -918,7 +918,7 @@ a:hover, a:active, a:focus {
background-color: rgba(0, 0, 0, 0.2);
cursor: pointer;
}
.pagination {
.swiper-pagination {
position: absolute;
left: 0;
text-align: center;

1
layouts/xedition/css/layout.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
layouts/xedition/css/welcome.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
layouts/xedition/css/xeicon.min.css vendored Normal file
View file

@ -0,0 +1 @@
@charset "utf-8";.body.sub{width:100%!important;margin:0}.body.sub.full_width .content{width:100%!important;padding-bottom:0!important}.XEicon{padding-top:60px}.XEicon .fixedwidth{width:1200px;margin:0 auto}.XEicon .tit{position:relative}.XEicon .tit h1{font-size:29px;text-align:center;letter-spacing:2px}.XEicon .tit h1:after{position:absolute;top:115%;left:49%;width:20px;height:3px;background-color:#cda25a;content:""}.XEicon p a{color:#444}.XEicon p a:active,.XEicon p a:focus,.XEicon p a:hover{color:#cda25a;border-bottom:1px solid #cda25a}.XEicon .main_title h1{margin-bottom:47px;font-size:34px;font-weight:600;color:#cda25a;text-align:center;font-family:Raleway,'나눔바른고딕',NanumBarunGothic,ng,'맑은 고딕','Malgun Gothic','돋움',Dotum,'애플 SD 산돌고딕 Neo','Apple SD Gothic Neo',AppleGothic,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1px}.XEicon .main_title p{font-size:15px;line-height:28px;color:#444;text-align:center}.XEicon .feature{height:518px;padding-top:120px}.XEicon .feature ul{padding-top:80px}.XEicon .feature li{position:relative;float:left;width:314px;min-height:140px;padding:0 16px 0 70px;margin:0 0 30px}.XEicon .feature h2{padding:7px 24px 13px 0;font-size:17px;font-weight:600;line-height:23px;color:#333}.XEicon .feature p{padding:0 24px 0 0;font-size:14px;line-height:26px;color:#888}.XEicon .feature .ico{position:absolute;top:0;left:0;width:48px;height:48px;font-size:22px;text-align:center;line-height:50px;color:#555}.XEicon .get_started{height:550px;padding-top:80px;background:#f6f6f6;box-sizing:border-box}.XEicon .get_started .cont{font-size:15px;margin-top:75px;color:#888}.XEicon .get_started ul{margin:34px -16px 0 0}.XEicon .get_started li{position:relative;float:left;width:286px;height:212px;margin-right:16px;border:1px solid #e8e8e8;background:#fff;text-align:center}.XEicon .get_started li:last-child{margin-right:0}.XEicon .get_started li h2{padding:33px 0 19px;font-size:17px;font-weight:600}.XEicon .get_started li p{padding:0 37px;font-size:14px;line-height:26px;color:#888}.XEicon .get_started li>a{position:absolute;display:block;bottom:0;width:100%;height:50px;background:#888;border-top:1px solid #e1e1e1;line-height:50px;font-size:14px;font-weight:600;text-transform:uppercase;color:#fff;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.XEicon .get_started li>a:active,.XEicon .get_started li>a:focus,.XEicon .get_started li>a:hover{background-color:#cda25a;color:#fff}.XEicon .get_started li>a .xeicon{display:none;margin-right:6px;font-size:140%;vertical-align:middle}.XEicon .get_started li>a:hover .xeicon{display:inline-block;margin-top:-4px}.XEicon .contribution{height:442px;padding-top:93px;box-sizing:border-box;text-align:center}.XEicon .contribution .cont{font-size:15px;line-height:26px;text-align:center;margin-top:58px;color:#888}.XEicon .contribution .btn_github{display:inline-block;margin:50px 0;padding:0 40px;height:52px;border:2px solid #cda25a;background-color:#fff;font-size:15px;line-height:52px;font-weight:600;letter-spacing:1px;color:#cda25a;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.XEicon .contribution .btn_github:active .XEicon .contribution .btn_github:focus,.XEicon .contribution .btn_github:hover{background-color:#cda25a;color:#fff}@media all and (max-width:479px){.XEicon .fixedwidth{width:auto}.XEicon .main_title h1{margin-bottom:28px;font-size:21px}.XEicon .main_title p{padding:0 14px;text-align:left}.XEicon .tit h1{font-size:20px;text-align:center;letter-spacing:2px}.XEicon .tit h1:after{left:50%;margin-left:-10px}.XEicon .feature{height:auto;padding-top:90px}.XEicon .feature ul{padding:50px 14px 0}.XEicon .feature li{clear:both;width:auto;padding:0 0 0 70px}.XEicon .feature h2{padding-top:10px}.XEicon .get_started{height:auto;padding:80px 14px 20px}.XEicon .get_started li{float:none;width:auto;margin-right:0;margin-bottom:15px}.XEicon .contribution .cont{padding:0 14px;text-align:left}}

View file

@ -126,6 +126,11 @@
time: 3000
});
}
// Login help, warning
$("#warning").on('touchend', function(e){
$(this).css('display', 'none');
});
// Scroll to top
var scrollToTop = function() {

1
layouts/xedition/js/layout.min.js vendored Normal file
View file

@ -0,0 +1 @@
!function(a){"use strict";a(function(){var b=300,c=a(".fixed_header .header_wrap"),d=a(".gnb"),e=a(".hover"),f=a(".click > a"),g=a(".search_area");if(c.length){var h=(c.height(),!1),i=c.find(".header h1 img"),j=i.data("logo"),k=i.attr("src");a(window).scroll(function(){var d=a(this).scrollTop();d>=b?h||(c.addClass("shrink"),j&&i.attr("src",j),h=!0):h&&(c.removeClass("shrink"),j&&i.attr("src",k),h=!1)}),a(window).triggerHandler("scroll")}a(document).width()>480&&d.addClass("pc-gnb");var l=a(".pc-gnb");l.find(">ul>li>a").mouseover(function(){d.find(">ul>li>ul:visible").hide().parent("li").removeClass("on"),a(this).next("ul:hidden").stop().fadeIn(200).parent("li").addClass("on")}).focus(function(){a(this).mouseover()}).end().mouseleave(function(){d.find(">ul>li>ul").hide().parent().removeClass("on")}),l.find(">ul>li>ul>li>a").mouseover(function(){d.find(">ul>li>ul>li>ul:visible").hide().parent("li").removeClass("on"),a(this).next("ul:hidden").stop().fadeIn(200).parent("li").addClass("on")}).focus(function(){a(this).mouseover()}).end().mouseleave(function(){d.find(">ul>li>ul>li>ul").hide().parent().removeClass("on")}),a("#mobile_menu_btn").on("click",function(){var b=a(this);b.hasClass("opened")?a("#gnb").find(">ul").slideUp(200):a("#gnb").find(">ul:not(:animated)").slideDown(200),b.toggleClass("opened")}),e.on("mouseenter mouseleave focusin focusout",function(b){b.preventDefault(),"mouseenter"==b.type||"focusin"==b.type?a(this).addClass("on"):a(this).removeClass("on")}),f.click(function(){return g.is(":hidden")&&(g.fadeIn().find("input").focus(),a(".magazine").length>0?(a(".custom_area").css("opacity",0),a(".side").css("opacity",0)):a(".header").css("opacity",0)),!1}),a(".btn_close").click(function(){var b=a(this);return b.parent().fadeOut().find("input").val(""),a(".magazine").length>0?(a(".custom_area").css("opacity",1),a(".side").css("opacity",1)):a(".header").css("opacity",1),f.focus(),!1}),a.isFunction(a.fn.camera)&&a(".camera_wrap").length&&a(".camera_wrap").camera({height:"600px",pagination:!0,thumbnails:!1,playPause:!1,loader:"none",fx:"simpleFade",time:3e3}),a("#warning").on("touchend",function(b){a(this).css("display","none")});var m=function(){var b=a(".btn_top"),c=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;a(window).scroll(function(){a(this).scrollTop()>150&&c>1e3?b.fadeIn(100):b.fadeOut(100)}),b.click(function(){return a("html, body").animate({scrollTop:0},400),!1})};m(),a(".sub_type3 .bg_img").parallax("50%",.4)})}(jQuery),function(a){"use strict";var b=a(window),c=b.height();b.resize(function(){c=b.height()}),a.fn.parallax=function(d,e,f){function g(){var f=b.scrollTop();j.each(function(){var b=a(this),g=b.offset().top,k=h(b);f>g+k||g>f+c||j.css("backgroundPosition",d+" "+Math.round((i-f)*e)+"px")})}var h,i,j=a(this);j.each(function(){i=j.offset().top}),h=f?function(a){return a.outerHeight(!0)}:function(a){return a.height()},(arguments.length<1||null===d)&&(d="50%"),(arguments.length<2||null===e)&&(e=.1),(arguments.length<3||null===f)&&(f=!0),b.bind("scroll",g).resize(g),g()}}(jQuery),function(a){a(function(){a(".bg-holder").parallaxScroll({friction:.2})})}(jQuery);

1
layouts/xedition/js/welcome.min.js vendored Normal file
View file

@ -0,0 +1 @@
!function(a){"user strict";a(function(){a(".fe_box").on("mouseenter mouseleave",function(b){$this=a(this),"mouseenter"==b.type?$this.addClass("on"):$this.removeClass("on")})})}(jQuery),function(a){"user strict";var b=a(window),c=b.height();b.resize(function(){c=b.height()}),a.fn.parallax=function(d,e,f){function g(){var f=b.scrollTop();j.each(function(){var b=a(this),g=b.offset().top,k=h(b);f>g+k||g>f+c||j.css("backgroundPosition",d+" "+Math.round((i-f)*e)+"px")})}var h,i,j=a(this);j.each(function(){i=j.hasClass("xeicon")?j.offset().top+600:j.offset().top}),h=f?function(a){return a.outerHeight(!0)}:function(a){return a.height()},(arguments.length<1||null===d)&&(d="50%"),(arguments.length<2||null===e)&&(e=.1),(arguments.length<3||null===f)&&(f=!0),b.bind("scroll",g).resize(g),g()}}(jQuery);

View file

@ -1,5 +1,5 @@
<!--// META -->
{Context::addHtmlHeader('<meta name="viewport" content="width=device-width, user-scalable=no">')}
{Context::addHtmlHeader('<meta name="viewport" content="width=device-width, user-scalable=yes">')}
<!--// LANG -->
<load target="./lang" />
@ -346,7 +346,7 @@
</div>
<!-- END:슬라이드 -->
<!-- Add Pagination -->
<div class="pagination"></div>
<div class="swiper-pagination"></div>
<div class="swiper-button left"><button type="button" class="swiper-button-prev"><i class="xi-angle-left"></i></button></div>
<div class="swiper-button right"><button type="button" class="swiper-button-next"><i class="xi-angle-right"></i></button></div>
</div>
@ -477,6 +477,7 @@
<span class="checkbox"></span> {$lang->keep_signed}
</label>
<div id="warning">
<p style="text-align:right;"><i class="xi-close"></i></p>
<p>{str_replace('\n\n', '<br />', $lang->about_keep_signed)}</p>
<div class="edge"></div>
</div>
@ -529,7 +530,7 @@ jQuery(document).ready(function () {
var swiper = new Swiper('.swiper-container', {
autoplay: 6000,
loop: true,
pagination: '.pagination',
pagination: '.swiper-pagination',
paginationClickable: true
});
jQuery('.swiper-button-next').on('click', function(e){

File diff suppressed because one or more lines are too long

View file

@ -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),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;
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);"undefined"!=typeof a?b.ftp_root_path.value=a:!b.ftp_root_path.value&&"undefined"!=typeof b.sftp&&b.sftp.checked?b.ftp_root_path.value=xe_root:b.ftp_root_path.value="/";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(a){document.location.reload()}jQuery(function(a){a(".tgContent ul").bind("click",function(){a("#sitefind_addBtn").css("display","")})});var icon=null;

View file

@ -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).closest("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")});
jQuery(function(a){function b(b){var c;if(moduleList=b.menuList,moduleList){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).closest("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(c){if(f[0]===this||f.has(this).length)return!0;var d=b(this,h.get(0));m.push({top:d.top,bottom:d.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(b){var e,g;c=!1,a(document).unbind("mousemove.st mouseup.st"),f.css("opacity",""),$clone.remove(),d.remove(),g=a("<li />").height(f.height()),o&&(e=a(o.element),f.before(g),"prepend"==o.state?(e.find(">ul").length||e.find(">.side").after("<ul>"),e.find(">ul").prepend(f.hide())):e[o.state](f.hide()),f.slideDown(100,function(){f.removeClass("active")}),g.slideUp(100,function(){var a=g.parent();g.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")});

View file

@ -1 +1 @@
function completeInsertBoard(a){var b=(a.error,a.message),c=a.page,d=a.module_srl;alert(b);var e=current_url.setQuery("act","dispBoardAdminBoardInfo");d&&(e=e.setQuery("module_srl",d)),c&&e.setQuery("page",c),location.href=e}function completeDeleteBoard(a){var b=(a.error,a.message),c=a.page;alert(b);var d=current_url.setQuery("act","dispBoardAdminContent").setQuery("module_srl","");c&&(d=d.setQuery("page",c)),location.href=d}function doUpdateCategory(a,b,c){if("undefined"==typeof c||confirm(c)){var d=xGetElementById("fo_category_info");d.category_srl.value=a,d.mode.value=b,procFilter(d,update_category)}}function completeUpdateCategory(a){var b=(a.error,a.message),c=a.module_srl,d=a.page;alert(b);var e=current_url.setQuery("module_srl",c).setQuery("act","dispBoardAdminCategoryInfo");d&&e.setQuery("page",d),location.href=e}function doCartSetup(a){var b=[];jQuery("#fo_list input[name=cart]:checked").each(function(){b[b.length]=jQuery(this).val()}),b.length<1||(a+="&module_srls="+b.join(","),popopen(a,"modulesSetup"))}function doInsertItem(){var a=xGetElementById("targetItem"),b=xGetElementById("displayItem");if(a&&b){for(var c=a.options[a.selectedIndex].text,d=a.options[a.selectedIndex].value,e=0;e<b.options.length;e++)if(b.options[e].value==d)return;var f=new Option(c,d,!0,!0);b.options[b.options.length]=f}}function doDeleteItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;0>b||a.options.length<2||(a.remove(b),a.selectedIndex=b-1)}function doMoveUpItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(1>b)&&b){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b-1].text,a.options[b].value=a.options[b-1].value,a.options[b-1].text=c,a.options[b-1].value=d,a.selectedIndex=b-1}}function doMoveDownItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(b>=a.options.length-1)){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b+1].text,a.options[b].value=a.options[b+1].value,a.options[b+1].text=c,a.options[b+1].value=d,a.selectedIndex=b+1}}function doSaveListConfig(a){if(a){for(var b=xGetElementById("displayItem"),c=(b.selectedIndex,[]),d=0;d<b.options.length;d++)c[c.length]=b.options[d].value;if(!(c.length<1)){var e={};e.module_srl=a,e.list=c.join(",");{new Array("error","message")}exec_json("board.procBoardAdminInsertListConfig",e,function(){location.reload()})}}}
function completeInsertBoard(a){var b=(a.error,a.message),c=a.page,d=a.module_srl;alert(b);var e=current_url.setQuery("act","dispBoardAdminBoardInfo");d&&(e=e.setQuery("module_srl",d)),c&&e.setQuery("page",c),location.href=e}function completeDeleteBoard(a){var b=(a.error,a.message),c=a.page;alert(b);var d=current_url.setQuery("act","dispBoardAdminContent").setQuery("module_srl","");c&&(d=d.setQuery("page",c)),location.href=d}function doUpdateCategory(a,b,c){if("undefined"==typeof c||confirm(c)){var d=xGetElementById("fo_category_info");d.category_srl.value=a,d.mode.value=b,procFilter(d,update_category)}}function completeUpdateCategory(a){var b=(a.error,a.message),c=a.module_srl,d=a.page;alert(b);var e=current_url.setQuery("module_srl",c).setQuery("act","dispBoardAdminCategoryInfo");d&&e.setQuery("page",d),location.href=e}function doCartSetup(a){var b=[];jQuery("#fo_list input[name=cart]:checked").each(function(){b[b.length]=jQuery(this).val()}),b.length<1||(a+="&module_srls="+b.join(","),popopen(a,"modulesSetup"))}function doInsertItem(){var a=xGetElementById("targetItem"),b=xGetElementById("displayItem");if(a&&b){for(var c=a.options[a.selectedIndex].text,d=a.options[a.selectedIndex].value,e=0;e<b.options.length;e++)if(b.options[e].value==d)return;var f=new Option(c,d,!0,!0);b.options[b.options.length]=f}}function doDeleteItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;0>b||a.options.length<2||(a.remove(b),a.selectedIndex=b-1)}function doMoveUpItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(1>b)&&b){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b-1].text,a.options[b].value=a.options[b-1].value,a.options[b-1].text=c,a.options[b-1].value=d,a.selectedIndex=b-1}}function doMoveDownItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(b>=a.options.length-1)){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b+1].text,a.options[b].value=a.options[b+1].value,a.options[b+1].text=c,a.options[b+1].value=d,a.selectedIndex=b+1}}function doSaveListConfig(a){if(a){for(var b=xGetElementById("displayItem"),c=(b.selectedIndex,[]),d=0;d<b.options.length;d++)c[c.length]=b.options[d].value;if(!(c.length<1)){var e={};e.module_srl=a,e.list=c.join(",");new Array("error","message");exec_json("board.procBoardAdminInsertListConfig",e,function(){location.reload()})}}}

View file

@ -543,6 +543,11 @@ class commentItem extends Object
return;
}
if($this->isSecret() && !$this->isGranted())
{
return;
}
// If signiture height setting is omitted, create a square
if(!$height)
{
@ -587,30 +592,33 @@ class commentItem extends Object
if($this->hasUploadedFiles())
{
$file_list = $this->getUploadedFiles();
if(count($file_list))
{
foreach($file_list as $file)
{
if($file->direct_download != 'Y')
{
continue;
}
if(!preg_match("/\.(jpg|png|jpeg|gif|bmp)$/i", $file->source_filename))
{
continue;
}
$first_image = null;
foreach($file_list as $file)
{
if($file->direct_download !== 'Y') continue;
if($file->cover_image === 'Y' && file_exists($file->uploaded_filename))
{
$source_file = $file->uploaded_filename;
if(!file_exists($source_file))
break;
}
if($first_image) continue;
if(preg_match("/\.(jpe?g|png|gif|bmp)$/i", $file->source_filename))
{
if(file_exists($file->uploaded_filename))
{
$source_file = NULL;
}
else
{
break;
$first_image = $file->uploaded_filename;
}
}
}
if(!$source_file && $first_image)
{
$source_file = $first_image;
}
}
// get an image file from the doc content if no file attached.

View file

@ -773,6 +773,12 @@ class documentItem extends Object
{
// Return false if the document doesn't exist
if(!$this->document_srl) return;
if($this->isSecret() && !$this->isGranted())
{
return;
}
// If not specify its height, create a square
if(!$height) $height = $width;
// Return false if neither attachement nor image files in the document
@ -799,27 +805,44 @@ class documentItem extends Object
if(filesize($thumbnail_file)<1) return false;
else return $thumbnail_url;
}
// Target File
$source_file = null;
$is_tmp_file = false;
// Find an iamge file among attached files if exists
if($this->get('uploaded_count'))
{
$oFileModel = getModel('file');
$file_list = $oFileModel->getFiles($this->document_srl, array(), 'file_srl', true);
if(count($file_list))
{
foreach($file_list as $file)
{
if($file->direct_download!='Y') continue;
if(!preg_match("/\.(jpg|png|jpeg|gif|bmp)$/i",$file->source_filename)) continue;
// Find an iamge file among attached files if exists
if($this->hasUploadedFiles())
{
$file_list = $this->getUploadedFiles();
$first_image = null;
foreach($file_list as $file)
{
if($file->direct_download !== 'Y') continue;
if($file->cover_image === 'Y' && file_exists($file->uploaded_filename))
{
$source_file = $file->uploaded_filename;
if(!file_exists($source_file)) $source_file = null;
else break;
break;
}
if($first_image) continue;
if(preg_match("/\.(jpe?g|png|gif|bmp)$/i", $file->source_filename))
{
if(file_exists($file->uploaded_filename))
{
$first_image = $file->uploaded_filename;
}
}
}
if(!$source_file && $first_image)
{
$source_file = $first_image;
}
}
// If not exists, file an image file from the content
if(!$source_file)
{

View file

@ -1 +1 @@
!function(a){var b=xe.createApp("Gallery",{_imgs:{},_styles:{},init:function(){this._imgs={}},API_ADD_IMAGE:function(a,b){var c=b[0],d=b[1],e="@"+c;/^files/.test(d)&&(d=request_uri+d),is_def(this._imgs[e])||(this._imgs[e]=[]),this._imgs[e].push({path:d,loaded:!1})},API_ONREADY:function(){var b,c,d,e,f=this._imgs;for(d in f)if(f.hasOwnProperty(d))for(b=0,c=f[d].length;c>b;b++)e=f[d][b],e.$obj=a("<img />").attr("src",e.path),e.$obj.load({img:e},function(a){var b=a.data.img;b.loaded=!0,b.$obj.unbind("load")})},API_GET_IMAGES:function(a,b){var c=b[0];return this._imgs["@"+c]||[]},API_SET_STYLE:function(a,b){var c=b[0],d=b[1];this._styles["@"+c]=d},API_ONLOAD:function(){var a,b;for(a in this._imgs)this._imgs.hasOwnProperty(a)&&(b=this._styles[a]||"list",this.cast("SHOW_"+b.toUpperCase(),[a.substr(1)]))}});xe.registerApp(new b)}(jQuery);
!function(a){var b=xe.createApp("Gallery",{_imgs:{},_styles:{},init:function(){this._imgs={}},API_ADD_IMAGE:function(a,b){var c=b[0],d=b[1],e="@"+c;/^files/.test(d)&&(d=request_uri+d),is_def(this._imgs[e])||(this._imgs[e]=[]),this._imgs[e].push({path:d,loaded:!1})},API_ONREADY:function(b,c){var d,e,f,g,h=this._imgs;for(f in h)if(h.hasOwnProperty(f))for(d=0,e=h[f].length;e>d;d++)g=h[f][d],g.$obj=a("<img />").attr("src",g.path),g.$obj.load({img:g},function(a){var b=a.data.img;b.loaded=!0,b.$obj.unbind("load")})},API_GET_IMAGES:function(a,b){var c=b[0];return this._imgs["@"+c]||[]},API_SET_STYLE:function(a,b){var c=b[0],d=b[1];this._styles["@"+c]=d},API_ONLOAD:function(){var a,b;for(a in this._imgs)this._imgs.hasOwnProperty(a)&&(b=this._styles[a]||"list",this.cast("SHOW_"+b.toUpperCase(),[a.substr(1)]))}});xe.registerApp(new b)}(jQuery);

View file

@ -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=get_by_id("image_list");jQuery.exec_json("file.getFileList",{editor_sequence:k},function(a){jQuery.each(a.files,function(a,b){var c=b.file_srl;if(c){var d=b.source_filename;if(/\.(jpe?g|png|gif)$/i.test(d)){var e=!1;-1!=i.indexOf(d)&&(e=!0);var f=new Option(b.source_filename,c,!1,e);l.options.add(f),files[b.file_srl]=b}}})})}}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=files[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,files=[];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=get_by_id("image_list");jQuery.exec_json("file.getFileList",{editor_sequence:k},function(a){jQuery.each(a.files,function(a,b){var c=b.file_srl;if(c){var d=b.source_filename;if(/\.(jpe?g|png|gif)$/i.test(d)){var e=!1;-1!=i.indexOf(d)&&(e=!0);var f=new Option(b.source_filename,c,!1,e);l.options.add(f),files[b.file_srl]=b}}})})}}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=files[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,files=[];jQuery(function(a){getSlideShow()});

View file

@ -1,5 +1,6 @@
<!-- css -->
<load target="css/default.css" />
<load target="../../../../common/xeicon/xeicon.min.css" />
<!-- JS -->
<!--%load_js_plugin("ckeditor")-->
@ -67,7 +68,7 @@
settings.loadXeComponent = false;
<!--@endif-->
<!--@if($module_type === 'comment')-->
<!--@if($module_type === 'comment'||Mobile::isMobileCheckByAgent())-->
settings.ckeconfig.toolbarStartupExpanded = false;
<!--@endif-->

View file

@ -1,14 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<lang>
<item name="ckeditor_about_file_drop_area">
<value xml:lang="ko"><![CDATA[여기에 파일을 끌어 놓거나 아래 파일 첨부 버튼을 클릭하세요.]]></value>
<value xml:lang="en"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="jp"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="zh-CN"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="zh-TW"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="ru"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="tr"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="vi"><![CDATA[Drag and drop your files here, or Click attach files button below.]]></value>
<value xml:lang="ko"><![CDATA[여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.]]></value>
<value xml:lang="en"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="jp"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="zh-CN"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="zh-TW"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="ru"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="tr"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
<value xml:lang="vi"><![CDATA[Drag and drop your files here, or Click attach files button.]]></value>
</item>
<item name="ckeditor_file_uploading">
<value xml:lang="ko"><![CDATA[파일 업로드 중...]]></value>
@ -30,4 +30,4 @@
<value xml:lang="tr"><![CDATA[<span class="file_count">0</span> file(s) attached]]></value>
<value xml:lang="vi"><![CDATA[<span class="file_count">0</span> file(s) attached]]></value>
</item>
</lang>
</lang>

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
!function(a){"use strict";function b(b){return a.grep(b,function(c,d){return c.length&&a.inArray(c,b)===d})}var c={bodyClass:"xe_content editable",toolbarCanCollapse:!0,toolbarGroups:[{name:"clipboard",groups:["undo","clipboard"]},{name:"editing",groups:["find","selection"]},{name:"links"},{name:"insert"},{name:"tools"},{name:"document",groups:["mode"]},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},"/",{name:"styles"},{name:"colors"},{name:"xecomponent"},{name:"others"}],allowedContent:!0,removePlugins:"stylescombo,language,bidi,flash,pagebreak",removeButtons:"Save,Preview,Print,Cut,Copy,Paste",uiColor:"#EFF0F0"},d=xe.createApp("XeCkEditor",{ckeconfig:{},editor_sequence:null,init:function(){var a=this;CKEDITOR.on("instanceCreated",function(){a.cast("CKEDITOR_CREATED")}),CKEDITOR.on("ready",function(){a.cast("CKEDITOR_READY")}),CKEDITOR.on("instanceReady",function(){a.cast("CKEDITOR_INSTANCE_READY")}),CKEDITOR.on("instanceLoaded",function(){a.cast("CKEDITOR_LOADED")})},editorInit:function(d,e){{var f=this,g=d,h=g.closest("form"),i=h.find(e.content_field),j=g.data();g.data().editorSequence}this.ckeconfig=a.extend({},c,e.ckeconfig||{}),this.editor_sequence=j.editorSequence,h.attr("editor_sequence",j.editorSequence),CKEDITOR.env.mobile&&(CKEDITOR.env.isCompatible=!0);var k=CKEDITOR.appendTo(g[0],{},i.val());k.on("customConfigLoaded",function(d){if(k.config=a.extend({},d.editor.config,f.ckeconfig),a.isFunction(CKEDITOR.editorConfig)){var g={};CKEDITOR.editorConfig(g),a.each(g,function(a,b){k.config[a]=b})}var h=d.editor.config.bodyClass.split(" ");if(h.push(c.bodyClass),h=b(h),k.config.bodyClass=h.join(" "),e.loadXeComponent){var i=d.editor.config.extraPlugins.split(",");i.push("xe_component"),i=b(i),k.config.extraPlugins=i.join(",")}e.enableToolbar||(k.config.toolbar=[])}),g.data("cke_instance",k),window.editorRelKeys[j.editorSequence]={},window.editorRelKeys[j.editorSequence].primary=h.find("[name="+j.editorPrimaryKeyName+"]")[0],window.editorRelKeys[j.editorSequence].content=h.find("[name="+j.editorContentKeyName+"]")[0],window.editorRelKeys[j.editorSequence].func=function(a){return f.getContent.call(f,a)},window.editorRelKeys[j.editorSequence].pasteHTML=function(a){k.insertHtml(a,"html")}},getContent:function(a){var b=this,c=_getCkeInstance(a).getData();return b.cast("GET_CONTENT",[c]),c},getInstance:function(a){return CKEDITOR.instances[a]},API_EDITOR_CREATED:function(){}});a.fn.XeCkEditor=function(a){var b=new d(this.eq(0),a);return b&&(xe.registerApp(b),b.editorInit(this.eq(0),a)),b},window.xe.XeCkEditor=function(){var a=new d;return a}}(jQuery);
!function(a){"use strict";function b(b){return a.grep(b,function(c,d){return c.length&&a.inArray(c,b)===d})}var c={bodyClass:"xe_content editable",toolbarCanCollapse:!0,toolbarGroups:[{name:"clipboard",groups:["undo","clipboard"]},{name:"editing",groups:["find","selection"]},{name:"links"},{name:"insert"},{name:"tools"},{name:"document",groups:["mode"]},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},"/",{name:"styles"},{name:"colors"},{name:"xecomponent"},{name:"others"}],allowedContent:!0,removePlugins:"stylescombo,language,bidi,flash,pagebreak",removeButtons:"Save,Preview,Print,Cut,Copy,Paste",uiColor:"#EFF0F0"},d=xe.createApp("XeCkEditor",{ckeconfig:{},editor_sequence:null,init:function(){var a=this;CKEDITOR.on("instanceCreated",function(b){a.cast("CKEDITOR_CREATED")}),CKEDITOR.on("ready",function(b){a.cast("CKEDITOR_READY")}),CKEDITOR.on("instanceReady",function(b){a.cast("CKEDITOR_INSTANCE_READY")}),CKEDITOR.on("instanceLoaded",function(b){a.cast("CKEDITOR_LOADED")})},editorInit:function(d,e){var f=this,g=d,h=g.closest("form"),i=h.find(e.content_field),j=g.data();g.data().editorSequence;this.ckeconfig=a.extend({},c,e.ckeconfig||{}),this.editor_sequence=j.editorSequence,h.attr("editor_sequence",j.editorSequence),CKEDITOR.env.mobile&&(CKEDITOR.env.isCompatible=!0);var k=CKEDITOR.appendTo(g[0],{},i.val());k.on("customConfigLoaded",function(d){if(k.config=a.extend({},d.editor.config,f.ckeconfig),a.isFunction(CKEDITOR.editorConfig)){var g={};CKEDITOR.editorConfig(g),a.each(g,function(a,b){k.config[a]=b})}var h=d.editor.config.bodyClass.split(" ");if(h.push(c.bodyClass),h=b(h),k.config.bodyClass=h.join(" "),e.loadXeComponent){var i=d.editor.config.extraPlugins.split(",");i.push("xe_component"),i=b(i),k.config.extraPlugins=i.join(",")}e.enableToolbar||(k.config.toolbar=[])}),g.data("cke_instance",k),window.editorRelKeys[j.editorSequence]={},window.editorRelKeys[j.editorSequence].primary=h.find("[name="+j.editorPrimaryKeyName+"]")[0],window.editorRelKeys[j.editorSequence].content=h.find("[name="+j.editorContentKeyName+"]")[0],window.editorRelKeys[j.editorSequence].func=function(a){return f.getContent.call(f,a)},window.editorRelKeys[j.editorSequence].pasteHTML=function(a){k.insertHtml(a,"html")}},getContent:function(a){var b=this,c=_getCkeInstance(a).getData();return b.cast("GET_CONTENT",[c]),c},getInstance:function(a){return CKEDITOR.instances[a]},API_EDITOR_CREATED:function(){}});a.fn.XeCkEditor=function(a){var b=new d(this.eq(0),a);return b&&(xe.registerApp(b),b.editorInit(this.eq(0),a)),b},window.xe.XeCkEditor=function(){var a=new d;return a}}(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -19,6 +19,7 @@
<action name="procFileAdminInsertModuleConfig" type="controller" ruleset="fileModuleConfig" />
<action name="procFileAdminAddCart" type="controller" />
<action name="procFileGetList" type="controller" />
<action name="procFileSetCoverImage" type="controller" />
</actions>
<menus>
<menu name="file">

View file

@ -78,6 +78,8 @@ class file extends ModuleObject
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'file', 'controller', 'triggerCopyModule', 'after')) return true;
if(!$oDB->isColumnExists('files', 'cover_image')) return true;
return false;
}
@ -139,6 +141,8 @@ class file extends ModuleObject
$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'file', 'controller', 'triggerCopyModule', 'after');
}
if(!$oDB->isColumnExists('files', 'cover_image')) $oDB->addColumn('files', 'cover_image', 'char', '1', 'N');
return new Object(0, 'success_updated');
}

View file

@ -935,6 +935,52 @@ class fileController extends file
}
}
public function procFileSetCoverImage()
{
$vars = Context::getRequestVars();
$logged_info = Context::get('logged_info');
if(!$vars->editor_sequence) return new Object(-1, 'msg_invalid_request');
$upload_target_srl = $_SESSION['upload_info'][$vars->editor_sequence]->upload_target_srl;
$oFileModel = getModel('file');
$file_info = $oFileModel->getFile($vars->file_srl);
if(!$file_info) return new Object(-1, 'msg_not_founded');
if(!$this->manager && !$file_info->member_srl === $logged_info->member_srl) return new Object(-1, 'msg_not_permitted');
$args = new stdClass();
$args->file_srl = $vars->file_srl;
$args->upload_target_srl = $upload_target_srl;
$oDB = &DB::getInstance();
$oDB->begin();
$args->cover_image = 'N';
$output = executeQuery('file.updateClearCoverImage', $args);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$args->cover_image = 'Y';
$output = executeQuery('file.updateCoverImage', $args);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
$oDB->commit();
// 썸네일 삭제
$thumbnail_path = sprintf('files/thumbnails/%s', getNumberingPath($upload_target_srl, 3));
Filehandler::removeFilesInDir($thumbnail_path);
}
/**
* Find the attachment where a key is upload_target_srl and then return java script code
*
@ -965,3 +1011,4 @@ class fileController extends file
}
/* End of file file.controller.php */
/* Location: ./modules/file/file.controller.php */

View file

@ -49,6 +49,7 @@ class fileModel extends file
if($file_info->direct_download=='N') $obj->download_url = $this->getDownloadUrl($file_info->file_srl, $file_info->sid, $file_info->module_srl);
else $obj->download_url = str_replace('./', '', $file_info->uploaded_filename);
$obj->direct_download = $file_info->direct_download;
$obj->cover_image = ($file_info->cover_image === 'Y') ? true : false;
$files[] = $obj;
$attached_size += $file_info->file_size;
}

View file

@ -0,0 +1,9 @@
<query id="getCoverImage" action="select">
<tables>
<table name="files" />
</tables>
<conditions>
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
<condition operation="equal" column="cover_image" default="Y" notnull="notnull" />
</conditions>
</query>

View file

@ -14,6 +14,7 @@
<column name="comment" var="comment" />
<column name="download_count" var="download_count" default="0" />
<column name="member_srl" var="member_srl" default="0" />
<column name="cover_image" var="is_cover" default="N" />
<column name="regdate" var="regdate" default="curdate()" />
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
<column name="isvalid" var="isvalid" default="N" />

View file

@ -0,0 +1,13 @@
<query id="updateClearCoverImage" action="update">
<tables>
<table name="files" />
</tables>
<columns>
<column name="cover_image" default="N" notnull="notnull" />
</columns>
<conditions>
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" notnull="notnull" />
<condition operation="equal" column="cover_image" default="Y" notnull="notnull" pipe="and" />
<condition operation="notequal" column="file_srl" var="cover_file_srl" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,11 @@
<query id="updateCoverImage" action="update">
<tables>
<table name="files" />
</tables>
<columns>
<column name="cover_image" var="cover_image" default="Y" notnull="notnull" />
</columns>
<conditions>
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -7,6 +7,7 @@
<column name="upload_target_type" var="upload_target_type" />
<column name="module_srl" var="module_srl" filter="number" notnull="notnull" />
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
<column name="cover_image" var="is_cover" default="N" />
</columns>
<conditions>
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />

View file

@ -12,6 +12,7 @@
<column name="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
<column name="comment" type="varchar" size="250" />
<column name="isvalid" type="char" size="1" default="N" index="idx_is_valid" />
<column name="cover_image" type="char" size="1" default="N" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" index="idx_regdate" />
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
</table>

View file

@ -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+"&nbsp;").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()});
function doSync(a){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,c){function d(){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 i,j,k,l;for(i=0,j=e.length;j>i;i++)k=e[i],g[k]?g[k].value=b[k]: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):(l=get_by_id(a),null!=l&&l.isSync.checked?exec_xml("importer","procImporterAdminSync",h,function(a){!a||a.error&&"0"!=a.error||d()},e=["error","message"]):d())}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+"&nbsp;").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()});

View file

@ -80,13 +80,12 @@ class memberAdminController extends member
}
// remove whitespace
$checkInfos = array('user_id', 'nick_name', 'email_address');
$replaceStr = array("\r\n", "\r", "\n", " ", "\t", "\xC2\xAD");
$checkInfos = array('user_id', 'user_name', 'nick_name', 'email_address');
foreach($checkInfos as $val)
{
if(isset($args->{$val}))
{
$args->{$val} = str_replace($replaceStr, '', $args->{$val});
$args->{$val} = preg_replace('/[\pZ\pC]+/u', '', $args->{$val});
}
}

View file

@ -331,7 +331,7 @@ class memberController extends member
{
if(isset($args->{$val}))
{
$args->{$val} = preg_replace('/[\pZ\pC]+/', '', $args->{$val});
$args->{$val} = preg_replace('/[\pZ\pC]+/u', '', $args->{$val});
}
}
$output = $this->insertMember($args);
@ -543,7 +543,7 @@ class memberController extends member
{
if(isset($args->{$val}))
{
$args->{$val} = preg_replace('/[\pZ\pC]+/', '', $args->{$val});
$args->{$val} = preg_replace('/[\pZ\pC]+/u', '', $args->{$val});
}
}
@ -2119,7 +2119,7 @@ class memberController extends member
}
// Sanitize user ID, username, nickname, homepage, blog
$args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
if($args->user_id) $args->user_id = htmlspecialchars($args->user_id, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
$args->user_name = htmlspecialchars($args->user_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
$args->nick_name = htmlspecialchars($args->nick_name, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
$args->homepage = htmlspecialchars($args->homepage, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
@ -2137,14 +2137,19 @@ class memberController extends member
if($config->identifier == 'email_address')
{
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address);
if($member_srl&&$args->member_srl!=$member_srl) return new Object(-1,'msg_exists_email_address');
if($member_srl && $args->member_srl != $member_srl)
{
return new Object(-1,'msg_exists_email_address');
}
$args->email_address = $orgMemberInfo->email_address;
}
else
{
$member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id);
if($member_srl&&$args->member_srl!=$member_srl) return new Object(-1,'msg_exists_user_id');
if($member_srl && $args->member_srl != $member_srl)
{
return new Object(-1,'msg_exists_user_id');
}
$args->user_id = $orgMemberInfo->user_id;
}
@ -2156,10 +2161,13 @@ class memberController extends member
}
// Check if ID is duplicate
$member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id);
if($member_srl && $orgMemberInfo->user_id != $args->user_id)
if($args->user_id)
{
return new Object(-1,'msg_exists_user_id');
$member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id);
if($member_srl && $args->member_srl != $member_srl)
{
return new Object(-1,'msg_exists_user_id');
}
}
// Check if nickname is prohibited
@ -2170,7 +2178,7 @@ class memberController extends member
// Check if nickname is duplicate
$member_srl = $oMemberModel->getMemberSrlByNickName($args->nick_name);
if($member_srl && $orgMemberInfo->nick_name != $args->nick_name)
if($member_srl && $args->member_srl != $member_srl)
{
return new Object(-1,'msg_exists_nick_name');
}

View file

@ -728,11 +728,8 @@ class menuAdminController extends menu
if($request->menu_desc) $args->desc = $request->menu_desc;
else $args->desc = '';
if(count($args->group_srls) == 0)
{
unset($args->group_srls);
}
unset($args->group_srls);
$args->open_window = $request->menu_open_window;
$args->expand = $request->menu_expand;
$output = executeQuery('menu.updateMenuItem', $args);

View file

@ -1 +1 @@
function doDisplaySkinColorset(a,b){var c=a.options[a.selectedIndex].value,d=new Array;d.skin=c,d.colorset=b;var e=new Array("error","message","colorset_list");exec_xml("poll","getPollGetColorsetList",d,completeGetSkinColorset,e,d)}function completeGetSkinColorset(a,b,c){for(var d=get_by_id("fo_poll").poll_colorset,e=d.options.length,f=c.colorset,g=0;e>g;g++)d.remove(0);for(var h=a.colorset_list.split("\n"),i=0,g=0;g<h.length;g++){var j=h[g].split("|@|");f&&f==j[0]&&(i=g);var k=new Option(j[1],j[0],!1,!1);d.options.add(k)}d.selectedIndex=i}function doMovePoll(a,b){var c=new Array;c.poll_srl=a,c.upload_target_srl=b;var d=new Array("error","message","document_srl","comment_srl");exec_xml("poll","getPollAdminTarget",c,completeMovePoll,d)}function completeMovePoll(a){var b=a.document_srl,c=a.comment_srl,d=request_uri.setQuery("document_srl",b);c&&(d=d+"#comment_"+c),winopen(d,"pollTarget")}function checkSearch(a){return""==a.search_target.value?(alert(xe.lang.msg_empty_search_target),!1):""==a.search_keyword.value?(alert(xe.lang.msg_empty_search_keyword),!1):void 0}jQuery(function(a){a("#pollList").submit(function(b){var c=a("#pollList tbody :checked").length;if(0==c)return b.stopPropagation(),alert(xe.lang.msg_select_poll),!1;var d=xe.lang.confirm_poll_delete.replace("%s",c);return confirm(d)?void 0:(b.stopPropagation(),!1)})});
function doDisplaySkinColorset(a,b){var c=a.options[a.selectedIndex].value,d=new Array;d.skin=c,d.colorset=b;var e=new Array("error","message","colorset_list");exec_xml("poll","getPollGetColorsetList",d,completeGetSkinColorset,e,d)}function completeGetSkinColorset(a,b,c,d){for(var e=get_by_id("fo_poll").poll_colorset,f=e.options.length,g=c.colorset,h=0;f>h;h++)e.remove(0);for(var i=a.colorset_list.split("\n"),j=0,h=0;h<i.length;h++){var k=i[h].split("|@|");g&&g==k[0]&&(j=h);var l=new Option(k[1],k[0],!1,!1);e.options.add(l)}e.selectedIndex=j}function doMovePoll(a,b){var c=new Array;c.poll_srl=a,c.upload_target_srl=b;var d=new Array("error","message","document_srl","comment_srl");exec_xml("poll","getPollAdminTarget",c,completeMovePoll,d)}function completeMovePoll(a,b){var c=a.document_srl,d=a.comment_srl,e=request_uri.setQuery("document_srl",c);d&&(e=e+"#comment_"+d),winopen(e,"pollTarget")}function checkSearch(a){return""==a.search_target.value?(alert(xe.lang.msg_empty_search_target),!1):""==a.search_keyword.value?(alert(xe.lang.msg_empty_search_keyword),!1):void 0}jQuery(function(a){a("#pollList").submit(function(b){var c=a("#pollList tbody :checked").length;if(0==c)return b.stopPropagation(),alert(xe.lang.msg_select_poll),!1;var d=xe.lang.confirm_poll_delete.replace("%s",c);return confirm(d)?void 0:(b.stopPropagation(),!1)})});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long