Вход Регистрация
Файл: module-assets/admin/plupload/js/plupload.min.js
Строк: 670
<?php
/**
 * Plupload - multi-runtime File Uploader
 * v2.0a
 *
 * Copyright 2013, Moxiecode Systems AB
 * Released under GPL License.
 *
 * License: http://www.plupload.com/license
 * Contributing: http://www.plupload.com/contributing
 *
 * Date: 2012-11-30
 */
;(function(e,t,n){function i(e){function r(e,t,r){var i={chunks:"slice_blob",resize:"send_binary_string",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",canSendBinary:"send_binary"};i[e]?n[i[e]]=t:r||(n[e]=t)}var t=e.required_features,n={};return typeof t=="string"?s.each(t.split(/s*,s*/),function(e){r(e,!0)}):typeof t=="object"&&s.each(t,function(e,t){r(t,e)}),e.multipart||(n.send_binary_string=!0),e.chunks.size||delete e.chunks,s.each(e,function(e,t){r(t,!!e,!0)}),n}var r=e.setTimeout,s={VERSION:"2.0a",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:t.mimes,ua:t.ua,typeOf:t.typeOf,extend:t.extend,guid:t.guid,each:t.each,getPos:t.getPos,getSize:t.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},n=/[<>&"']/g;return e?(""+e).replace(n,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:t.toArray,inArray:t.inArray,addI18n:t.addI18n,translate:t.translate,isEmptyObj:t.isEmptyObj,hasClass:t.hasClass,addClass:t.addClass,removeClass:t.removeClass,getStyle:t.getStyle,addEvent:t.addEvent,removeEvent:t.removeEvent,removeAllEvents:t.removeAllEvents,cleanName:function(e){var t,n;n=[/[300-306]/g,"A",/[340-346]/g,"a",/307/g,"C",/347/g,"c",/[310-313]/g,"E",/[350-353]/g,"e",/[314-317]/g,"I",/[354-357]/g,"i",/321/g,"N",/361/g,"n",/[322-330]/g,"O",/[362-370]/g,"o",/[331-334]/g,"U",/[371-374]/g,"u"];for(t=0;t<n.length;t+=2)e=e.replace(n[t],n[t+1]);return e=e.replace(/s+/g,"_"),e=e.replace(/[^a-z0-9_-.]+/gi,""),e},buildUrl:function(e,t){var n="";return s.each(t,function(e,t){n+=(n?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)}),n&&(e+=(e.indexOf("?")>0?"&":"?")+n),e},formatSize:function(e){return e===n||/D/.test(e)?s.translate("N/A"):e>1099511627776?Math.round(e/1099511627776,1)+" "+s.translate("tb"):e>1073741824?Math.round(e/1073741824,1)+" "+s.translate("gb"):e>1048576?Math.round(e/1048576,1)+" "+s.translate("mb"):e>1024?Math.round(e/1024,1)+" "+s.translate("kb"):e+" "+s.translate("b")},parseSize:t.parseSizeStr,predictRuntime:function(e){return t.Runtime.thatCan(i(s.extend({},e)))}};s.Uploader=function(e){function m(){var e,t=0,n;if(this.state==s.STARTED){for(n=0;n<u.length;n++)!e&&u[n].status==s.QUEUED?(e=u[n],this.trigger("BeforeUpload",e)&&(e.status=s.UPLOADING,this.trigger("UploadFile",e))):t++;t==u.length&&(this.state!==s.STOPPED&&(this.state=s.STOPPED,this.trigger("StateChanged")),this.trigger("UploadComplete",u))}}function g(e){e.percent=e.size>0?Math.ceil(e.loaded/e.size*100):100,y()}function y(){var e,t;c.reset();for(e=0;e<u.length;e++)t=u[e],t.size!==n?(c.size+=t.origSize,c.loaded+=t.loaded*t.origSize/t.size):c.size=n,t.status==s.DONE?c.uploaded++:t.status==s.FAILED?c.failed++:c.queued++;c.size===n?c.percent=u.length>0?Math.ceil(c.uploaded/u.length*100):0:(c.bytesPerSec=Math.ceil(c.loaded/((+(new Date)-l||1)/1e3)),c.percent=c.size>0?Math.ceil(c.loaded/c.size*100):0)}function b(e){var t,n=[];for(t=0;t<e.length;t++)n.push(new s.File(e[t]));n.length&&this.trigger("FilesAdded",n)}function w(){var n=this,r=0,i={accept:e.filters,runtime_order:e.runtimes,required_caps:f,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};s.each(e.runtimes.split(/s*,s*/),function(t){e[t]&&(i[t]=e[t])}),t.inSeries([function(u){e.browse_button?(p=new t.FileInput(s.extend({},i,{name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:e.browse_button})),p.onready=function(){var e=t.Runtime.getInfo(this.ruid);t.extend(n.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),r++,u()},p.onchange=function(){b.call(n,this.files)},p.bind("mouseenter mouseleave mousedown mouseup",function(n){if(!h){var r=t.get(e.browse_button);r&&(e.browse_button_hover&&("mouseenter"===n.type?t.addClass(r,e.browse_button_hover):"mouseleave"===n.type&&t.removeClass(r,e.browse_button_hover)),e.browse_button_active&&("mousedown"===n.type?t.addClass(r,e.browse_button_active):"mouseup"===n.type&&t.removeClass(r,e.browse_button_active)),r=null)}}),p.bind("error runtimeerror",function(){u()}),p.init()):u()},function(u){e.drop_element?(d=new t.FileDrop(s.extend({},i,{drop_zone:e.drop_element})),d.onready=function(){var e=t.Runtime.getInfo(this.ruid);n.features.dragdrop=e.can("drag_and_drop"),r++,u()},d.ondrop=function(){b.call(n,this.files)},d.bind("error runtimeerror",function(){u()}),d.init()):u()}],function(){r?(n.trigger("PostInit"),typeof e.init=="function"?e.init(n):s.each(e.init,function(e,t){n.bind(t,e)})):n.trigger("Error",{code:s.INIT_ERROR,message:s.translate("Init error.")})})}function E(e,n){if(e.ruid){var r=t.Runtime.getInfo(e.ruid);if(r)return r.can(n)}return!1}function S(e,n,r){var i=new t.Image;try{i.onload=function(){i.downsize(n.width,n.height,n.crop,n.preserve_headers)},i.onresize=function(){r(this.getAsBlob(e.type,n.quality)),this.destroy()},i.onerror=function(){r(e)},i.load(e)}catch(s){r(e)}}var u=[],a={},f={},l,c,h=!1,p,d,v;c=new s.QueueProgress,e=s.extend({max_retries:0,multipart:!0,multi_selection:!0,file_data_name:"file",filters:[],prevent_duplicates:!1},e),e.resize&&(e.resize=s.extend({preserve_headers:!0,crop:!1},e.resize)),e.chunks=s.extend({size:e.chunk_size||0,send_chunk_number:!1},e.chunks),f=i(s.extend({},e)),s.extend(this,{id:s.guid(),state:s.STOPPED,features:{},files:u,settings:e,total:c,init:function(){var i=this;e.chunks.size=s.parseSize(e.chunks.size),e.max_file_size=s.parseSize(e.max_file_size),e.drop_element=t.get(e.drop_element),typeof e.preinit=="function"?e.preinit(i):s.each(e.preinit,function(e,t){i.bind(t,e)}),i.bind("FilesAdded",function(t,o){var a,f,l,c=0,h,p=e.filters;p&&p.length&&(h=[],s.each(p,function(e){s.each(e.extensions.split(/,/),function(e){/^s**s*$/.test(e)?h.push("\.*"):h.push("\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\".replace(/./g,"\$&")+"]","g"),"\$&"))})}),h=new RegExp("("+h.join("|")+")$","i"));e:for(a=0;a<o.length;a++){l=o[a],l.loaded=0,l.percent=0,l.status=s.QUEUED;if(h&&!h.test(l.name)){t.trigger("Error",{code:s.FILE_EXTENSION_ERROR,message:s.translate("File extension error."),file:l});continue}if(l.size!==n&&l.size>e.max_file_size){t.trigger("Error",{code:s.FILE_SIZE_ERROR,message:s.translate("File size error."),file:l});continue}if(e.prevent_duplicates){f=t.files.length;while(f--)if(l.name===t.files[f].name&&l.size===t.files[f].size){t.trigger("Error",{code:s.FILE_DUPLICATE_ERROR,message:s.translate("Duplicate file error."),file:l});continue e}}u.push(l),c++}if(!c)return!1;r(function(){i.trigger("QueueChanged"),i.refresh()},1)}),i.bind("CancelUpload",function(){v&&v.abort()}),e.unique_names&&i.bind("UploadFile",function(e,t){var n=t.name.match(/.([^.]+)$/),r="part";n&&(r=n[1]),t.target_name=t.id+"."+r}),i.bind("UploadFile",function(n,i){function d(){c-->0?r(m,1):(i.loaded=p,n.trigger("Error",{code:s.HTTP_ERROR,message:s.translate("HTTP Error."),file:i,status:v.status}))}function m(){var c,g,y,b;if(i.status==s.DONE||i.status==s.FAILED||n.state==s.STOPPED)return;y={name:i.target_name||i.name},l&&a.chunks&&h.size>l?(b=Math.min(l,h.size-p),c=h.slice(p,p+b),e.chunks.send_chunk_number?(y.chunk=Math.ceil(p/l),y.chunks=Math.ceil(h.size/l)):(y.offset=p,y.total=h.size)):(b=h.size,c=h),v=new t.XMLHttpRequest,v.upload&&(v.upload.onprogress=function(e){i.loaded=Math.min(i.size,p+e.loaded),n.trigger("UploadProgress",i)}),v.onload=function(){if(v.status>=400){d();return}b<h.size?(c.destroy(),p+=b,i.loaded=Math.min(p,h.size),n.trigger("ChunkUploaded",i,{offset:i.loaded,total:h.size,response:v.responseText,status:v.status})):i.loaded=i.size,n.trigger("UploadProgress",i),c=g=null,!p||p>=h.size?(i.size!=i.origSize&&(h.destroy(),h=null),i.status=s.DONE,n.trigger("FileUploaded",i,{response:v.responseText,status:v.status})):r(m,1)},v.onerror=function(){d()},v.onloadend=function(){this.destroy(),v=null},n.settings.multipart&&a.multipart?(y.name=i.target_name||i.name,v.open("post",u,!0),s.each(n.settings.headers,function(e,t){v.setRequestHeader(t,e)}),g=new t.FormData,s.each(s.extend(y,n.settings.multipart_params),function(e,t){g.append(t,e)}),g.append(n.settings.file_data_name,c),v.send(g,{runtime_order:n.settings.runtimes,required_caps:f,swf_url:n.settings.flash_swf_url,xap_url:n.settings.silverlight_xap_url})):(u=s.buildUrl(n.settings.url,s.extend(y,n.settings.multipart_params)),v.open("post",u,!0),v.setRequestHeader("Content-Type","application/octet-stream"),s.each(n.settings.headers,function(e,t){v.setRequestHeader(t,e)}),v.send(c,{runtime_order:n.settings.runtimes,required_caps:f,swf_url:n.settings.flash_swf_url,xap_url:n.settings.silverlight_xap_url}))}var u=n.settings.url,a=n.features,l=e.chunks.size,c=e.max_retries,h,p=0;i.loaded&&(p=i.loaded=l*Math.floor(i.loaded/l)),h=i.getSource(),!t.isEmptyObj(n.settings.resize)&&E(h,"send_binary_string")&&!!~t.inArray(h.type,["image/jpeg","image/png"])?S.call(this,h,n.settings.resize,function(e){h=e,i.size=e.size,m()}):m()}),i.bind("UploadProgress",function(e,t){g(t)}),i.bind("StateChanged",function(e){if(e.state==s.STARTED)l=+(new Date);else if(e.state==s.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==s.UPLOADING&&(e.files[t].status=s.QUEUED,y())}),i.bind("QueueChanged",y),i.bind("Error",function(e,t){t.file&&(t.file.status=s.FAILED,g(t.file),e.state==s.STARTED&&r(function(){m.call(i)},1))}),i.bind("FileUploaded",function(e,t){t.status=s.DONE,t.loaded=t.size,g(t),r(function(){m.call(i)},1)}),i.trigger("Init",{runtime:"Generic"}),w.call(this)},refresh:function(){p.trigger("Refresh"),this.trigger("Refresh")},start:function(){this.state!=s.STARTED&&(this.state=s.STARTED,this.trigger("StateChanged"),m.call(this))},stop:function(){this.state!=s.STOPPED&&(this.state=s.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){h=arguments[0]!==n?arguments[0]:!0,p&&p.disable(h),this.trigger("DisableBrowse",h)},getFile:function(e){var t;for(t=u.length-1;t>=0;t--)if(u[t].id===e)return u[t]},addFile:function(e){function u(e){var a=t.typeOf(e);if(e instanceof t.Blob)r.push(e);else if(e instanceof s.File)r.push(e.getSource());else{if(a==="file"){i.push(function(r){var i=new t.RuntimeTarget;i.bind("RuntimeInit",function(n,i){u(new t.File(i.uid,e)),r()});try{i.connectRuntime({runtime_order:"html5"})}catch(a){n.trigger("Error",{code:s.FILE_EXTENSION_ERROR,message:s.translate("File extension error."),file:e}),r()}});return}a==="node"&&t.typeOf(e.files)==="filelist"?t.each(e.files,u):a==="array"&&t.each(e,u)}}var n=this,r=[],i=[];u(e),t.inSeries(i,function(){b.call(n,r)})},removeFile:function(e){for(var t=u.length-1;t>=0;t--)if(u[t].id===e.id)return this.splice(t,1)[0]},splice:function(e,t){var r=u.splice(e===n?0:e,t===n?u.length:t);return this.trigger("FilesRemoved",r),this.trigger("QueueChanged"),s.each(r,function(e){e.destroy()}),r},trigger:function(e){var t=a[e.toLowerCase()],n,r;if(t){r=Array.prototype.slice.call(arguments),r[0]=this;for(n=0;n<t.length;n++)if(t[n].func.apply(t[n].scope,r)===!1)return!1}return!0},hasEventListener:function(e){return!!a[e.toLowerCase()]},bind:function(e,t,n){var r;e=e.toLowerCase(),r=a[e]||[],r.push({func:t,scope:n||this}),a[e]=r},unbind:function(e){e=e.toLowerCase();var t=a[e],r,i=arguments[1];if(t){if(i!==n){for(r=t.length-1;r>=0;r--)if(t[r].func===i){t.splice(r,1);break}}else t=[];t.length||delete a[e]}},unbindAll:function(){var e=this;s.each(a,function(t,n){e.unbind(n)})},destroy:function(){this.stop(),p&&p.destroy(),d&&d.destroy(),this.trigger("Destroy"),this.unbindAll()}})},s.File=function(){function n(n){s.extend(this,{id:s.guid(),name:n.name||n.fileName,type:n.type||"",size:n.size||n.fileSize,origSize:n.size||n.fileSize,loaded:0,percent:0,status:0,getNative:function(){var e=this.getSource().getSource();return t.inArray(t.typeOf(e),["blob","file"])!==-1?e:null},getSource:function(){return e[this.id]?e[this.id]:null},destroy:function(){var t=this.getSource();t&&(t.destroy(),delete e[this.id])}}),e[this.id]=n}var e={};return n}(),s.QueueProgress=function(){var e=this;e.size=0,e.loaded=0,e.uploaded=0,e.failed=0,e.queued=0,e.percent=0,e.bytesPerSec=0,e.reset=function(){e.size=e.loaded=e.uploaded=e.failed=e.queued=e.percent=e.bytesPerSec=0}},e.plupload=s})(window,mOxie);
?>
Онлайн: 1
Реклама