diff --git a/e107_admin/image.php b/e107_admin/image.php index ef39b25e5..b1f5b2d76 100644 --- a/e107_admin/image.php +++ b/e107_admin/image.php @@ -37,7 +37,7 @@ if($_GET['action'] == 'youtube' ) } // TODO use library manager -e107::js('core', 'plupload/plupload.full.js', 'jquery', 2); +e107::js('core', 'plupload/plupload.full.min.js', 'jquery', 2); e107::css('core', 'plupload/jquery.plupload.queue/css/jquery.plupload.queue.css', 'jquery'); e107::js('core', 'plupload/jquery.plupload.queue/jquery.plupload.queue.min.js', 'jquery', 2); e107::js('core', 'core/mediaManager.js',"jquery",5); diff --git a/e107_web/js/core/mediaManager.js b/e107_web/js/core/mediaManager.js index 6e7b72a06..967f88f88 100644 --- a/e107_web/js/core/mediaManager.js +++ b/e107_web/js/core/mediaManager.js @@ -911,6 +911,16 @@ console.log('Bbcode: '+bbcode); } }, init: { + BeforeUpload: function(e,file) + { + + + }, + BeforeChunkUpload: function(uploader, file, post, currentBlob, currentOffset) + { + //console.log(file); + // currentBlob.name=file.name; + }, FilesAdded: function (up, files) { diff --git a/e107_web/js/plupload/Moxie.swf b/e107_web/js/plupload/Moxie.swf index 937085f26..ca29775a5 100644 Binary files a/e107_web/js/plupload/Moxie.swf and b/e107_web/js/plupload/Moxie.swf differ diff --git a/e107_web/js/plupload/Moxie.xap b/e107_web/js/plupload/Moxie.xap index fc7fbfe4b..70ef069da 100644 Binary files a/e107_web/js/plupload/Moxie.xap and b/e107_web/js/plupload/Moxie.xap differ diff --git a/e107_web/js/plupload/jquery.plupload.queue/img/buttons-disabled.png b/e107_web/js/plupload/jquery.plupload.queue/img/buttons-disabled.png index afa11af9b..c759e402f 100644 Binary files a/e107_web/js/plupload/jquery.plupload.queue/img/buttons-disabled.png and b/e107_web/js/plupload/jquery.plupload.queue/img/buttons-disabled.png differ diff --git a/e107_web/js/plupload/jquery.plupload.queue/img/buttons.png b/e107_web/js/plupload/jquery.plupload.queue/img/buttons.png index 153e73885..02a612221 100644 Binary files a/e107_web/js/plupload/jquery.plupload.queue/img/buttons.png and b/e107_web/js/plupload/jquery.plupload.queue/img/buttons.png differ diff --git a/e107_web/js/plupload/jquery.plupload.queue/img/transp50.png b/e107_web/js/plupload/jquery.plupload.queue/img/transp50.png index eb0efe104..61e6b217c 100644 Binary files a/e107_web/js/plupload/jquery.plupload.queue/img/transp50.png and b/e107_web/js/plupload/jquery.plupload.queue/img/transp50.png differ diff --git a/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js b/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js index 6894ecde9..f3f46288f 100644 --- a/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js +++ b/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js @@ -39,7 +39,7 @@ used as it is. var uploader = $('#uploader').pluploadQueue(); uploader.bind('FilesAdded', function() { - + // Autostart setTimeout(uploader.start, 1); // "detach" from the main thread }); @@ -73,7 +73,7 @@ used as it is. @param {Boolean} [settings.rename=false] Enable ability to rename files in the queue. @param {Boolean} [settings.multiple_queues=true] Re-activate the widget after each upload procedure. */ -;(function($, o) { +;(function($, plupload) { var uploaders = {}; function _(str) { @@ -190,7 +190,7 @@ used as it is. var icon = $('#' + file.id).attr('class', actionClass).find('a').css('display', 'block'); if (file.hint) { - icon.attr('title', file.hint); + icon.attr('title', file.hint); } } @@ -198,7 +198,7 @@ used as it is. $('span.plupload_total_status', target).html(uploader.total.percent + '%'); $('div.plupload_progress_bar', target).css('width', uploader.total.percent + '%'); $('span.plupload_upload_status', target).html( - o.sprintf(_('Uploaded %d/%d files'), uploader.total.uploaded, uploader.files.length) + plupload.sprintf(_('Uploaded %d/%d files'), uploader.total.uploaded, uploader.files.length) ); } @@ -215,7 +215,7 @@ used as it is. inputHTML += ''; inputHTML += ''; - + inputCount++; $('#' + id + '_count').val(inputCount); @@ -247,7 +247,7 @@ used as it is. if (uploader.total.queued === 0) { $('span.plupload_add_text', target).html(_('Add Files')); } else { - $('span.plupload_add_text', target).html(o.sprintf(_('%d files queued'), uploader.total.queued)); + $('span.plupload_add_text', target).html(plupload.sprintf(_('%d files queued'), uploader.total.queued)); } $('a.plupload_start', target).toggleClass('plupload_disabled', uploader.files.length == (uploader.total.uploaded + uploader.total.failed)); @@ -279,6 +279,11 @@ used as it is. if (!settings.unique_names && settings.rename) { target.on('click', '#' + id + '_filelist div.plupload_file_name span', function(e) { var targetSpan = $(e.target), file, parts, name, ext = ""; + var fileContainer = targetSpan.closest('li'); + + if (!fileContainer.hasClass('plupload_delete')) { + return; + } // Get file name and split out name and extension file = up.getFile(targetSpan.parents('li')[0].id); @@ -343,7 +348,7 @@ used as it is. if (err.code == plupload.FILE_EXTENSION_ERROR) { alert(_("Error: Invalid file extension:") + " " + file.name); } - + file.hint = message; $('#' + file.id).attr('class', 'plupload_failed').find('a').css('display', 'block').attr('title', message); } @@ -425,4 +430,4 @@ used as it is. return uploaders[$(this[0]).attr('id')]; } }; -})(jQuery, mOxie); +})(jQuery, plupload); diff --git a/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.min.js b/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.min.js index d7f7b9636..aaa71d9d4 100644 --- a/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.min.js +++ b/e107_web/js/plupload/jquery.plupload.queue/jquery.plupload.queue.min.js @@ -1 +1 @@ -;(function(e,t){function r(e){return plupload.translate(e)||e}function i(t,n){n.contents().each(function(t,n){n=e(n),n.is(".plupload")||n.remove()}),n.prepend('
'+'
'+'
'+'
'+'
'+r("Select files")+"
"+'
'+r("Add files to the upload queue and click the start button.")+"
"+"
"+"
"+'
'+'
'+'
'+r("Filename")+"
"+'
 
'+'
'+r("Status")+"
"+'
'+r("Size")+"
"+'
 
'+"
"+'
    '+'"+"
    "+"
    "+"
    "+''+"
    ")}var n={};e.fn.pluploadQueue=function(s){return s?(this.each(function(){function c(t){var n;t.status==plupload.DONE&&(n="plupload_done"),t.status==plupload.FAILED&&(n="plupload_failed"),t.status==plupload.QUEUED&&(n="plupload_delete"),t.status==plupload.UPLOADING&&(n="plupload_uploading");var r=e("#"+t.id).attr("class",n).find("a").css("display","block");t.hint&&r.attr("title",t.hint)}function h(){e("span.plupload_total_status",a).html(u.total.percent+"%"),e("div.plupload_progress_bar",a).css("width",u.total.percent+"%"),e("span.plupload_upload_status",a).html(t.sprintf(r("Uploaded %d/%d files"),u.total.uploaded,u.files.length))}function p(){var n=e("ul.plupload_filelist",a).html(""),i=0,s;e.each(u.files,function(t,r){s="",r.status==plupload.DONE&&(r.target_name&&(s+=''),s+='',s+='',i++,e("#"+f+"_count").val(i)),n.append('
  • '+'
    '+r.name+"
    "+'
    '+'
    '+r.percent+"%
    "+'
    '+plupload.formatSize(r.size)+"
    "+'
     
    '+s+"
  • "),c(r),e("#"+r.id+".plupload_delete a").click(function(t){e("#"+r.id).remove(),u.removeFile(r),t.preventDefault()})}),e("span.plupload_total_file_size",a).html(plupload.formatSize(u.total.size)),u.total.queued===0?e("span.plupload_add_text",a).html(r("Add Files")):e("span.plupload_add_text",a).html(t.sprintf(r("%d files queued"),u.total.queued)),e("a.plupload_start",a).toggleClass("plupload_disabled",u.files.length==u.total.uploaded+u.total.failed),n[0].scrollTop=n[0].scrollHeight,h(),!u.files.length&&u.features.dragdrop&&u.settings.dragdrop&&e("#"+f+"_filelist").append('
  • '+r("Drag files here.")+"
  • ")}function d(){delete n[f],u.destroy(),a.html(l),u=a=l=null}var u,a,f,l;a=e(this),f=a.attr("id"),f||(f=plupload.guid(),a.attr("id",f)),l=a.html(),i(f,a),s=e.extend({dragdrop:!0,browse_button:f+"_browse",container:f},s),s.dragdrop&&(s.drop_element=f+"_filelist"),u=new plupload.Uploader(s),n[f]=u,u.bind("UploadFile",function(t,n){e("#"+n.id).addClass("plupload_current_file")}),u.bind("Init",function(t,n){!s.unique_names&&s.rename&&a.on("click","#"+f+"_filelist div.plupload_file_name span",function(n){var r=e(n.target),i,s,o,u="";i=t.getFile(r.parents("li")[0].id),o=i.name,s=/^(.+)(\.[^.]+)$/.exec(o),s&&(o=s[1],u=s[2]),r.hide().after(''),r.next().val(o).focus().blur(function(){r.show().next().remove()}).keydown(function(t){var n=e(this);t.keyCode==13&&(t.preventDefault(),i.name=n.val()+u,r.html(i.name),n.blur())})}),e("#"+f+"_container").attr("title","Using runtime: "+n.runtime),e("a.plupload_start",a).click(function(t){e(this).hasClass("plupload_disabled")||u.start(),t.preventDefault()}),e("a.plupload_stop",a).click(function(e){e.preventDefault(),u.stop()}),e("a.plupload_start",a).addClass("plupload_disabled")}),u.bind("Error",function(t,n){var i=n.file,s;i&&(s=n.message,n.details&&(s+=" ("+n.details+")"),n.code==plupload.FILE_SIZE_ERROR&&alert(r("Error: File too large:")+" "+i.name),n.code==plupload.FILE_EXTENSION_ERROR&&alert(r("Error: Invalid file extension:")+" "+i.name),i.hint=s,e("#"+i.id).attr("class","plupload_failed").find("a").css("display","block").attr("title",s)),n.code===plupload.INIT_ERROR&&setTimeout(function(){d()},1)}),u.bind("PostInit",function(t){t.settings.dragdrop&&t.features.dragdrop&&e("#"+f+"_filelist").append('
  • '+r("Drag files here.")+"
  • ")}),u.init(),u.bind("StateChanged",function(){u.state===plupload.STARTED?(e("li.plupload_delete a,div.plupload_buttons",a).hide(),u.disableBrowse(!0),e("span.plupload_upload_status,div.plupload_progress,a.plupload_stop",a).css("display","block"),e("span.plupload_upload_status",a).html("Uploaded "+u.total.uploaded+"/"+u.files.length+" files"),s.multiple_queues&&e("span.plupload_total_status,span.plupload_total_file_size",a).show()):(p(),e("a.plupload_stop,div.plupload_progress",a).hide(),e("a.plupload_delete",a).css("display","block"),s.multiple_queues&&u.total.uploaded+u.total.failed==u.files.length&&(e(".plupload_buttons,.plupload_upload_status",a).css("display","inline"),u.disableBrowse(!1),e(".plupload_start",a).addClass("plupload_disabled"),e("span.plupload_total_status,span.plupload_total_file_size",a).hide()))}),u.bind("FilesAdded",p),u.bind("FilesRemoved",function(){var t=e("#"+f+"_filelist").scrollTop();p(),e("#"+f+"_filelist").scrollTop(t)}),u.bind("FileUploaded",function(e,t){c(t)}),u.bind("UploadProgress",function(t,n){e("#"+n.id+" div.plupload_file_status",a).html(n.percent+"%"),c(n),h()}),s.setup&&s.setup(u)}),this):n[e(this[0]).attr("id")]}})(jQuery,mOxie); \ No newline at end of file +!function(e,t){function i(e){return t.translate(e)||e}function s(t,s){s.contents().each(function(t,i){i=e(i),i.is(".plupload")||i.remove()}),s.prepend('
    '+'
    '+'
    '+'
    '+'
    '+i("Select files")+"
    "+'
    '+i("Add files to the upload queue and click the start button.")+"
    "+"
    "+"
    "+'
    '+'
    '+'
    '+i("Filename")+"
    "+'
     
    '+'
    '+i("Status")+"
    "+'
    '+i("Size")+"
    "+'
     
    '+"
    "+'
      '+'"+"
      "+"
      "+"
      "+''+"
      ")}var l={};e.fn.pluploadQueue=function(a){return a?(this.each(function(){function n(i){var s;i.status==t.DONE&&(s="plupload_done"),i.status==t.FAILED&&(s="plupload_failed"),i.status==t.QUEUED&&(s="plupload_delete"),i.status==t.UPLOADING&&(s="plupload_uploading");var l=e("#"+i.id).attr("class",s).find("a").css("display","block");i.hint&&l.attr("title",i.hint)}function o(){e("span.plupload_total_status",p).html(u.total.percent+"%"),e("div.plupload_progress_bar",p).css("width",u.total.percent+"%"),e("span.plupload_upload_status",p).html(t.sprintf(i("Uploaded %d/%d files"),u.total.uploaded,u.files.length))}function r(){var s,l=e("ul.plupload_filelist",p).html(""),a=0;e.each(u.files,function(i,o){s="",o.status==t.DONE&&(o.target_name&&(s+=''),s+='',s+='',a++,e("#"+c+"_count").val(a)),l.append('
    • '+'
      '+o.name+"
      "+'
      '+'
      '+o.percent+"%
      "+'
      '+t.formatSize(o.size)+"
      "+'
       
      '+s+"
    • "),n(o),e("#"+o.id+".plupload_delete a").click(function(t){e("#"+o.id).remove(),u.removeFile(o),t.preventDefault()})}),e("span.plupload_total_file_size",p).html(t.formatSize(u.total.size)),0===u.total.queued?e("span.plupload_add_text",p).html(i("Add Files")):e("span.plupload_add_text",p).html(t.sprintf(i("%d files queued"),u.total.queued)),e("a.plupload_start",p).toggleClass("plupload_disabled",u.files.length==u.total.uploaded+u.total.failed),l[0].scrollTop=l[0].scrollHeight,o(),!u.files.length&&u.features.dragdrop&&u.settings.dragdrop&&e("#"+c+"_filelist").append('
    • '+i("Drag files here.")+"
    • ")}function d(){delete l[c],u.destroy(),p.html(_),u=p=_=null}var u,p,c,_;p=e(this),c=p.attr("id"),c||(c=t.guid(),p.attr("id",c)),_=p.html(),s(c,p),a=e.extend({dragdrop:!0,browse_button:c+"_browse",container:c},a),a.dragdrop&&(a.drop_element=c+"_filelist"),u=new t.Uploader(a),l[c]=u,u.bind("UploadFile",function(t,i){e("#"+i.id).addClass("plupload_current_file")}),u.bind("Init",function(t,i){!a.unique_names&&a.rename&&p.on("click","#"+c+"_filelist div.plupload_file_name span",function(i){var s,l,a,n=e(i.target),o="",r=n.closest("li");r.hasClass("plupload_delete")&&(s=t.getFile(n.parents("li")[0].id),a=s.name,l=/^(.+)(\.[^.]+)$/.exec(a),l&&(a=l[1],o=l[2]),n.hide().after(''),n.next().val(a).focus().blur(function(){n.show().next().remove()}).keydown(function(t){var i=e(this);13==t.keyCode&&(t.preventDefault(),s.name=i.val()+o,n.html(s.name),i.blur())}))}),e("#"+c+"_container").attr("title","Using runtime: "+i.runtime),e("a.plupload_start",p).click(function(t){e(this).hasClass("plupload_disabled")||u.start(),t.preventDefault()}),e("a.plupload_stop",p).click(function(e){e.preventDefault(),u.stop()}),e("a.plupload_start",p).addClass("plupload_disabled")}),u.bind("Error",function(s,l){var a,n=l.file;n&&(a=l.message,l.details&&(a+=" ("+l.details+")"),l.code==t.FILE_SIZE_ERROR&&alert(i("Error: File too large:")+" "+n.name),l.code==t.FILE_EXTENSION_ERROR&&alert(i("Error: Invalid file extension:")+" "+n.name),n.hint=a,e("#"+n.id).attr("class","plupload_failed").find("a").css("display","block").attr("title",a)),l.code===t.INIT_ERROR&&setTimeout(function(){d()},1)}),u.bind("PostInit",function(t){t.settings.dragdrop&&t.features.dragdrop&&e("#"+c+"_filelist").append('
    • '+i("Drag files here.")+"
    • ")}),u.init(),u.bind("StateChanged",function(){u.state===t.STARTED?(e("li.plupload_delete a,div.plupload_buttons",p).hide(),u.disableBrowse(!0),e("span.plupload_upload_status,div.plupload_progress,a.plupload_stop",p).css("display","block"),e("span.plupload_upload_status",p).html("Uploaded "+u.total.uploaded+"/"+u.files.length+" files"),a.multiple_queues&&e("span.plupload_total_status,span.plupload_total_file_size",p).show()):(r(),e("a.plupload_stop,div.plupload_progress",p).hide(),e("a.plupload_delete",p).css("display","block"),a.multiple_queues&&u.total.uploaded+u.total.failed==u.files.length&&(e(".plupload_buttons,.plupload_upload_status",p).css("display","inline"),u.disableBrowse(!1),e(".plupload_start",p).addClass("plupload_disabled"),e("span.plupload_total_status,span.plupload_total_file_size",p).hide()))}),u.bind("FilesAdded",r),u.bind("FilesRemoved",function(){var t=e("#"+c+"_filelist").scrollTop();r(),e("#"+c+"_filelist").scrollTop(t)}),u.bind("FileUploaded",function(e,t){n(t)}),u.bind("UploadProgress",function(t,i){e("#"+i.id+" div.plupload_file_status",p).html(i.percent+"%"),n(i),o()}),a.setup&&a.setup(u)}),this):l[e(this[0]).attr("id")]}}(jQuery,plupload); \ No newline at end of file diff --git a/e107_web/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css b/e107_web/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css index e46a3f172..820a65f6d 100644 --- a/e107_web/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css +++ b/e107_web/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css @@ -28,10 +28,10 @@ .plupload_file {border-width: 0 0 1px 0} .plupload_container .plupload_header {border-width: 0 0 1px 0; position: relative;} -.plupload_delete .ui-icon, +.plupload_delete .ui-icon, .plupload_done .ui-icon, .plupload_failed .ui-icon { - cursor:pointer; + cursor:pointer; } .plupload_header_content { @@ -144,7 +144,7 @@ right: 0; } -.plupload_buttons { +.plupload_buttons { position: relative; } @@ -160,7 +160,7 @@ _clear: left; } -.plupload_view_list div.plupload_file_size, +.plupload_view_list div.plupload_file_size, .plupload_view_list div.plupload_file_status, .plupload_view_list div.plupload_file_action { padding: 8px 6px; @@ -187,11 +187,11 @@ margin-left: -2px; } -.plupload_view_list .plupload_file_size, +.plupload_view_list .plupload_file_size, .plupload_view_list .plupload_file_status, -.plupload_filelist_footer .plupload_file_size, +.plupload_filelist_footer .plupload_file_size, .plupload_filelist_footer .plupload_file_status { - text-align: right; + text-align: right; width: 52px; } @@ -262,7 +262,7 @@ } .plupload_view_thumbs div.plupload_file_status { - position: relative; + position: relative; height: 3px; overflow: hidden; text-indent: -999px; @@ -276,7 +276,7 @@ .plupload .ui-sortable-helper, .plupload .ui-sortable .plupload_file { - cursor:move; + cursor:move; } .plupload_file_action {width: 16px;} @@ -330,12 +330,16 @@ display: block; } +.plupload_files_queued .plupload_droptext { + display: none; +} + .plupload_buttons, .plupload_upload_status {float: left} .plupload_message { position: absolute; top: -1px; - left: -1px; + left: -1px; height: 100%; width: 100%; } @@ -346,28 +350,28 @@ } .plupload_message strong { - font-weight: bold; + font-weight: bold; } .plupload_message i { - font-style: italic; + font-style: italic; } .plupload_message p span.ui-icon { float: left; - margin-right: 0.3em; + margin-right: 0.3em; } .plupload_header_content .ui-state-error, .plupload_header_content .ui-state-highlight { - border:none; + border:none; } .plupload_message_close { position:absolute; top:5px; right:5px; - cursor:pointer; + cursor:pointer; } .plupload .ui-sortable-placeholder { diff --git a/e107_web/js/plupload/jquery.ui.plupload/img/plupload.png b/e107_web/js/plupload/jquery.ui.plupload/img/plupload.png index 8ae0f90b5..6b629d012 100644 Binary files a/e107_web/js/plupload/jquery.ui.plupload/img/plupload.png and b/e107_web/js/plupload/jquery.ui.plupload/img/plupload.png differ diff --git a/e107_web/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js b/e107_web/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js index 20a24d9b1..4dee32ce8 100644 --- a/e107_web/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js +++ b/e107_web/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js @@ -12,7 +12,7 @@ * jquery.ui.widget.js * jquery.ui.button.js * jquery.ui.progressbar.js - * + * * Optionally: * jquery.ui.sortable.js */ @@ -22,11 +22,11 @@ /** jQuery UI based implementation of the Plupload API - multi-runtime file uploading API. -To use the widget you must include _jQuery_ and _jQuery UI_ bundle (including `ui.core`, `ui.widget`, `ui.button`, +To use the widget you must include _jQuery_ and _jQuery UI_ bundle (including `ui.core`, `ui.widget`, `ui.button`, `ui.progressbar` and `ui.sortable`). -In general the widget is designed the way that you do not usually need to do anything to it after you instantiate it. -But! You still can intervenue, to some extent, in case you need to. Although, due to the fact that widget is based on +In general the widget is designed the way that you do not usually need to do anything to it after you instantiate it. +But! You still can intervenue, to some extent, in case you need to. Although, due to the fact that widget is based on _jQuery UI_ widget factory, there are some specifics. See examples below for more details. @example @@ -58,7 +58,7 @@ _jQuery UI_ widget factory, there are some specifics. See examples below for mor @example // Subscribing to the events... // ... on initialization: - $('#uploader').plupload({ + $('#uploader').plupload({ ... viewchanged: function(event, args) { // stuff ... @@ -102,10 +102,10 @@ _jQuery UI_ widget factory, there are some specifics. See examples below for mor @param {Boolean} [settings.dragdrop=true] Enable ability to add file to the queue by drag'n'dropping them from the desktop. @param {Boolean} [settings.rename=false] Enable ability to rename files in the queue. @param {Boolean} [settings.sortable=false] Enable ability to sort files in the queue, changing their uploading priority. - @param {Object} [settings.buttons] Control the visibility of functional buttons. + @param {Object} [settings.buttons] Control the visibility of functional buttons. @param {Boolean} [settings.buttons.browse=true] Display browse button. @param {Boolean} [settings.buttons.start=true] Display start button. - @param {Boolean} [settings.buttons.stop=true] Display stop button. + @param {Boolean} [settings.buttons.stop=true] Display stop button. @param {Object} [settings.views] Control various views of the file queue. @param {Boolean} [settings.views.list=true] Enable list view. @param {Boolean} [settings.views.thumbs=false] Enable thumbs view. @@ -198,13 +198,13 @@ Dispatched when error of some kind is detected. @param {Enum} status Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE. */ -var uploaders = {}; - +var uploaders = {}; + function _(str) { return plupload.translate(str) || str; } -function renderUI(obj) { +function renderUI(obj) { obj.id = obj.attr('id'); obj.html( @@ -236,7 +236,7 @@ function renderUI(obj) { '' + '
       
      ' + '' + - + '' + '' + '