From 80bb0f2222dd99ed2ce59e804b833bab63cc376a Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 9 May 2013 01:40:46 -0400 Subject: Strip URL fragments off of direct requests to uploadify SWF files. Fixes #2068. --- lib/uploadify/jquery.uploadify.min.js | 64 ++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 27 deletions(-) (limited to 'lib/uploadify/jquery.uploadify.min.js') diff --git a/lib/uploadify/jquery.uploadify.min.js b/lib/uploadify/jquery.uploadify.min.js index 17127a71..c7edbeb1 100644 --- a/lib/uploadify/jquery.uploadify.min.js +++ b/lib/uploadify/jquery.uploadify.min.js @@ -1,27 +1,37 @@ - -if(jQuery)(function(jQuery){jQuery.extend(jQuery.fn,{uploadify:function(options){jQuery(this).each(function(){settings=jQuery.extend({id:jQuery(this).attr('id'),uploader:'uploadify.swf',script:'uploadify.php',expressInstall:null,folder:'',height:30,width:110,cancelImg:'cancel.png',wmode:'opaque',scriptAccess:'sameDomain',fileDataName:'Filedata',method:'POST',queueSizeLimit:999,simUploadLimit:1,queueID:false,displayData:'percentage',onInit:function(){},onSelect:function(){},onQueueFull:function(){},onCheck:function(){},onCancel:function(){},onError:function(){},onProgress:function(){},onComplete:function(){},onAllComplete:function(){}},options);var pagePath=location.pathname;pagePath=pagePath.split('/');pagePath.pop();pagePath=pagePath.join('/')+'/';var data={};data.uploadifyID=settings.id;data.pagepath=pagePath;if(settings.buttonImg)data.buttonImg=escape(settings.buttonImg);if(settings.buttonText)data.buttonText=escape(settings.buttonText);if(settings.rollover)data.rollover=true;data.script=settings.script;data.folder=escape(settings.folder);if(settings.scriptData){var scriptDataString='';for(var name in settings.scriptData){scriptDataString+='&'+name+'='+settings.scriptData[name];} -data.scriptData=escape(scriptDataString.substr(1));} -data.width=settings.width;data.height=settings.height;data.wmode=settings.wmode;data.method=settings.method;data.queueSizeLimit=settings.queueSizeLimit;data.simUploadLimit=settings.simUploadLimit;if(settings.hideButton)data.hideButton=true;if(settings.fileDesc)data.fileDesc=settings.fileDesc;if(settings.fileExt)data.fileExt=settings.fileExt;if(settings.multi)data.multi=true;if(settings.auto)data.auto=true;if(settings.sizeLimit)data.sizeLimit=settings.sizeLimit;if(settings.checkScript)data.checkScript=settings.checkScript;if(settings.fileDataName)data.fileDataName=settings.fileDataName;if(settings.queueID)data.queueID=settings.queueID;if(settings.onInit()!==false){jQuery(this).css('display','none');jQuery(this).after('
');swfobject.embedSWF(settings.uploader,settings.id+'Uploader',settings.width,settings.height,'9.0.24',settings.expressInstall,data,{'quality':'high','wmode':settings.wmode,'allowScriptAccess':settings.scriptAccess});if(settings.queueID==false){jQuery("#"+jQuery(this).attr('id')+"Uploader").after('
');}} -if(typeof(settings.onOpen)=='function'){jQuery(this).bind("uploadifyOpen",settings.onOpen);} -jQuery(this).bind("uploadifySelect",{'action':settings.onSelect,'queueID':settings.queueID},function(event,ID,fileObj){if(event.data.action(event,ID,fileObj)!==false){var byteSize=Math.round(fileObj.size/1024*100)*.01;var suffix='KB';if(byteSize>1000){byteSize=Math.round(byteSize*.001*100)*.01;suffix='MB';} -var sizeParts=byteSize.toString().split('.');if(sizeParts.length>1){byteSize=sizeParts[0]+'.'+sizeParts[1].substr(0,2);}else{byteSize=sizeParts[0];} -if(fileObj.name.length>20){fileName=fileObj.name.substr(0,20)+'...';}else{fileName=fileObj.name;} -queue='#'+jQuery(this).attr('id')+'Queue';if(event.data.queueID){queue='#'+event.data.queueID;} -jQuery(queue).append('
\ -
\ - \ -
\ - \ -
\ -
\ -
\ -
');jQuery('div#'+jQuery(this).attr('id')+ID+' span.fileName').text(fileName+' ('+byteSize+suffix+')');}});if(typeof(settings.onSelectOnce)=='function'){jQuery(this).bind("uploadifySelectOnce",settings.onSelectOnce);} -jQuery(this).bind("uploadifyQueueFull",{'action':settings.onQueueFull},function(event,queueSizeLimit){if(event.data.action(event,queueSizeLimit)!==false){alert('The queue is full. The max size is '+queueSizeLimit+'.');}});jQuery(this).bind("uploadifyCheckExist",{'action':settings.onCheck},function(event,checkScript,fileQueueObj,folder,single){var postData=new Object();postData=fileQueueObj;postData.folder=pagePath+folder;if(single){for(var ID in fileQueueObj){var singleFileID=ID;}} -jQuery.post(checkScript,postData,function(data){for(var key in data){if(event.data.action(event,checkScript,fileQueueObj,folder,single)!==false){var replaceFile=confirm("Do you want to replace the file "+data[key]+"?");if(!replaceFile){document.getElementById(jQuery(event.target).attr('id')+'Uploader').cancelFileUpload(key,true,true);}}} -if(single){document.getElementById(jQuery(event.target).attr('id')+'Uploader').startFileUpload(singleFileID,true);}else{document.getElementById(jQuery(event.target).attr('id')+'Uploader').startFileUpload(null,true);}},"json");});jQuery(this).bind("uploadifyCancel",{'action':settings.onCancel},function(event,ID,fileObj,data,clearFast){if(event.data.action(event,ID,fileObj,data,clearFast)!==false){var fadeSpeed=(clearFast==true)?0:250;jQuery("#"+jQuery(this).attr('id')+ID).fadeOut(fadeSpeed,function(){jQuery(this).remove()});}});if(typeof(settings.onClearQueue)=='function'){jQuery(this).bind("uploadifyClearQueue",settings.onClearQueue);} -var errorArray=[];jQuery(this).bind("uploadifyError",{'action':settings.onError},function(event,ID,fileObj,errorObj){if(event.data.action(event,ID,fileObj,errorObj)!==false){var fileArray=new Array(ID,fileObj,errorObj);errorArray.push(fileArray);jQuery("#"+jQuery(this).attr('id')+ID+" .percentage").text(" - "+errorObj.type+" Error");jQuery("#"+jQuery(this).attr('id')+ID).addClass('uploadifyError');}});jQuery(this).bind("uploadifyProgress",{'action':settings.onProgress,'toDisplay':settings.displayData},function(event,ID,fileObj,data){if(event.data.action(event,ID,fileObj,data)!==false){jQuery("#"+jQuery(this).attr('id')+ID+"ProgressBar").css('width',data.percentage+'%');if(event.data.toDisplay=='percentage')displayData=' - '+data.percentage+'%';if(event.data.toDisplay=='speed')displayData=' - '+data.speed+'KB/s';if(event.data.toDisplay==null)displayData=' ';jQuery("#"+jQuery(this).attr('id')+ID+" .percentage").text(displayData);}});jQuery(this).bind("uploadifyComplete",{'action':settings.onComplete},function(event,ID,fileObj,response,data){if(event.data.action(event,ID,fileObj,unescape(response),data)!==false){jQuery("#"+jQuery(this).attr('id')+ID+" .percentage").text(' - Completed');jQuery("#"+jQuery(this).attr('id')+ID).fadeOut(250,function(){jQuery(this).remove()});}});if(typeof(settings.onAllComplete)=='function'){jQuery(this).bind("uploadifyAllComplete",{'action':settings.onAllComplete},function(event,uploadObj){if(event.data.action(event,uploadObj)!==false){errorArray=[];}});}});},uploadifySettings:function(settingName,settingValue,resetObject){var returnValue=false;jQuery(this).each(function(){if(settingName=='scriptData'&&settingValue!=null){if(resetObject){var scriptData=settingValue;}else{var scriptData=jQuery.extend(settings.scriptData,settingValue);} -var scriptDataString='';for(var name in scriptData){scriptDataString+='&'+name+'='+escape(scriptData[name]);} -settingValue=scriptDataString.substr(1);} -returnValue=document.getElementById(jQuery(this).attr('id')+'Uploader').updateSettings(settingName,settingValue);});if(settingValue==null){if(settingName=='scriptData'){var returnSplit=unescape(returnValue).split('&');var returnObj=new Object();for(var i=0;i'),swfobject.embedSWF(settings.uploader,settings.id+"Uploader",settings.width,settings.height,"9.0.24",settings.expressInstall,b,{quality:"high",wmode:settings.wmode,allowScriptAccess:settings.scriptAccess}),!1==settings.queueID&&a("#"+a(this).attr("id")+ +"Uploader").after('
'));"function"==typeof settings.onOpen&&a(this).bind("uploadifyOpen",settings.onOpen);a(this).bind("uploadifySelect",{action:settings.onSelect,queueID:settings.queueID},function(k,d,b){if(!1!==k.data.action(k,d,b)){var c=0.01*Math.round(100*(b.size/1024)),h="KB";1E3\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t
\x3c!--Progress Bar--\x3e
\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t');a("div#"+a(this).attr("id")+d+" span.fileName").text(fileName+" ("+c+h+")")}});"function"==typeof settings.onSelectOnce&&a(this).bind("uploadifySelectOnce",settings.onSelectOnce);a(this).bind("uploadifyQueueFull",{action:settings.onQueueFull},function(a,b){!1!==a.data.action(a,b)&&alert("The queue is full. The max size is "+b+".")});a(this).bind("uploadifyCheckExist", +{action:settings.onCheck},function(b,d,m,c,h){var e={},e=m;e.folder=f+c;if(h)for(var g in m)var j=g;a.post(d,e,function(f){for(var e in f)!1!==b.data.action(b,d,m,c,h)&&(confirm("Do you want to replace the file "+f[e]+"?")||document.getElementById(a(b.target).attr("id")+"Uploader").cancelFileUpload(e,!0,!0));h?document.getElementById(a(b.target).attr("id")+"Uploader").startFileUpload(j,!0):document.getElementById(a(b.target).attr("id")+"Uploader").startFileUpload(null,!0)},"json")});a(this).bind("uploadifyCancel", +{action:settings.onCancel},function(b,d,f,c,e){!1!==b.data.action(b,d,f,c,e)&&a("#"+a(this).attr("id")+d).fadeOut(!0==e?0:250,function(){a(this).remove()})});"function"==typeof settings.onClearQueue&&a(this).bind("uploadifyClearQueue",settings.onClearQueue);var l=[];a(this).bind("uploadifyError",{action:settings.onError},function(b,d,e,c){!1!==b.data.action(b,d,e,c)&&(l.push([d,e,c]),a("#"+a(this).attr("id")+d+" .percentage").text(" - "+c.type+" Error"),a("#"+a(this).attr("id")+d).addClass("uploadifyError"))}); +a(this).bind("uploadifyProgress",{action:settings.onProgress,toDisplay:settings.displayData},function(b,d,e,c){!1!==b.data.action(b,d,e,c)&&(a("#"+a(this).attr("id")+d+"ProgressBar").css("width",c.percentage+"%"),"percentage"==b.data.toDisplay&&(displayData=" - "+c.percentage+"%"),"speed"==b.data.toDisplay&&(displayData=" - "+c.speed+"KB/s"),null==b.data.toDisplay&&(displayData=" "),a("#"+a(this).attr("id")+d+" .percentage").text(displayData))});a(this).bind("uploadifyComplete",{action:settings.onComplete}, +function(b,d,e,c,f){!1!==b.data.action(b,d,e,unescape(c),f)&&(a("#"+a(this).attr("id")+d+" .percentage").text(" - Completed"),a("#"+a(this).attr("id")+d).fadeOut(250,function(){a(this).remove()}))});"function"==typeof settings.onAllComplete&&a(this).bind("uploadifyAllComplete",{action:settings.onAllComplete},function(a,b){!1!==a.data.action(a,b)&&(l=[])})})},uploadifySettings:function(e,f,b){var g=!1;a(this).each(function(){if("scriptData"==e&&null!=f){var d=b?f:a.extend(settings.scriptData,f),c= +"",h;for(h in d)c+="&"+h+"="+escape(d[h]);f=c.substr(1)}g=document.getElementById(a(this).attr("id")+"Uploader").updateSettings(e,f)});if(null==f){if("scriptData"==e){for(var j=unescape(g).split("&"),l={},k=0;k