Plugin Directory

Changeset 1038133


Ignore:
Timestamp:
12/04/2014 01:06:03 PM (11 years ago)
Author:
ojredmond
Message:
  • fixed bug with no destinations causing php warning
  • add SVG support
Location:
advanced-uploader/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • advanced-uploader/trunk/js/upload.js

    r1031788 r1038133  
    33 *
    44 * handles large file uploading.
    5  * version : 2.1
     5 * version : 2.3
    66 */
    77'use strict';
     
    227227   
    228228                    //is image create thumbnail
    229                     if(destinations[file.dest][4] &&  ext.match(/jpg|jpeg|png/i)) {
     229                    if(destinations[file.dest][4] &&  ext.match(/jpg|jpeg|png|svg/i)) {
    230230                        //update display to show message
    231231                        var item = jQuery('#media-item-' + file.id);
     
    416416               
    417417var createThumbImage = function (file, name, callback, src) {
    418       var tempImg = new Image();
    419       tempImg.src = src;
    420       tempImg.onload = function() {
     418    //get file extension
     419    var ext = name.split('.').pop();
     420   
     421    var tempImg = new Image();
     422    tempImg.src = src;
     423    tempImg.onload = function() {
    421424        var tempW = tempImg.width;
    422425        var tempH = tempImg.height;
    423         if (tempH > sizes['thumbnail']['height'] || tempW > sizes['thumbnail']['width']) {
     426        if (tempH > sizes['thumbnail']['height'] || tempW > sizes['thumbnail']['width'] || ext.match(/svg/i)) {
    424427            var imageMeta = new Object();
    425428            var dataURL = new Object();
     
    436439                var MAX_HEIGHT = sizes[key]['height'];
    437440
    438                 if (tempH > MAX_HEIGHT || tempW > MAX_WIDTH) {
     441                if (tempH > MAX_HEIGHT || tempW > MAX_WIDTH  || ext.match(/svg/i)) {
    439442                if (tempW > imageH) {
    440                     if (tempW > MAX_WIDTH) {
    441443                       tempH *= MAX_WIDTH / tempW;
    442444                       tempW = MAX_WIDTH;
    443                     }
    444445                } else {
    445                     if (tempH > MAX_HEIGHT) {
    446446                       tempW *= MAX_HEIGHT / tempH;
    447447                       tempH = MAX_HEIGHT;
    448                     }
    449448                }
    450449           
     
    454453               
    455454                //set thumbnail filename
    456                 var filename = name.replace(/\.(jpg|jpeg|png)$/i, "-"+tempW+"x"+tempH+".jpg");
     455                var filename = name.replace(/\.(jpg|jpeg|png|svg)$/i, "-"+tempW+"x"+tempH+".jpg");
    457456               
    458457                if (nameslist.search(filename) == -1) {
  • advanced-uploader/trunk/js/upload.min.js

    r1031788 r1038133  
    1 'use strict';'use strict';var max_file_size=0;var max_file_size_display=0;var adv_max_file_size_display=0;var default_action;var default_url;var blobSlice;var requestFileSystem;var up_plupload;var msgProgLabel=document.createElement("label");msgProgLabel.className="pLabel";var msgProgress=document.createElement("progress");var msgProgressDiv=document.createElement("div");msgProgressDiv.className="progress";msgProgressDiv.appendChild(msgProgLabel);msgProgressDiv.appendChild(msgProgress);(function(j){j["mOxieFileAPIReader"]=function(i){return function(e,f,g){var h=new mOxie.FileReader();h.onload=function(a){var b=this.result.search(/;base64,/);var c=this.result.slice(b+8);var d=new D(window.atob(c));f(d)};h.readAsDataURL(i)}}})(this);var registerLog=function(a,b){jQuery('<div class="'+b+'">'+a+'</div>').appendTo('#log')};function adv_plupload_defaults(){var x={PostInit:function(b){var c=jQuery('#plupload-upload-ui');if(c.length!=0){setResize(getUserSetting('upload_resize',false));if(b.features.dragdrop&&!jQuery(document.body).hasClass('mobile')){c.addClass('drag-drop');jQuery('#drag-drop-area').bind('dragover.wp-uploader',function(){c.addClass('drag-over')}).bind('dragleave.wp-uploader, drop.wp-uploader',function(){c.removeClass('drag-over')})}else{c.removeClass('drag-drop');jQuery('#drag-drop-area').unbind('.wp-uploader')}if(b.runtime=='html4')jQuery('.upload-flash-bypass').hide()}default_action=b.settings.multipart_params['action'];default_url=b.settings.url;up_plupload=b;jQuery('.drop-instructions').show();b.settings.drop_element[0].addEventListener('dragenter',function(e){var a=document.getElementsByClassName('uploader-window');if(a.length>0){a[0].style.display='block';a[0].style.opacity=1;a[0].addEventListener('dragleave',function(e){a[0].style.display='none';a[0].style.opacity=0},false);a[0].addEventListener('drop',function(e){a[0].style.display='none';a[0].style.opacity=0},false)}},false);b.settings.resize=new Object;b.settings.resize.enabled=false;if(adv_uploader){b.settings.chunk_size=max_file_size-2048;b.settings.filters.max_file_size=adv_max_file_size}},FilesAdded:function(a,b){if(adv_uploader){a.settings.url=ajaxurl;a.settings.multipart_params['destinations']=JSON.stringify(destinations);a.settings.multipart_params['action']='adv_upload_plupload';a.settings.multipart_params['security']=security;var c=true;if(typeof b[0].dest==='undefined'){if(typeof wpUploaderInit==='object')c=false;selectDestination(c,b,function(){a.trigger("FilesAdded",b)});return false}else if(typeof b[0].dest==='undefined'){for(var i=0;i<b.length;i++)b[i].dest=0}}else{a.settings.url=default_url;a.settings.max_retries=0;delete a.settings.multipart_params['destinations'];a.settings.multipart_params['action']=default_action;delete a.settings.multipart_params['security']}},BeforeUpload:function(a,b){if(adv_uploader){a.settings.multipart_params['fileDest']=b.dest;a.settings.multipart_params['album']=b.album}},FileUploaded:function(q,r,s){if(adv_uploader){var t=function(d,f,g){var h=new FormData();h.append('action','adv_file_upload_thumbs');h.append('security',security);h.append('filename',u.data.name);if(typeof _wpPluploadSettings==='object')h.append('post_id',wp.media.model.settings.post.id);h.append('meta',JSON.stringify(f));h.append('fileDest',r.dest);h.append('album',r.album);h.append('destinations',JSON.stringify(destinations));for(var j=0;j<g.length;j++){var k=g[j];var l=atob(d[k].split(',')[1]);var m=[];for(var i=0;i<l.length;i++){m.push(l.charCodeAt(i))}var n=u.data.name.split('.').pop();if(n.match(/jpg/))var o=new Blob([new Uint8Array(m)],{type:'image/jpeg'});else var o=new Blob([new Uint8Array(m)],{type:'image/png'});h.append('thumbs[]',o,f[k].file)}console.log(h);var p=jQuery('#media-item-'+r.id);jQuery('.percent',p).html('Completing Upload');jQuery.ajax({'type':"post",'url':ajaxurl,'data':h,'enctype':'multipart/form-data','encoding':'multipart/form-data','cache':false,'processData':false,'contentType':false}).done(function(a){if(typeof a==='string'&&a!=''){if(typeof wpUploaderInit==='object'){try{var b=JSON.parse(a)}catch(e){q.trigger("FileUploaded",r,{'response':'media-upload-error'});return}if(b.success==false){q.trigger("FileUploaded",r,{'response':'media-upload-error'});return}if(b.data.id==false){var c=b.data.id;jQuery('#media-item-'+r.id+' .progress').remove();jQuery('#media-item-'+r.id+' .original').remove();jQuery('<img>').attr({src:b.data.url,class:'pinkynail'}).appendTo('#media-item-'+r.id);jQuery('<div>').attr({class:'filename new'}).html(b.data.name).appendTo('#media-item-'+r.id)}else var c=b.data.id.toString();q.trigger("FileUploaded",r,{'response':c})}else q.trigger("FileUploaded",r,{'response':a})}})};try{var u=JSON.parse(s.response)}catch(e){return}if(u.success=='file_complete'){var v=u.data.name.split('.').pop();if(destinations[r.dest][4]&&v.match(/jpg|jpeg|png/i)){var w=jQuery('#media-item-'+r.id);jQuery('.percent',w).html('Creating thumbs');createThumbImage(r,u.data.name,t,u.data.file)}else if(destinations[r.dest][4]&&v.match(/pdf/i)){var w=jQuery('#media-item-'+r.id);jQuery('.percent',w).html('Creating thumbs');pdf(u.data.file,u.data.name,t)}else t(null,null,new Array());return false}}},Error:function(a,b){alert()},ChunkUploaded:function(a,b,c){var d=jQuery.parseJSON(c.response);if(d&&!d.success){b.status=plupload.FAILED;a.trigger('QueueChanged',b);var e={response:"<div class='media-upload-error'><B>"+b.name+"</B> "+d.data.message+"</div>"};a.trigger('FileUploaded',b,e)}}};if(typeof wpUploaderInit==='object'){wpUploaderInit.preinit=x;max_file_size=parseInt(wpUploaderInit.filters.max_file_size);if(typeof adv_uploader==='boolean'&&adv_uploader)wpUploaderInit.filters.max_file_size=adv_max_file_size}if(typeof _wpPluploadSettings==='object'){_wpPluploadSettings.defaults.preinit=x;max_file_size=parseInt(_wpPluploadSettings.defaults.filters.max_file_size);updatehtml();if(typeof adv_uploader==='boolean'&&adv_uploader)_wpPluploadSettings.defaults.filters.max_file_size=adv_max_file_size}}function toggle_loader(a){if(a=='default'){jQuery('#adv_upload').toggleClass('hidden',true);jQuery('#default_upload').toggleClass('hidden',false)}else{jQuery('#default_upload').toggleClass('hidden',true);jQuery('#adv_upload').toggleClass('hidden',false)}jQuery.ajax({'type':"post",'url':ajaxurl,'data':{'action':"adv_file_upload_set_loader",'loader':a}})}function convertBytes(a){var b='Bytes';if((a%1024)==0){a=a/1024;b='KB'}if(b=='KB'&&(a%1024)==0){a=a/1024;b='MB'}if(b=='MB'&&(a%1024)==0){a=a/1024;b='GB'}return a+' '+b}jQuery(document).ready(function(){if(max_file_size>0)updatehtml()});function updatehtml(){jQuery('.media-upload-form').on('click.uploader',function(e){var a=jQuery(e.target);if(a.is('.upload-flash-bypass a')||a.is('a.uploader-html')){var b=jQuery('.max-upload-size').html();b=b.replace(adv_max_file_size_display,max_file_size_display);jQuery('.max-upload-size').html(b);jQuery('#adv_uploader_checkbox_p').hide()}else if(a.is('.upload-html-bypass a')){jQuery('#adv_uploader_checkbox_p').show();if(adv_uploader){var b=jQuery('.max-upload-size').html();b=b.replace(max_file_size_display,adv_max_file_size_display);jQuery('.max-upload-size').html(b)}}});if(adv_replace_default&&max_file_size>0){max_file_size_display=convertBytes(max_file_size);adv_max_file_size_display=convertBytes(adv_max_file_size);var c='';var d=max_file_size_display;if(adv_uploader){c='checked';d=adv_max_file_size_display}var f='<p id="adv_uploader_checkbox_p" style="cursor: pointer;">'+'<input type="checkbox" id="adv_uploader_checkbox" style="margin-right: 5px;" '+c+'>Use advanced uploader</p>';var g=document.getElementById('tmpl-uploader-inline');if(g!==null){var h=new RegExp(max_file_size_display+'|'+max_file_size_display.replace(/ /,''),'i');var i=g.innerHTML.search(h);var j=g.innerHTML.indexOf('</p>',i);g.innerHTML=g.innerHTML.substring(0,i)+d+g.innerHTML.substring(i+max_file_size_display.length,j+4)+f+g.innerHTML.substring(j+4)}var k=jQuery('.max-upload-size').html();if(typeof k==='string'){var h=new RegExp(max_file_size_display+'|'+max_file_size_display.replace(/ /,''),'i');var i=k.search(h);jQuery('.max-upload-size').html(k.substring(0,i)+d+k.substring(i+max_file_size_display.length)).after(f)}jQuery(document).on('click','#adv_uploader_checkbox_p',show_hide_uploader);jQuery(document).on('click','.media-menu-item',function(e){if(e.target.textContent=='Upload Files')if((!adv_uploader&&jQuery('#adv_uploader_checkbox').attr('checked')=='checked')||(adv_uploader&&jQuery('#adv_uploader_checkbox').attr('checked')==undefined))jQuery('#adv_uploader_checkbox_p').click()})}}function show_hide_uploader(e){if(e.target.id.indexOf('adv_uploader_checkbox')==-1)return;if(e.target.type=='checkbox')var a=e.target;else{var a=document.getElementById('adv_uploader_checkbox');if(a.checked)a.checked=false;else a.checked=true}if(a.checked){adv_uploader=true;up_plupload.settings.filters.max_file_size=adv_max_file_size;up_plupload.settings.chunk_size=max_file_size-2048;var b=jQuery('.max-upload-size').html();b=b.replace(max_file_size_display,adv_max_file_size_display);jQuery('.max-upload-size').html(b)}else{adv_uploader=false;up_plupload.settings.filters.max_file_size=max_file_size;up_plupload.settings.chunk_size=0;var b=jQuery('.max-upload-size').html();b=b.replace(adv_max_file_size_display,max_file_size_display);jQuery('.max-upload-size').html(b)}jQuery.ajax({'type':"post",'url':ajaxurl,'data':{'action':"adv_file_upload_set_loader",'loader':adv_uploader}})}var createThumbImage=function(o,p,q,r){var s=new Image();s.src=r;s.onload=function(){var a=s.width;var b=s.height;if(b>sizes['thumbnail']['height']||a>sizes['thumbnail']['width']){var c=new Object();var d=new Object();var e=new Array();var f=b;var g=a;var h='';for(var i in sizes){var b=f;var a=g;var j=sizes[i]['width'];var k=sizes[i]['height'];if(b>k||a>j){if(a>f){if(a>j){b*=j/a;a=j}}else{if(b>k){a*=k/b;b=k}}a=Math.round(a);b=Math.round(b);var l=p.replace(/\.(jpg|jpeg|png)$/i,"-"+a+"x"+b+".jpg");if(h.search(l)==-1){h+=l+';';var m=document.createElement('canvas');m.width=a;m.height=b;var n=m.getContext("2d");n.drawImage(this,0,0,a,b);e.push(i);d[i]=m.toDataURL("image/jpeg",0.9)}c[i]=new Object();c[i].file=l;c[i].width=a;c[i].height=b}}q(d,c,e)}else q(null,null,new Array())}};var pdf=function(p,q,r){PDFJS.disableWorker=true;var s=null;function renderPage(d){s.getPage(d).then(function(a){var b=new Array();for(var c in sizes)b.push(c);createPDFthumb(a,'',b,new Array(),new Object(),new Object())})}function createPDFthumb(a,b,c,d,e,f){var g=c.pop();var h=sizes[g]['width']/a.getViewport(1.0).width;var i=sizes[g]['height']/a.getViewport(1.0).height;var j=h>i?i:h;var k=a.getViewport(j);var l=document.createElement('canvas');var m=l.getContext('2d');l.height=k.height;l.width=k.width;var n=q+"-"+l.width+"x"+l.height+".png";e[g]=new Object();e[g].file=n;e[g].width=l.width;e[g].height=l.height;if(b.search(n)==-1){b+=n+';';var o={canvasContext:m,viewport:k};a.render(o).then(function(){d.push(g);f[g]=l.toDataURL("image/png");if(c.length>0)createPDFthumb(a,b,c,d,e,f);else{r(f,e,d)}})}else{if(c.length>0)createPDFthumb(a,b,c,d,e,f);else{r(f,e,d)}}}var t={};var u=new FileReader();u.onload=function webViewerChangeFileReaderOnload(b){var c=b.target.result;t.data=new Uint8Array(c);PDFJS.getDocument(t).then(function getPdfForm(a){s=a;renderPage(1)})};PDFJS.getDocument(p).then(function getPdfForm(a){s=a;renderPage(1)})};function handleDragOver(a){a.stopPropagation();a.preventDefault();a.dataTransfer.dropEffect='copy'}function handleDragEnter(a){a.currentTarget.classList.add('drag-over')}function handleDragLeave(a){a.currentTarget.classList.remove('drag-over')}function selectDestination(l,m,n){if(m.length==0){return}var o=0;if(l)for(var i=0;i<destinations.length;i++)if(destinations[i][4])o++;if(destinations.length==1||o==1){for(var i=0;i<m.length;i++)m[i].dest=0;n();return}var p='<option value="">Select Destination</option>';var q="";for(var i=0;i<destinations.length;i++){if(!l||(l&&destinations[i][4])){if(q!=destinations[i][2]){if(q!=""){p+='</optgroup>'}p+='<optgroup label="'+destinations[i][2]+'">'}p+='<option value="'+i+'">'+destinations[i][0]+'</option>';q=destinations[i][2]}}if(q!=""){p+='</optgroup>'}var r='<option value="">Select category</option>';for(var i=0;i<categories.length;i++){r+='<option class="'+categories[i][2]+'" value="'+i+'">'+categories[i][1]+'</option>'}var s='';if(l&&destinations.length>o)s+='<i>Can only upload to Library from this page.</i>';if(m.length>1)s+='<p>Select destination for all files';else s+='<p>Select destination for '+m[0].name;s+='<select id="dest">';s+=p;s+='</select>';s+='<span id="wg_" class="hide gallery_name"><input class="alignright" type=text />Gallery name: </span>';s+='<select id="cat" class="hide">';s+=r;s+='</select>';s+='</p>';if(m.length>1){s+='<div class="dashed"></div>';s+='<p>Or select destination for each file</p>';for(var i=0;i<m.length;i++){s+='<div class="option">'+m[i].name+'<select id="dest'+i+'" class="file" name="file'+i+'">';s+=p;s+='</select>';s+='<span id="wg_'+i+'" class="hide gallery_name"><input class="alignright" type=text />Gallery name:</span>';s+='<select id="cat'+i+'" class="hide">';s+=r;s+='</select></div>'}}var t=jQuery("<div id='dest-popup' />").html(s);var u=function(i){var b=m[i].getSource();b.index=i;if(b.name.split('.').pop()=='mp3'){ID3.loadTags(b.name,function(){var a=ID3.getAllTags(b.name);m[b.index].album=a.album;if(b.index<m.length-1)u(b.index+1)},{tags:["album"],dataReader:mOxieFileAPIReader(b)})}else if(b.index<m.length-1)u(b.index+1)};u(0);var v=function(e){jQuery('#dest-popup .error').remove();var d=jQuery('#dest :selected').val();var f=jQuery('.file :selected');if(e.target.id=="dest"&&d.length==0)return false;else if(d.length){for(var i=0;i<m.length;i++)m[i].dest=d;if(destinations[d]&&destinations[d][2]=='Category'){if(jQuery("#adv_cat").val()==''){jQuery("<div>").attr({'id':'adv_err_cat','class':'clear alignright media-item error'}).html('You must enter an existing category').insertAfter('#ac_cat');return false}for(var i=0;i<m.length;i++)m[i].album=jQuery("#adv_cat").val()}else if(destinations[d]&&destinations[d][2]=='Wordpress Gallery'&&destinations[d][3]=='new'){if(jQuery("#wg_ input").val()==''){jQuery("<div>").attr({'id':'adv_err_gal','class':'clear alignright media-item error'}).html('You must enter a name for the new gallery').insertAfter('#wg_ input');return false}jQuery.post(ajaxurl,{'action':'adv_file_upload_new_post','security':security,'title':JSON.stringify(new Array(jQuery("#wg_ input").val()))},function(a){for(var i=0;i<m.length;i++)m[i].album=a[0].id;n();t.dialog('close')},"json");return false}n();t.dialog('close')}else if(f.length){var g=false;var h=false;var j=new Object();for(var i=0;i<f.length;i++){var k=f[i].value;if(k.length==0){jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination').insertAfter('#dest'+i);g=true}else{m[i].dest=k;if(destinations[k]&&destinations[k][2]=='Category'){if(jQuery("#adv_cat"+i).val()==''){jQuery("<div>").attr({'id':'adv_err_cat'+i,'class':'clear alignright media-item error'}).html('You must enter an existing category').insertAfter('#ac_cat'+i);h=true}m[i].album=jQuery("#adv_cat"+i).val()}else if(destinations[k]&&destinations[k][2]=='Wordpress Gallery'&&destinations[k][3]=='new'){if(jQuery("#wg_"+i+" input").val()==''){jQuery("<div>").attr({'id':'adv_err_gal'+i,'class':'clear alignright media-item error'}).html('You must enter a name for the new gallery').insertAfter('#wg_'+i+' input');h=true}if(typeof j[jQuery("#wg_"+i+" input").val()]==='undefined')j[jQuery("#wg_"+i+" input").val()]=i.toString();else j[jQuery("#wg_"+i+" input").val()]+=','+i.toString()}}}if(g){jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination for all files').insertAfter('#dest');return false}if(h)return false;if(!jQuery.isEmptyObject(j)){jQuery.post(ajaxurl,{'action':'adv_file_upload_new_post','security':security,'title':JSON.stringify(Object.keys(j))},function(a){for(var b in a){var c=j[a[b].title].split(",");for(var i=0;i<c.length;i++)m[c[i]].album=a[b].id}n();t.dialog('close')},"json");return false}else{n();t.dialog('close')}}else{jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination').insertAfter('#dest');return false}};var w=function(e){var a=e.target.id.match(/^dest(.*)/)[1];var b='cat'+a;if(destinations[e.target.selectedIndex-1]&&destinations[e.target.selectedIndex-1][2]=='Category'){jQuery("#wg_"+a).hide();jQuery("#adv_err_gal"+a).remove();if(jQuery("#ac_"+b).length==0){jQuery("#"+b).combobox({desc:'adv_'+b,id:'ac_'+b});if(a=='')a=0;if(m[a].album)jQuery('#ac_'+b+' input').val(m[a].album)}else jQuery("#ac_"+b).show()}else if(destinations[e.target.selectedIndex-1]&&destinations[e.target.selectedIndex-1][2]=='Wordpress Gallery'&&destinations[e.target.selectedIndex-1][3]=='new'){jQuery("#ac_"+b).hide();jQuery("#adv_err_"+b).remove();jQuery("#wg_"+a).css("display","block")}else{jQuery("#wg_"+a).hide();jQuery("#ac_"+b).hide();jQuery("#adv_err_"+b).remove();jQuery("#adv_err_gal"+a).remove();if(a=='')v(e)}};jQuery(document).on('change','.ui-dialog select',w);t.dialog({title:'Destination',dialogClass:'wp-dialog',width:'auto',modal:true,autoOpen:false,closeOnEscape:true,buttons:[{'text':'Cancel','class':'button-primary','click':function(){jQuery(this).dialog('close')}},{'text':'Select','class':'button-primary','click':v}],close:function(){jQuery(this).dialog('destroy').remove()}});t.dialog('open')}(function($){$.widget("custom.combobox",{_create:function(){this.wrapper=$("<div>").addClass("custom-combobox").attr('id',this.options.id).insertAfter(this.element);this.element.hide();this._createAutocomplete();this._createShowAllButton()},_createAutocomplete:function(){var c=this.element.children(":selected"),value=c.val()?c.text():"";this.input=$("<input>").appendTo(this.wrapper).attr('id',this.options.desc).attr('name',this.options.desc).val(value).attr("title","").addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-all").autocomplete({delay:0,minLength:0,source:$.proxy(this,"_source")});this._on(this.input,{autocompleteselect:function(a,b){b.item.option.selected=true;this._trigger("select",a,{item:b.item.option})},autocompletechange:"_removeIfInvalid"})},_createShowAllButton:function(){var a=this.input,wasOpen=false;$("<a>").attr("tabIndex",-1).attr("title","Show All Items").height($('#'+this.options.desc).innerHeight()-6).appendTo(this.wrapper).button({icons:{primary:"ui-icon-triangle-1-s"},text:false}).removeClass("ui-corner-all").addClass("custom-combobox-toggle").mousedown(function(){wasOpen=a.autocomplete("widget").is(":visible")}).click(function(){a.focus();if(wasOpen){return}a.autocomplete("search","")})},_source:function(b,c){var d=new RegExp($.ui.autocomplete.escapeRegex(b.term),"i");c(this.element.children("option").map(function(){var a=$(this).text();if(this.value&&(!b.term||d.test(a)))return{label:a,value:a,option:this}}))},_removeIfInvalid:function(a,b){if(b.item){return}var c=this.input.val(),valueLowerCase=c.toLowerCase(),valid=false;this.element.children("option").each(function(){if($(this).text().toLowerCase()===valueLowerCase){this.selected=valid=true;return false}});if(valid){return}this.input.val("");this.element.val("");this.input.data("ui-autocomplete").term=""},_destroy:function(){this.wrapper.remove();this.element.show()}})})(jQuery);
     1'use strict';'use strict';var max_file_size=0;var max_file_size_display=0;var adv_max_file_size_display=0;var default_action;var default_url;var blobSlice;var requestFileSystem;var up_plupload;var msgProgLabel=document.createElement("label");msgProgLabel.className="pLabel";var msgProgress=document.createElement("progress");var msgProgressDiv=document.createElement("div");msgProgressDiv.className="progress";msgProgressDiv.appendChild(msgProgLabel);msgProgressDiv.appendChild(msgProgress);(function(j){j["mOxieFileAPIReader"]=function(i){return function(e,f,g){var h=new mOxie.FileReader();h.onload=function(a){var b=this.result.search(/;base64,/);var c=this.result.slice(b+8);var d=new D(window.atob(c));f(d)};h.readAsDataURL(i)}}})(this);var registerLog=function(a,b){jQuery('<div class="'+b+'">'+a+'</div>').appendTo('#log')};function adv_plupload_defaults(){var x={PostInit:function(b){var c=jQuery('#plupload-upload-ui');if(c.length!=0){setResize(getUserSetting('upload_resize',false));if(b.features.dragdrop&&!jQuery(document.body).hasClass('mobile')){c.addClass('drag-drop');jQuery('#drag-drop-area').bind('dragover.wp-uploader',function(){c.addClass('drag-over')}).bind('dragleave.wp-uploader, drop.wp-uploader',function(){c.removeClass('drag-over')})}else{c.removeClass('drag-drop');jQuery('#drag-drop-area').unbind('.wp-uploader')}if(b.runtime=='html4')jQuery('.upload-flash-bypass').hide()}default_action=b.settings.multipart_params['action'];default_url=b.settings.url;up_plupload=b;jQuery('.drop-instructions').show();b.settings.drop_element[0].addEventListener('dragenter',function(e){var a=document.getElementsByClassName('uploader-window');if(a.length>0){a[0].style.display='block';a[0].style.opacity=1;a[0].addEventListener('dragleave',function(e){a[0].style.display='none';a[0].style.opacity=0},false);a[0].addEventListener('drop',function(e){a[0].style.display='none';a[0].style.opacity=0},false)}},false);b.settings.resize=new Object;b.settings.resize.enabled=false;if(adv_uploader){b.settings.chunk_size=max_file_size-2048;b.settings.filters.max_file_size=adv_max_file_size}},FilesAdded:function(a,b){if(adv_uploader){a.settings.url=ajaxurl;a.settings.multipart_params['destinations']=JSON.stringify(destinations);a.settings.multipart_params['action']='adv_upload_plupload';a.settings.multipart_params['security']=security;var c=true;if(typeof b[0].dest==='undefined'){if(typeof wpUploaderInit==='object')c=false;selectDestination(c,b,function(){a.trigger("FilesAdded",b)});return false}else if(typeof b[0].dest==='undefined'){for(var i=0;i<b.length;i++)b[i].dest=0}}else{a.settings.url=default_url;a.settings.max_retries=0;delete a.settings.multipart_params['destinations'];a.settings.multipart_params['action']=default_action;delete a.settings.multipart_params['security']}},BeforeUpload:function(a,b){if(adv_uploader){a.settings.multipart_params['fileDest']=b.dest;a.settings.multipart_params['album']=b.album}},FileUploaded:function(q,r,s){if(adv_uploader){var t=function(d,f,g){var h=new FormData();h.append('action','adv_file_upload_thumbs');h.append('security',security);h.append('filename',u.data.name);if(typeof _wpPluploadSettings==='object')h.append('post_id',wp.media.model.settings.post.id);h.append('meta',JSON.stringify(f));h.append('fileDest',r.dest);h.append('album',r.album);h.append('destinations',JSON.stringify(destinations));for(var j=0;j<g.length;j++){var k=g[j];var l=atob(d[k].split(',')[1]);var m=[];for(var i=0;i<l.length;i++){m.push(l.charCodeAt(i))}var n=u.data.name.split('.').pop();if(n.match(/jpg/))var o=new Blob([new Uint8Array(m)],{type:'image/jpeg'});else var o=new Blob([new Uint8Array(m)],{type:'image/png'});h.append('thumbs[]',o,f[k].file)}console.log(h);var p=jQuery('#media-item-'+r.id);jQuery('.percent',p).html('Completing Upload');jQuery.ajax({'type':"post",'url':ajaxurl,'data':h,'enctype':'multipart/form-data','encoding':'multipart/form-data','cache':false,'processData':false,'contentType':false}).done(function(a){if(typeof a==='string'&&a!=''){if(typeof wpUploaderInit==='object'){try{var b=JSON.parse(a)}catch(e){q.trigger("FileUploaded",r,{'response':'media-upload-error'});return}if(b.success==false){q.trigger("FileUploaded",r,{'response':'media-upload-error'});return}if(b.data.id==false){var c=b.data.id;jQuery('#media-item-'+r.id+' .progress').remove();jQuery('#media-item-'+r.id+' .original').remove();jQuery('<img>').attr({src:b.data.url,class:'pinkynail'}).appendTo('#media-item-'+r.id);jQuery('<div>').attr({class:'filename new'}).html(b.data.name).appendTo('#media-item-'+r.id)}else var c=b.data.id.toString();q.trigger("FileUploaded",r,{'response':c})}else q.trigger("FileUploaded",r,{'response':a})}})};try{var u=JSON.parse(s.response)}catch(e){return}if(u.success=='file_complete'){var v=u.data.name.split('.').pop();if(destinations[r.dest][4]&&v.match(/jpg|jpeg|png|svg/i)){var w=jQuery('#media-item-'+r.id);jQuery('.percent',w).html('Creating thumbs');createThumbImage(r,u.data.name,t,u.data.file)}else if(destinations[r.dest][4]&&v.match(/pdf/i)){var w=jQuery('#media-item-'+r.id);jQuery('.percent',w).html('Creating thumbs');pdf(u.data.file,u.data.name,t)}else t(null,null,new Array());return false}}},Error:function(a,b){alert()},ChunkUploaded:function(a,b,c){var d=jQuery.parseJSON(c.response);if(d&&!d.success){b.status=plupload.FAILED;a.trigger('QueueChanged',b);var e={response:"<div class='media-upload-error'><B>"+b.name+"</B> "+d.data.message+"</div>"};a.trigger('FileUploaded',b,e)}}};if(typeof wpUploaderInit==='object'){wpUploaderInit.preinit=x;max_file_size=parseInt(wpUploaderInit.filters.max_file_size);if(typeof adv_uploader==='boolean'&&adv_uploader)wpUploaderInit.filters.max_file_size=adv_max_file_size}if(typeof _wpPluploadSettings==='object'){_wpPluploadSettings.defaults.preinit=x;max_file_size=parseInt(_wpPluploadSettings.defaults.filters.max_file_size);updatehtml();if(typeof adv_uploader==='boolean'&&adv_uploader)_wpPluploadSettings.defaults.filters.max_file_size=adv_max_file_size}}function toggle_loader(a){if(a=='default'){jQuery('#adv_upload').toggleClass('hidden',true);jQuery('#default_upload').toggleClass('hidden',false)}else{jQuery('#default_upload').toggleClass('hidden',true);jQuery('#adv_upload').toggleClass('hidden',false)}jQuery.ajax({'type':"post",'url':ajaxurl,'data':{'action':"adv_file_upload_set_loader",'loader':a}})}function convertBytes(a){var b='Bytes';if((a%1024)==0){a=a/1024;b='KB'}if(b=='KB'&&(a%1024)==0){a=a/1024;b='MB'}if(b=='MB'&&(a%1024)==0){a=a/1024;b='GB'}return a+' '+b}jQuery(document).ready(function(){if(max_file_size>0)updatehtml()});function updatehtml(){jQuery('.media-upload-form').on('click.uploader',function(e){var a=jQuery(e.target);if(a.is('.upload-flash-bypass a')||a.is('a.uploader-html')){var b=jQuery('.max-upload-size').html();b=b.replace(adv_max_file_size_display,max_file_size_display);jQuery('.max-upload-size').html(b);jQuery('#adv_uploader_checkbox_p').hide()}else if(a.is('.upload-html-bypass a')){jQuery('#adv_uploader_checkbox_p').show();if(adv_uploader){var b=jQuery('.max-upload-size').html();b=b.replace(max_file_size_display,adv_max_file_size_display);jQuery('.max-upload-size').html(b)}}});if(adv_replace_default&&max_file_size>0){max_file_size_display=convertBytes(max_file_size);adv_max_file_size_display=convertBytes(adv_max_file_size);var c='';var d=max_file_size_display;if(adv_uploader){c='checked';d=adv_max_file_size_display}var f='<p id="adv_uploader_checkbox_p" style="cursor: pointer;">'+'<input type="checkbox" id="adv_uploader_checkbox" style="margin-right: 5px;" '+c+'>Use advanced uploader</p>';var g=document.getElementById('tmpl-uploader-inline');if(g!==null){var h=new RegExp(max_file_size_display+'|'+max_file_size_display.replace(/ /,''),'i');var i=g.innerHTML.search(h);var j=g.innerHTML.indexOf('</p>',i);g.innerHTML=g.innerHTML.substring(0,i)+d+g.innerHTML.substring(i+max_file_size_display.length,j+4)+f+g.innerHTML.substring(j+4)}var k=jQuery('.max-upload-size').html();if(typeof k==='string'){var h=new RegExp(max_file_size_display+'|'+max_file_size_display.replace(/ /,''),'i');var i=k.search(h);jQuery('.max-upload-size').html(k.substring(0,i)+d+k.substring(i+max_file_size_display.length)).after(f)}jQuery(document).on('click','#adv_uploader_checkbox_p',show_hide_uploader);jQuery(document).on('click','.media-menu-item',function(e){if(e.target.textContent=='Upload Files')if((!adv_uploader&&jQuery('#adv_uploader_checkbox').attr('checked')=='checked')||(adv_uploader&&jQuery('#adv_uploader_checkbox').attr('checked')==undefined))jQuery('#adv_uploader_checkbox_p').click()})}}function show_hide_uploader(e){if(e.target.id.indexOf('adv_uploader_checkbox')==-1)return;if(e.target.type=='checkbox')var a=e.target;else{var a=document.getElementById('adv_uploader_checkbox');if(a.checked)a.checked=false;else a.checked=true}if(a.checked){adv_uploader=true;up_plupload.settings.filters.max_file_size=adv_max_file_size;up_plupload.settings.chunk_size=max_file_size-2048;var b=jQuery('.max-upload-size').html();b=b.replace(max_file_size_display,adv_max_file_size_display);jQuery('.max-upload-size').html(b)}else{adv_uploader=false;up_plupload.settings.filters.max_file_size=max_file_size;up_plupload.settings.chunk_size=0;var b=jQuery('.max-upload-size').html();b=b.replace(adv_max_file_size_display,max_file_size_display);jQuery('.max-upload-size').html(b)}jQuery.ajax({'type':"post",'url':ajaxurl,'data':{'action':"adv_file_upload_set_loader",'loader':adv_uploader}})}var createThumbImage=function(o,p,q,r){var s=p.split('.').pop();var t=new Image();t.src=r;t.onload=function(){var a=t.width;var b=t.height;if(b>sizes['thumbnail']['height']||a>sizes['thumbnail']['width']||s.match(/svg/i)){var c=new Object();var d=new Object();var e=new Array();var f=b;var g=a;var h='';for(var i in sizes){var b=f;var a=g;var j=sizes[i]['width'];var k=sizes[i]['height'];if(b>k||a>j||s.match(/svg/i)){if(a>f){b*=j/a;a=j}else{a*=k/b;b=k}a=Math.round(a);b=Math.round(b);var l=p.replace(/\.(jpg|jpeg|png|svg)$/i,"-"+a+"x"+b+".jpg");if(h.search(l)==-1){h+=l+';';var m=document.createElement('canvas');m.width=a;m.height=b;var n=m.getContext("2d");n.drawImage(this,0,0,a,b);e.push(i);d[i]=m.toDataURL("image/jpeg",0.9)}c[i]=new Object();c[i].file=l;c[i].width=a;c[i].height=b}}q(d,c,e)}else q(null,null,new Array())}};var pdf=function(p,q,r){PDFJS.disableWorker=true;var s=null;function renderPage(d){s.getPage(d).then(function(a){var b=new Array();for(var c in sizes)b.push(c);createPDFthumb(a,'',b,new Array(),new Object(),new Object())})}function createPDFthumb(a,b,c,d,e,f){var g=c.pop();var h=sizes[g]['width']/a.getViewport(1.0).width;var i=sizes[g]['height']/a.getViewport(1.0).height;var j=h>i?i:h;var k=a.getViewport(j);var l=document.createElement('canvas');var m=l.getContext('2d');l.height=k.height;l.width=k.width;var n=q+"-"+l.width+"x"+l.height+".png";e[g]=new Object();e[g].file=n;e[g].width=l.width;e[g].height=l.height;if(b.search(n)==-1){b+=n+';';var o={canvasContext:m,viewport:k};a.render(o).then(function(){d.push(g);f[g]=l.toDataURL("image/png");if(c.length>0)createPDFthumb(a,b,c,d,e,f);else{r(f,e,d)}})}else{if(c.length>0)createPDFthumb(a,b,c,d,e,f);else{r(f,e,d)}}}var t={};var u=new FileReader();u.onload=function webViewerChangeFileReaderOnload(b){var c=b.target.result;t.data=new Uint8Array(c);PDFJS.getDocument(t).then(function getPdfForm(a){s=a;renderPage(1)})};PDFJS.getDocument(p).then(function getPdfForm(a){s=a;renderPage(1)})};function handleDragOver(a){a.stopPropagation();a.preventDefault();a.dataTransfer.dropEffect='copy'}function handleDragEnter(a){a.currentTarget.classList.add('drag-over')}function handleDragLeave(a){a.currentTarget.classList.remove('drag-over')}function selectDestination(l,m,n){if(m.length==0){return}var o=0;if(l)for(var i=0;i<destinations.length;i++)if(destinations[i][4])o++;if(destinations.length==1||o==1){for(var i=0;i<m.length;i++)m[i].dest=0;n();return}var p='<option value="">Select Destination</option>';var q="";for(var i=0;i<destinations.length;i++){if(!l||(l&&destinations[i][4])){if(q!=destinations[i][2]){if(q!=""){p+='</optgroup>'}p+='<optgroup label="'+destinations[i][2]+'">'}p+='<option value="'+i+'">'+destinations[i][0]+'</option>';q=destinations[i][2]}}if(q!=""){p+='</optgroup>'}var r='<option value="">Select category</option>';for(var i=0;i<categories.length;i++){r+='<option class="'+categories[i][2]+'" value="'+i+'">'+categories[i][1]+'</option>'}var s='';if(l&&destinations.length>o)s+='<i>Can only upload to Library from this page.</i>';if(m.length>1)s+='<p>Select destination for all files';else s+='<p>Select destination for '+m[0].name;s+='<select id="dest">';s+=p;s+='</select>';s+='<span id="wg_" class="hide gallery_name"><input class="alignright" type=text />Gallery name: </span>';s+='<select id="cat" class="hide">';s+=r;s+='</select>';s+='</p>';if(m.length>1){s+='<div class="dashed"></div>';s+='<p>Or select destination for each file</p>';for(var i=0;i<m.length;i++){s+='<div class="option">'+m[i].name+'<select id="dest'+i+'" class="file" name="file'+i+'">';s+=p;s+='</select>';s+='<span id="wg_'+i+'" class="hide gallery_name"><input class="alignright" type=text />Gallery name:</span>';s+='<select id="cat'+i+'" class="hide">';s+=r;s+='</select></div>'}}var t=jQuery("<div id='dest-popup' />").html(s);var u=function(i){var b=m[i].getSource();b.index=i;if(b.name.split('.').pop()=='mp3'){ID3.loadTags(b.name,function(){var a=ID3.getAllTags(b.name);m[b.index].album=a.album;if(b.index<m.length-1)u(b.index+1)},{tags:["album"],dataReader:mOxieFileAPIReader(b)})}else if(b.index<m.length-1)u(b.index+1)};u(0);var v=function(e){jQuery('#dest-popup .error').remove();var d=jQuery('#dest :selected').val();var f=jQuery('.file :selected');if(e.target.id=="dest"&&d.length==0)return false;else if(d.length){for(var i=0;i<m.length;i++)m[i].dest=d;if(destinations[d]&&destinations[d][2]=='Category'){if(jQuery("#adv_cat").val()==''){jQuery("<div>").attr({'id':'adv_err_cat','class':'clear alignright media-item error'}).html('You must enter an existing category').insertAfter('#ac_cat');return false}for(var i=0;i<m.length;i++)m[i].album=jQuery("#adv_cat").val()}else if(destinations[d]&&destinations[d][2]=='Wordpress Gallery'&&destinations[d][3]=='new'){if(jQuery("#wg_ input").val()==''){jQuery("<div>").attr({'id':'adv_err_gal','class':'clear alignright media-item error'}).html('You must enter a name for the new gallery').insertAfter('#wg_ input');return false}jQuery.post(ajaxurl,{'action':'adv_file_upload_new_post','security':security,'title':JSON.stringify(new Array(jQuery("#wg_ input").val()))},function(a){for(var i=0;i<m.length;i++)m[i].album=a[0].id;n();t.dialog('close')},"json");return false}n();t.dialog('close')}else if(f.length){var g=false;var h=false;var j=new Object();for(var i=0;i<f.length;i++){var k=f[i].value;if(k.length==0){jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination').insertAfter('#dest'+i);g=true}else{m[i].dest=k;if(destinations[k]&&destinations[k][2]=='Category'){if(jQuery("#adv_cat"+i).val()==''){jQuery("<div>").attr({'id':'adv_err_cat'+i,'class':'clear alignright media-item error'}).html('You must enter an existing category').insertAfter('#ac_cat'+i);h=true}m[i].album=jQuery("#adv_cat"+i).val()}else if(destinations[k]&&destinations[k][2]=='Wordpress Gallery'&&destinations[k][3]=='new'){if(jQuery("#wg_"+i+" input").val()==''){jQuery("<div>").attr({'id':'adv_err_gal'+i,'class':'clear alignright media-item error'}).html('You must enter a name for the new gallery').insertAfter('#wg_'+i+' input');h=true}if(typeof j[jQuery("#wg_"+i+" input").val()]==='undefined')j[jQuery("#wg_"+i+" input").val()]=i.toString();else j[jQuery("#wg_"+i+" input").val()]+=','+i.toString()}}}if(g){jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination for all files').insertAfter('#dest');return false}if(h)return false;if(!jQuery.isEmptyObject(j)){jQuery.post(ajaxurl,{'action':'adv_file_upload_new_post','security':security,'title':JSON.stringify(Object.keys(j))},function(a){for(var b in a){var c=j[a[b].title].split(",");for(var i=0;i<c.length;i++)m[c[i]].album=a[b].id}n();t.dialog('close')},"json");return false}else{n();t.dialog('close')}}else{jQuery("<div>").attr({'class':'clear alignright media-item error'}).html('You must enter a destination').insertAfter('#dest');return false}};var w=function(e){var a=e.target.id.match(/^dest(.*)/)[1];var b='cat'+a;if(destinations[e.target.selectedIndex-1]&&destinations[e.target.selectedIndex-1][2]=='Category'){jQuery("#wg_"+a).hide();jQuery("#adv_err_gal"+a).remove();if(jQuery("#ac_"+b).length==0){jQuery("#"+b).combobox({desc:'adv_'+b,id:'ac_'+b});if(a=='')a=0;if(m[a].album)jQuery('#ac_'+b+' input').val(m[a].album)}else jQuery("#ac_"+b).show()}else if(destinations[e.target.selectedIndex-1]&&destinations[e.target.selectedIndex-1][2]=='Wordpress Gallery'&&destinations[e.target.selectedIndex-1][3]=='new'){jQuery("#ac_"+b).hide();jQuery("#adv_err_"+b).remove();jQuery("#wg_"+a).css("display","block")}else{jQuery("#wg_"+a).hide();jQuery("#ac_"+b).hide();jQuery("#adv_err_"+b).remove();jQuery("#adv_err_gal"+a).remove();if(a=='')v(e)}};jQuery(document).on('change','.ui-dialog select',w);t.dialog({title:'Destination',dialogClass:'wp-dialog',width:'auto',modal:true,autoOpen:false,closeOnEscape:true,buttons:[{'text':'Cancel','class':'button-primary','click':function(){jQuery(this).dialog('close')}},{'text':'Select','class':'button-primary','click':v}],close:function(){jQuery(this).dialog('destroy').remove()}});t.dialog('open')}(function($){$.widget("custom.combobox",{_create:function(){this.wrapper=$("<div>").addClass("custom-combobox").attr('id',this.options.id).insertAfter(this.element);this.element.hide();this._createAutocomplete();this._createShowAllButton()},_createAutocomplete:function(){var c=this.element.children(":selected"),value=c.val()?c.text():"";this.input=$("<input>").appendTo(this.wrapper).attr('id',this.options.desc).attr('name',this.options.desc).val(value).attr("title","").addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-all").autocomplete({delay:0,minLength:0,source:$.proxy(this,"_source")});this._on(this.input,{autocompleteselect:function(a,b){b.item.option.selected=true;this._trigger("select",a,{item:b.item.option})},autocompletechange:"_removeIfInvalid"})},_createShowAllButton:function(){var a=this.input,wasOpen=false;$("<a>").attr("tabIndex",-1).attr("title","Show All Items").height($('#'+this.options.desc).innerHeight()-6).appendTo(this.wrapper).button({icons:{primary:"ui-icon-triangle-1-s"},text:false}).removeClass("ui-corner-all").addClass("custom-combobox-toggle").mousedown(function(){wasOpen=a.autocomplete("widget").is(":visible")}).click(function(){a.focus();if(wasOpen){return}a.autocomplete("search","")})},_source:function(b,c){var d=new RegExp($.ui.autocomplete.escapeRegex(b.term),"i");c(this.element.children("option").map(function(){var a=$(this).text();if(this.value&&(!b.term||d.test(a)))return{label:a,value:a,option:this}}))},_removeIfInvalid:function(a,b){if(b.item){return}var c=this.input.val(),valueLowerCase=c.toLowerCase(),valid=false;this.element.children("option").each(function(){if($(this).text().toLowerCase()===valueLowerCase){this.selected=valid=true;return false}});if(valid){return}this.input.val("");this.element.val("");this.input.data("ui-autocomplete").term=""},_destroy:function(){this.wrapper.remove();this.element.show()}})})(jQuery);
  • advanced-uploader/trunk/readme.txt

    r1033083 r1038133  
    44Requires at least: 3.5
    55Tested up to: 4.0
    6 Stable tag: 2.05
     6Stable tag: 2.06
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1818* Creates thumbnails in browser instead of server.  This is to avoid memory limits on shared hosts.
    1919* Creates thumbnails for PDF files using PDF.js.
     20* Creates thumbnails for SVG files for browser compability.
    2021* Add files straight to Wordpress Gallery.
    2122* Add files straight to BWS Gallery.
     
    5152
    5253== Changelog ==
     54= 2.06 =
     55* fixed bug with no destinations causing php warning
     56* add SVG support
    5357= 2.05 =
    5458* added scan uploads directory function
     
    102106
    103107== Upgrade Notice ==
     108= 2.06 = added SVG Support and minor bugfixes
    104109= 2.05 = added scan uploads directory function
    105110= 2.04 = minor bugfixes
  • advanced-uploader/trunk/upload.php

    r1033083 r1038133  
    44    Plugin URI:
    55    Description: This plugin provides an interface for uploading files.  Features - large files to upload to your site even on shared host with http upload limit.  creates thumbnails in the browser including pdf thumbnails.
    6     Version: 2.05
     6    Version: 2.06
    77    Author: Oli Redmond
    88    Author URI:
     
    6666        global $adv_file_upload_admin_page, $wpdb;
    6767        //get plugin's options
    68         $destinations = get_option('adv_file_upload_destination', array());
     68        $destinations = get_option('adv_file_upload_destination');
     69        if( $destinations == false )
     70            $destinations = array();
    6971        $gallery = get_option('adv_file_upload_gallery');
    7072        $bws = get_option('adv_file_upload_bws');
     
    7375        $progress = get_option('adv_file_upload_progress');
    7476        $maxFileSize = '1073741824';
    75        
     77
    7678        //set the default location
    7779        $upload_dir = wp_upload_dir();
     
    265267        if( $adv_file_upload_admin_page == $hook || get_option('adv_file_upload_replace_default') ) {
    266268            //register scripts here to make them work on plugin pages
    267             wp_register_script( 'adv-file-upload', plugins_url('/js/upload.min.js', __FILE__), array( 'plupload', 'adv-file-upload-pdf-js', 'adv-file-upload-id3-js', 'jquery-ui-autocomplete', 'jquery-ui-dialog' ), '2.2');
     269            wp_register_script( 'adv-file-upload', plugins_url('/js/upload.min.js', __FILE__), array( 'plupload', 'adv-file-upload-pdf-js', 'adv-file-upload-id3-js', 'jquery-ui-autocomplete', 'jquery-ui-dialog' ), '2.3');
    268270
    269271            //TBD wp_register_script( 'adv-file-upload-spark-md5', plugins_url('/js/spark-md5.min.js', __FILE__) );
     
    728730    }
    729731   
    730     function show_attachment_thumb( $link, $id, $size, $permalink, $icon, $text) {
     732    function adv_file_upload_show_attachment_thumb( $link, $id, $size, $permalink, $icon, $text) {
    731733        $id = intval( $id );
    732734        $_post = & get_post( $id );
     
    747749            return $link;
    748750    }
    749     add_filter( 'wp_get_attachment_link', 'show_attachment_thumb', 100, 6 );
     751    add_filter( 'wp_get_attachment_link', 'adv_file_upload_show_attachment_thumb', 100, 6 );
    750752
    751753    //if thumbnail exist replace default icon
    752     function change_mime_icon($icon, $mime = null, $post_id = null){
     754    function adv_file_upload_change_mime_icon($icon, $mime = null, $post_id = null){
    753755        //get the path and URL to thumbnail and  store globally
    754756        global $thumb_path;
     
    771773            return $icon;
    772774    }
    773     add_filter('wp_mime_type_icon', 'change_mime_icon', 100, 3);    //if thumbnail exist replace default icon
    774 
    775     function change_icon_dir($icon_dir) {
     775    add_filter('wp_mime_type_icon', 'adv_file_upload_change_mime_icon', 100, 3);    //if thumbnail exist replace default icon
     776
     777    function adv_file_upload_change_icon_dir($icon_dir) {
    776778        //retrive globally stored thumb path
    777779        global $thumb_path;
     
    783785            return $icon_dir;
    784786    }
    785     add_filter('icon_dir', 'change_icon_dir', 100, 1);
     787    add_filter('icon_dir', 'adv_file_upload_change_icon_dir', 100, 1);
     788
     789    function adv_file_upload_upload_mimes($mimes = array()) {
     790        // allow SVG file upload
     791        $mimes['svg'] = 'image/svg+xml';
     792       
     793        return $mimes;
     794    }
     795    add_filter( 'upload_mimes', 'adv_file_upload_upload_mimes' );
    786796
    787797    // Hide image overflow for icons replace with thumbnails in the ADMIN AREA
Note: See TracChangeset for help on using the changeset viewer.