diff --git a/.travis.yml b/.travis.yml index 03e76fdb9..72a55f5ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ matrix: allow_failures: - php: 7 - php: hhvm +sudo: false before_script: - travis_retry composer self-update - npm install -g grunt-cli diff --git a/Gruntfile.js b/Gruntfile.js index 8c46bc8ee..326bbc019 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -299,7 +299,17 @@ module.exports = function(grunt) { grunt.file.delete('build/xe'); grunt.file.delete('build/temp.full.tar'); - grunt.log.ok('Done!'); + grunt.util.spawn({ + cmd: "git", + args: ['diff', '--name-status', target] + }, function (error, result, code) { + var fs = require('fs'); + result = 'Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R).' + grunt.util.linefeed + result; + grunt.file.write(build_dir + '/CHANGED.' + version + '.txt', result); + + grunt.log.ok('Done!'); + }); + }); }); } diff --git a/classes/extravar/Extravar.class.php b/classes/extravar/Extravar.class.php index 7438db2b9..821a7c62b 100644 --- a/classes/extravar/Extravar.class.php +++ b/classes/extravar/Extravar.class.php @@ -289,6 +289,16 @@ class ExtraItem } } + /** + * Returns a value for HTML + * + * @return string Returns a value expressed in HTML. + */ + function getValue() + { + return $this->_getTypeValue($this->type, $this->value); + } + /** * Returns a value for HTML * diff --git a/common/js/plugins/jquery.fileupload/js/app.js b/common/js/plugins/jquery.fileupload/js/app.js index 47b4f923b..548a60d31 100755 --- a/common/js/plugins/jquery.fileupload/js/app.js +++ b/common/js/plugins/jquery.fileupload/js/app.js @@ -37,7 +37,7 @@ // send Blob objects via XHR requests: disableImageResize: /Android(?!.*Chrome)|Opera/ .test(window.navigator.userAgent), - maxFileSize: 5000000, + maxFileSize: 999000, acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i }); } diff --git a/common/js/plugins/jquery.fileupload/js/jquery.fileupload-image.js b/common/js/plugins/jquery.fileupload/js/jquery.fileupload-image.js index 0ac993650..266b088de 100755 --- a/common/js/plugins/jquery.fileupload/js/jquery.fileupload-image.js +++ b/common/js/plugins/jquery.fileupload/js/jquery.fileupload-image.js @@ -242,7 +242,7 @@ blob.name = file.name; } else if (file.name) { blob.name = file.name.replace( - /\..+$/, + /\.\w+$/, '.' + blob.type.substr(6) ); } diff --git a/common/js/plugins/jquery.fileupload/js/jquery.fileupload.js b/common/js/plugins/jquery.fileupload/js/jquery.fileupload.js index e99f3091e..ab0748fc0 100755 --- a/common/js/plugins/jquery.fileupload/js/jquery.fileupload.js +++ b/common/js/plugins/jquery.fileupload/js/jquery.fileupload.js @@ -1,5 +1,5 @@ /* - * jQuery File Upload Plugin 5.42.2 + * jQuery File Upload Plugin 5.42.3 * https://github.com/blueimp/jQuery-File-Upload * * Copyright 2010, Sebastian Tschan @@ -277,7 +277,8 @@ // The following are jQuery ajax settings required for the file uploads: processData: false, contentType: false, - cache: false + cache: false, + timeout: 0 }, // A list of options that require reinitializing event listeners and/or @@ -983,7 +984,10 @@ fileSet, i, j = 0; - if (limitSize && (!filesLength || files[0].size === undefined)) { + if (!filesLength) { + return false; + } + if (limitSize && files[0].size === undefined) { limitSize = undefined; } if (!(options.singleFileUploads || limit || limitSize) || @@ -1344,18 +1348,19 @@ _initDataAttributes: function () { var that = this, options = this.options, - clone = $(this.element[0].cloneNode(false)), - data = clone.data(); - // Avoid memory leaks: - clone.remove(); + data = this.element.data(); // Initialize options set via HTML5 data-attributes: $.each( - data, - function (key, value) { - var dataAttributeName = 'data-' + - // Convert camelCase to hyphen-ated key: - key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); - if (clone.attr(dataAttributeName)) { + this.element[0].attributes, + function (index, attr) { + var key = attr.name.toLowerCase(), + value; + if (/^data-/.test(key)) { + // Convert hyphen-ated key to camelCase: + key = key.slice(5).replace(/-[a-z]/g, function (str) { + return str.charAt(1).toUpperCase(); + }); + value = data[key]; if (that._isRegExpOption(key, value)) { value = that._getRegExp(value); } diff --git a/common/js/plugins/jquery.fileupload/js/main.js b/common/js/plugins/jquery.fileupload/js/main.js index ef10b9327..bea43071d 100644 --- a/common/js/plugins/jquery.fileupload/js/main.js +++ b/common/js/plugins/jquery.fileupload/js/main.js @@ -60,6 +60,8 @@ last_selected_file: null, }); + var currentEnforce_ssl = window.enforce_ssl; + if(location.protocol == 'https:') { window.enforce_ssl = true; } var settings = { url: request_uri @@ -122,6 +124,8 @@ } } }; + window.enforce_ssl = currentEnforce_ssl; + data.settings = $.extend({} , default_settings, settings, opt || {}); $container.data(data); @@ -287,7 +291,6 @@ 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; @@ -366,8 +369,6 @@ return u; }; - - xe.unregisterApp(); })(jQuery); diff --git a/common/js/plugins/jquery.fileupload/js/main.min.js b/common/js/plugins/jquery.fileupload/js/main.min.js index 65a24873d..f1ce324d2 100644 --- a/common/js/plugins/jquery.fileupload/js/main.min.js +++ b/common/js/plugins/jquery.fileupload/js/main.min.js @@ -1 +1 @@ -!function(a){"use strict";var b={autoUpload:!0,dataType:"json",sequentialUploads:!0,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",actSetCover:".xefu-act-set-cover",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","actSetCover","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{settings:{},init:function(){},deactivate:function(){},createInstance:function(d,e){var f=this,g=d,h=g.data();a.extend(h,{files:{},selected_files:{},settings:{},last_selected_file:null});var i={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload").setQuery("mid",window.current_mid),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid,act:"procFileUpload"},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return h.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist(g)},start:function(){h.settings.progressbarGraph.width(0),h.settings.progressStatus.show(),h.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);h.settings.progressbarGraph.width(c+"%"),h.settings.progressPercent.text(c+"%"),c>=100&&(h.settings.progressbar.delay(3e3).slideUp(),h.settings.progressStatus.delay(3e3).slideUp())}};h.settings=a.extend({},b,i,e||{}),g.data(h),a.each(c,function(a,b){"string"==typeof h.settings[b]&&(h.settings[b]=g.find(h.settings[b]))});g.fileupload(h.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(g),h.settings.actSelectedInsertContent.on("click",function(){f.insertToContent(g)}),h.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile(g)});var j=h.settings.fileList.finderSelect({children:"li",enableDesktopCtrlDefault:!0});h.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),j.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=h.settings.fileList.find("input:checked");h.selected_files=b}),j.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=h.settings.fileList.find("input:checked");h.selected_files=b}),j.on("click",":checkbox",function(a){a.preventDefault()}),j.on("click",".xefu-act-set-cover",function(a){a.preventDefault(),f.setCover(g,a.currentTarget)}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout,c=h.settings.dropZone;b?clearTimeout(b):c.addClass("in");var d=!1,e=a.target;do{if(e===c[0]){d=!0;break}e=e.parentNode}while(null!=e);d?c.addClass("hover"):c.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,c.removeClass("in hover")},100)}),g.data(h)},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(b){var c="",d=b.data();a.each(d.selected_files,function(b,e){var f=a(e).data().fileSrl,g=d.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(d.editorSequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b,c){var d=this,e=[],f=b.data();c?e.push(c):a.each(f.selected_files,function(b,c){if(c){var d=a(c).data().fileSrl;e.push(d)}}),e=e.join(","),exec_json("file.procFileDelete",{file_srls:e,editor_sequence:f.editorSequence},function(){e=e.split(","),a.each(e,function(a,b){f.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),d.loadFilelist(b)})},loadFilelist:function(b){var c=b.data(),d={};d.mid=window.current_mid,d.editor_sequence=c.editorSequence,a.exec_json("file.getFileList",d,function(d){console.log(d),c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[c.editorSequence].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,b.find(".allowed_filetypes").text(d.allowed_filetypes),b.find(".allowed_filesize").text(d.allowed_filesize),b.find(".allowed_attach_size").text(d.allowed_attach_size),b.find(".attached_size").text(d.attached_size),b.find(".file_count").text(d.files.length);var e=c.settings.tmplXeUploaderFileitem,f=c.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,d){c.files[d.file_srl]||(c.files[d.file_srl]=d,b.data(c),/\.(jpe?g|png|gif)$/i.test(d.source_filename)?i.push(h(d)):j.push(g(d)))}),c.settings.filelistImages.append(i.join("")),c.settings.filelist.append(j.join("")),c.settings.controll.show(),void c.settings.fileList.show()):(c.settings.fileList.hide(),void c.settings.controll.hide())})},setCover:function(b,c){var d=b.data(),e=a(c),f=e.data().fileSrl;exec_json("file.procFileSetCoverImage",{file_srl:f,mid:window.current_mid,editor_sequence:d.editorSequence},function(a){if(0==a.error){d.settings.filelistImages.find("li").removeClass("xefu-is-cover-image");var b=e.closest("li");b.addClass("xefu-is-cover-image")}})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b},xe.unregisterApp()}(jQuery); \ No newline at end of file +!function(a){"use strict";var b={autoUpload:!0,dataType:"json",sequentialUploads:!0,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",actSetCover:".xefu-act-set-cover",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","actSetCover","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{settings:{},init:function(){},deactivate:function(){},createInstance:function(d,e){var f=this,g=d,h=g.data();a.extend(h,{files:{},selected_files:{},settings:{},last_selected_file:null});var i=window.enforce_ssl;"https:"==location.protocol&&(window.enforce_ssl=!0);var j={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload").setQuery("mid",window.current_mid),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid,act:"procFileUpload"},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return h.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist(g)},start:function(){h.settings.progressbarGraph.width(0),h.settings.progressStatus.show(),h.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);h.settings.progressbarGraph.width(c+"%"),h.settings.progressPercent.text(c+"%"),c>=100&&(h.settings.progressbar.delay(3e3).slideUp(),h.settings.progressStatus.delay(3e3).slideUp())}};window.enforce_ssl=i,h.settings=a.extend({},b,j,e||{}),g.data(h),a.each(c,function(a,b){"string"==typeof h.settings[b]&&(h.settings[b]=g.find(h.settings[b]))});g.fileupload(h.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(g),h.settings.actSelectedInsertContent.on("click",function(){f.insertToContent(g)}),h.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile(g)});var k=h.settings.fileList.finderSelect({children:"li",enableDesktopCtrlDefault:!0});h.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),k.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=h.settings.fileList.find("input:checked");h.selected_files=b}),k.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=h.settings.fileList.find("input:checked");h.selected_files=b}),k.on("click",":checkbox",function(a){a.preventDefault()}),k.on("click",".xefu-act-set-cover",function(a){a.preventDefault(),f.setCover(g,a.currentTarget)}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout,c=h.settings.dropZone;b?clearTimeout(b):c.addClass("in");var d=!1,e=a.target;do{if(e===c[0]){d=!0;break}e=e.parentNode}while(null!=e);d?c.addClass("hover"):c.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,c.removeClass("in hover")},100)}),g.data(h)},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(b){var c="",d=b.data();a.each(d.selected_files,function(b,e){var f=a(e).data().fileSrl,g=d.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(d.editorSequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b,c){var d=this,e=[],f=b.data();c?e.push(c):a.each(f.selected_files,function(b,c){if(c){var d=a(c).data().fileSrl;e.push(d)}}),e=e.join(","),exec_json("file.procFileDelete",{file_srls:e,editor_sequence:f.editorSequence},function(){e=e.split(","),a.each(e,function(a,b){f.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),d.loadFilelist(b)})},loadFilelist:function(b){var c=b.data(),d={};d.mid=window.current_mid,d.editor_sequence=c.editorSequence,a.exec_json("file.getFileList",d,function(d){c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[c.editorSequence].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,b.find(".allowed_filetypes").text(d.allowed_filetypes),b.find(".allowed_filesize").text(d.allowed_filesize),b.find(".allowed_attach_size").text(d.allowed_attach_size),b.find(".attached_size").text(d.attached_size),b.find(".file_count").text(d.files.length);var e=c.settings.tmplXeUploaderFileitem,f=c.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,d){c.files[d.file_srl]||(c.files[d.file_srl]=d,b.data(c),/\.(jpe?g|png|gif)$/i.test(d.source_filename)?i.push(h(d)):j.push(g(d)))}),c.settings.filelistImages.append(i.join("")),c.settings.filelist.append(j.join("")),c.settings.controll.show(),void c.settings.fileList.show()):(c.settings.fileList.hide(),void c.settings.controll.hide())})},setCover:function(b,c){var d=b.data(),e=a(c),f=e.data().fileSrl;exec_json("file.procFileSetCoverImage",{file_srl:f,mid:window.current_mid,editor_sequence:d.editorSequence},function(a){if(0==a.error){d.settings.filelistImages.find("li").removeClass("xefu-is-cover-image");var b=e.closest("li");b.addClass("xefu-is-cover-image")}})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b}}(jQuery); \ No newline at end of file diff --git a/config/config.inc.php b/config/config.inc.php index eebf7d6e8..95c9a96e7 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -29,7 +29,7 @@ define('__ZBXE__', __XE__); /** * Display XE's full version. */ -define('__XE_VERSION__', '1.8.5'); +define('__XE_VERSION__', '1.8.7'); 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)); diff --git a/layouts/xedition/layout.html b/layouts/xedition/layout.html index 61ecbed39..dc38c065b 100644 --- a/layouts/xedition/layout.html +++ b/layouts/xedition/layout.html @@ -307,35 +307,35 @@ -
    +
    {$layout_info->slide_text1}
    -
    +
    {$layout_info->slide_text2}
    -
    +
    {$layout_info->slide_text3}
    -
    +
    {$layout_info->slide_text4}
    -
    +
    {$layout_info->slide_text5} diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 0604cf69c..ec5dc2d2a 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -651,7 +651,14 @@ class documentItem extends Object function getExtraValue($idx) { $extra_vars = $this->getExtraVars(); - return $extra_vars[$idx]->value; + if(is_array($extra_vars) && array_key_exists($idx,$extra_vars)) + { + return $extra_vars[$idx]->getValue(); + } + else + { + return ''; + } } function getExtraValueHTML($idx) @@ -679,7 +686,15 @@ class documentItem extends Object $extra_eid[$key->eid] = $key; } } - return $extra_eid[$eid]->value; + + if(is_array($extra_eid) && array_key_exists($eid,$extra_eid)) + { + return $extra_eid[$eid]->getValue(); + } + else + { + return ''; + } } function getExtraEidValueHTML($eid) @@ -690,7 +705,15 @@ class documentItem extends Object { $extra_eid[$key->eid] = $key; } - return $extra_eid[$eid]->getValueHTML(); + + if(is_array($extra_eid) && array_key_exists($eid,$extra_eid)) + { + return $extra_eid[$eid]->getValueHTML(); + } + else + { + return ''; + } } function getExtraVarsValue($key) diff --git a/modules/editor/skins/ckeditor/editor.html b/modules/editor/skins/ckeditor/editor.html index 093301a1a..850691e89 100755 --- a/modules/editor/skins/ckeditor/editor.html +++ b/modules/editor/skins/ckeditor/editor.html @@ -32,9 +32,9 @@