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+='
',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+='
',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 @@