From 7dd5d48b5bb8df9eb054a25777af11fd0c28defb Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 8 Jul 2015 02:15:14 +0900 Subject: [PATCH] =?UTF-8?q?fix=20#1589=20=EA=B8=80/=EB=8C=93=EA=B8=80=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1=EA=B3=BC=20=EB=8F=99=EC=8B=9C=EC=97=90=20?= =?UTF-8?q?=EC=BB=A4=EB=B2=84=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=EC=9D=B4=20=EB=8F=99=EC=9E=91=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?-=20=ED=8C=8C=EC=9D=BC=EC=9D=98=20=EA=B6=8C=ED=95=9C=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/plugins/jquery.fileupload/js/main.js | 2 +- .../plugins/jquery.fileupload/js/main.min.js | 2 +- modules/file/file.controller.php | 30 +++++-------------- 3 files changed, 9 insertions(+), 25 deletions(-) diff --git a/common/js/plugins/jquery.fileupload/js/main.js b/common/js/plugins/jquery.fileupload/js/main.js index 0d9e168a8..ef10b9327 100644 --- a/common/js/plugins/jquery.fileupload/js/main.js +++ b/common/js/plugins/jquery.fileupload/js/main.js @@ -343,7 +343,7 @@ var $el = $(selected_el); var file_srl = $el.data().fileSrl; - exec_json('file.procFileSetCoverImage', {'file_srl': file_srl}, function(res) { + 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'); diff --git a/common/js/plugins/jquery.fileupload/js/main.min.js b/common/js/plugins/jquery.fileupload/js/main.min.js index 266530daa..65a24873d 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},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={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 diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php index b696a544d..8ded3a292 100644 --- a/modules/file/file.controller.php +++ b/modules/file/file.controller.php @@ -938,34 +938,18 @@ class fileController extends file public function procFileSetCoverImage() { $vars = Context::getRequestVars(); - $upload_target_srl = null; + $logged_info = Context::get('logged_info'); - $oFileModel = &getModel('file'); - $oDocumentModel = &getModel('document'); - $oCommentModel = &getModel('comment'); + 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'); - $oDocument = $oDocumentModel->getDocument($file_info->upload_target_srl); - if($oDocument->isExists()) - { - if(!$oDocument->isGranted()) return new Object(-1, 'msg_not_permitted'); - - $upload_target_srl = $oDocument->document_srl; - } - else - { - $oComment = $oCommentModel->getComment($file_info->upload_target_srl); - if($oDocument->isExists()) - { - if(!$oComment->isGranted()) return new Object(-1, 'msg_not_permitted'); - - $upload_target_srl = $oComment->document_srl; - } - } - - if(!$upload_target_srl) 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;