transit 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +19 -11
- data/app/assets/images/transit/icon24x24.png +0 -0
- data/app/assets/images/transit/icon24x24_files.png +0 -0
- data/app/assets/images/transit/jplayer.swf +0 -0
- data/app/assets/images/transit/uploadify.swf +0 -0
- data/app/assets/images/transit/video_player.swf +0 -0
- data/app/assets/javascripts/jqtools/expose.js +224 -0
- data/app/assets/javascripts/jqtools/flashembed.js +300 -0
- data/app/assets/javascripts/jqtools/overlay.js +294 -0
- data/app/assets/javascripts/jqtools/scrollable.js +3 -0
- data/app/assets/javascripts/jqtools/scrollable/autoscroll.js +81 -0
- data/app/assets/javascripts/jqtools/scrollable/base.js +335 -0
- data/app/assets/javascripts/jqtools/scrollable/navigator.js +139 -0
- data/app/assets/javascripts/jqtools/validator.js +590 -0
- data/app/assets/javascripts/jqueryui/accordion.js +611 -0
- data/app/assets/javascripts/jqueryui/autocomplete.js +612 -0
- data/app/assets/javascripts/jqueryui/button.js +388 -0
- data/app/assets/javascripts/jqueryui/core.js +312 -0
- data/app/assets/javascripts/jqueryui/datepicker.js +1791 -0
- data/app/assets/javascripts/jqueryui/dialog.js +878 -0
- data/app/assets/javascripts/jqueryui/draggable.js +815 -0
- data/app/assets/javascripts/jqueryui/droppable.js +285 -0
- data/app/assets/javascripts/jqueryui/effects/blind.js +49 -0
- data/app/assets/javascripts/jqueryui/effects/bounce.js +78 -0
- data/app/assets/javascripts/jqueryui/effects/clip.js +54 -0
- data/app/assets/javascripts/jqueryui/effects/core.js +746 -0
- data/app/assets/javascripts/jqueryui/effects/drop.js +50 -0
- data/app/assets/javascripts/jqueryui/effects/explode.js +79 -0
- data/app/assets/javascripts/jqueryui/effects/fade.js +32 -0
- data/app/assets/javascripts/jqueryui/effects/fold.js +56 -0
- data/app/assets/javascripts/jqueryui/effects/highlight.js +50 -0
- data/app/assets/javascripts/jqueryui/effects/pulsate.js +51 -0
- data/app/assets/javascripts/jqueryui/effects/scale.js +178 -0
- data/app/assets/javascripts/jqueryui/effects/shake.js +57 -0
- data/app/assets/javascripts/jqueryui/effects/slide.js +50 -0
- data/app/assets/javascripts/jqueryui/effects/transfer.js +45 -0
- data/app/assets/javascripts/jqueryui/mouse.js +160 -0
- data/app/assets/javascripts/jqueryui/position.js +252 -0
- data/app/assets/javascripts/jqueryui/progressbar.js +109 -0
- data/app/assets/javascripts/jqueryui/resizable.js +814 -0
- data/app/assets/javascripts/jqueryui/selectable.js +266 -0
- data/app/assets/javascripts/jqueryui/slider.js +666 -0
- data/app/assets/javascripts/jqueryui/sortable.js +1077 -0
- data/app/assets/javascripts/jqueryui/tabs.js +758 -0
- data/app/assets/javascripts/jqueryui/widget.js +262 -0
- data/app/assets/javascripts/libs/backbone.js +1152 -0
- data/app/assets/javascripts/libs/cookie.js +89 -0
- data/app/assets/javascripts/libs/fileinput.js +130 -0
- data/app/assets/javascripts/libs/jplayer.js +1768 -0
- data/app/assets/javascripts/libs/proper.js +541 -0
- data/app/assets/javascripts/libs/sanitize.js +282 -0
- data/app/assets/javascripts/libs/selecttolist.js +75 -0
- data/app/assets/javascripts/libs/underscore.js +807 -0
- data/app/assets/javascripts/libs/uploadify.js +677 -0
- data/app/assets/javascripts/libs/wymeditor.js +9538 -0
- data/app/assets/javascripts/transit.js +4 -0
- data/app/assets/javascripts/transit/admin.js +22 -0
- data/app/assets/javascripts/transit/admin/contexts.js +52 -0
- data/app/assets/javascripts/transit/admin/fields.js +36 -0
- data/app/assets/javascripts/transit/admin/upload.js +109 -0
- data/app/assets/javascripts/transit/config.js.erb +101 -0
- data/app/assets/javascripts/transit/contexts/audio.js +39 -0
- data/app/assets/javascripts/transit/contexts/video.js +79 -0
- data/app/assets/javascripts/transit/core.js +171 -0
- data/app/assets/javascripts/transit/frontend.js +3 -0
- data/app/assets/javascripts/transit/lib/base64.js +120 -0
- data/app/assets/javascripts/transit/lib/editor.js +177 -0
- data/app/assets/javascripts/transit/views/audio_player.jst +22 -0
- data/app/assets/javascripts/transit/views/editor_toolbar.jst +12 -0
- data/app/assets/javascripts/transit/views/file_upload.jst +5 -0
- data/app/assets/javascripts/transit/views/video_player.jst +20 -0
- data/app/assets/javascripts/transit/views/wym_box.jst +4 -0
- data/app/assets/javascripts/transit/views/wym_iframe.jst +3 -0
- data/app/assets/stylesheets/transit.css.scss.erb +42 -0
- data/app/assets/stylesheets/transit/forms.css.scss +66 -0
- data/app/assets/stylesheets/transit/media/audio.css.scss +65 -0
- data/app/assets/stylesheets/transit/media/video.css.scss +30 -0
- data/app/assets/stylesheets/transit/panel.css.scss +100 -0
- data/app/assets/stylesheets/transit/ui.css.scss +507 -0
- data/app/controllers/pages_controller.rb +3 -0
- data/app/controllers/posts_controller.rb +3 -0
- data/app/controllers/transit/assets_controller.rb +38 -0
- data/app/controllers/transit/contexts_controller.rb +12 -9
- data/app/controllers/transit/pages_controller.rb +26 -0
- data/app/controllers/transit/posts_controller.rb +31 -0
- data/app/controllers/transit/topics_controller.rb +5 -0
- data/app/controllers/transit_controller.rb +16 -0
- data/app/helpers/transit/admin_helper.rb +43 -0
- data/app/helpers/transit/form_helper.rb +17 -0
- data/app/helpers/transit/package_helper.rb +41 -0
- data/app/helpers/transit/pagination_helper.rb +58 -0
- data/app/helpers/transit_helper.rb +42 -0
- data/app/models/comment.rb +37 -0
- data/app/models/contexts/audio.rb +12 -0
- data/app/models/{text.rb → contexts/text.rb} +0 -0
- data/app/models/contexts/video.rb +24 -0
- data/app/models/topic.rb +19 -0
- data/app/models/transit/asset.rb +68 -0
- data/{lib → app/models}/transit/context.rb +29 -0
- data/app/views/contexts/_text.html.erb +1 -1
- data/app/views/posts/index.rss.builder +18 -0
- data/app/views/transit/assets/_file.html.erb +4 -0
- data/app/views/transit/assets/_image.html.erb +13 -0
- data/app/views/transit/assets/create.js.erb +8 -0
- data/app/views/transit/assets/destroy.js.erb +3 -0
- data/app/views/transit/assets/manage.html.erb +20 -0
- data/app/views/transit/contexts/_audio.html.erb +18 -0
- data/app/views/transit/contexts/_text.html.erb +6 -0
- data/app/views/transit/contexts/_video.html.erb +13 -0
- data/app/views/transit/contexts/destroy.js.erb +1 -0
- data/app/views/transit/contexts/index.html.erb +5 -0
- data/app/views/transit/contexts/new.js.erb +7 -0
- data/app/views/transit/contexts/show.html.erb +8 -0
- data/app/views/transit/index.html.erb +26 -0
- data/app/views/transit/index.js.erb +1 -0
- data/app/views/transit/interface/post_panel.html.erb +96 -0
- data/app/views/transit/pages/_table.html.erb +7 -0
- data/app/views/transit/pages/edit.html.erb +17 -0
- data/app/views/transit/pages/index.html.erb +17 -0
- data/app/views/transit/pages/update.js.erb +1 -0
- data/app/views/transit/posts/_form.html.erb +49 -0
- data/app/views/transit/posts/edit.html.erb +14 -0
- data/app/views/transit/posts/new.html.erb +21 -0
- data/app/views/transit/table.html.erb +13 -0
- data/app/views/transit/table.js.erb +8 -0
- data/app/views/transit/topics/manage.html.erb +28 -0
- data/config/locales/en.yml +22 -0
- data/config/routes.rb +3 -3
- data/lib/transit.rb +51 -17
- data/lib/transit/admin.rb +85 -0
- data/lib/transit/builders/form_builder.rb +319 -0
- data/lib/transit/builders/jst_builder.rb +38 -0
- data/lib/transit/builders/package_builder.rb +45 -0
- data/lib/transit/config.rb +20 -0
- data/lib/transit/controller/generator.rb +42 -0
- data/lib/transit/controller/responder.rb +34 -0
- data/lib/transit/core_ext.rb +18 -0
- data/lib/transit/errors/resource_not_found.rb +6 -0
- data/lib/transit/model/assets.rb +14 -0
- data/lib/transit/model/attachments.rb +55 -0
- data/lib/transit/model/auto_increment.rb +22 -0
- data/lib/transit/model/base.rb +56 -0
- data/lib/transit/model/comments.rb +19 -0
- data/lib/transit/model/hooks.rb +38 -0
- data/lib/transit/model/owners.rb +14 -0
- data/lib/transit/model/paginator.rb +92 -0
- data/lib/transit/model/topics.rb +14 -0
- data/lib/transit/package/page.rb +20 -12
- data/lib/transit/package/post.rb +87 -33
- data/lib/transit/package/post/validations.rb +14 -0
- data/lib/transit/rails/engine.rb +29 -13
- data/lib/transit/rails/railtie.rb +31 -0
- data/lib/transit/rails/routing.rb +11 -6
- data/lib/transit/services.rb +13 -0
- data/lib/transit/services/base.rb +14 -0
- data/lib/transit/services/facebook.rb +13 -0
- data/lib/transit/services/ted.rb +10 -0
- data/lib/transit/services/twitter.rb +13 -0
- data/lib/transit/services/vimeo.rb +10 -0
- data/lib/transit/services/you_tube.rb +12 -0
- data/lib/transit/version.rb +1 -1
- metadata +178 -31
- data/app/assets/stylesheets/includes/_compat.scss +0 -24
- data/app/assets/stylesheets/includes/_defaults.scss +0 -99
- data/app/assets/stylesheets/includes/_global.scss +0 -16
- data/app/assets/stylesheets/includes/_imports.scss +0 -27
- data/app/assets/stylesheets/includes/_mixins.scss +0 -38
- data/app/assets/stylesheets/includes/_setup.scss +0 -85
- data/app/assets/stylesheets/layout.css.scss +0 -29
- data/app/assets/stylesheets/transit.css +0 -3
- data/app/controllers/application_controller.rb +0 -5
- data/app/controllers/transit/index_controller.rb +0 -7
- data/app/controllers/transit/packages_controller.rb +0 -64
- data/app/controllers/transit/transit_controller.rb +0 -4
- data/app/helpers/routing_helpers.rb +0 -7
- data/app/models/audio.rb +0 -4
- data/app/models/package_asset.rb +0 -11
- data/app/models/video.rb +0 -8
- data/app/views/contexts/_audio.html.erb +0 -1
- data/app/views/contexts/_video.html.erb +0 -1
- data/app/views/layouts/transit.html.erb +0 -31
- data/app/views/transit/index/index.html.erb +0 -0
- data/lib/transit/helpers/controller_helpers.rb +0 -40
- data/lib/transit/helpers/model_helpers.rb +0 -26
- data/lib/transit/package.rb +0 -25
- data/lib/transit/package/base.rb +0 -49
|
@@ -0,0 +1,677 @@
|
|
|
1
|
+
/*
|
|
2
|
+
SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
|
|
3
|
+
|
|
4
|
+
mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/
|
|
5
|
+
|
|
6
|
+
SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzén and Mammon Media and is released under the MIT License:
|
|
7
|
+
http://www.opensource.org/licenses/mit-license.php
|
|
8
|
+
|
|
9
|
+
SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
|
|
10
|
+
http://www.opensource.org/licenses/mit-license.php
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
var SWFUpload;if(SWFUpload==undefined){SWFUpload=function(a){this.initSWFUpload(a)}}SWFUpload.prototype.initSWFUpload=function(b){try{this.customSettings={};this.settings=b;this.eventQueue=[];this.movieName="SWFUpload_"+SWFUpload.movieCount++;this.movieElement=null;SWFUpload.instances[this.movieName]=this;this.initSettings();this.loadFlash();this.displayDebugInfo()}catch(a){delete SWFUpload.instances[this.movieName];throw a}};SWFUpload.instances={};SWFUpload.movieCount=0;SWFUpload.version="2.2.0 2009-03-25";SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130};SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290};SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5};SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120};SWFUpload.CURSOR={ARROW:-1,HAND:-2};SWFUpload.WINDOW_MODE={WINDOW:"window",TRANSPARENT:"transparent",OPAQUE:"opaque"};SWFUpload.completeURL=function(a){if(typeof(a)!=="string"||a.match(/^https?:\/\//i)||a.match(/^\//)){return a}var c=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"");var b=window.location.pathname.lastIndexOf("/");if(b<=0){path="/"}else{path=window.location.pathname.substr(0,b)+"/"}return path+a};SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(b,a){this.settings[b]=(this.settings[b]==undefined)?a:this.settings[b]};this.ensureDefault("upload_url","");this.ensureDefault("preserve_relative_urls",false);this.ensureDefault("file_post_name","Filedata");this.ensureDefault("post_params",{});this.ensureDefault("use_query_string",false);this.ensureDefault("requeue_on_error",false);this.ensureDefault("http_success",[]);this.ensureDefault("assume_success_timeout",0);this.ensureDefault("file_types","*.*");this.ensureDefault("file_types_description","All Files");this.ensureDefault("file_size_limit",0);this.ensureDefault("file_upload_limit",0);this.ensureDefault("file_queue_limit",0);this.ensureDefault("flash_url","swfupload.swf");this.ensureDefault("prevent_swf_caching",true);this.ensureDefault("button_image_url","");this.ensureDefault("button_width",1);this.ensureDefault("button_height",1);this.ensureDefault("button_text","");this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;");this.ensureDefault("button_text_top_padding",0);this.ensureDefault("button_text_left_padding",0);this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES);this.ensureDefault("button_disabled",false);this.ensureDefault("button_placeholder_id","");this.ensureDefault("button_placeholder",null);this.ensureDefault("button_cursor",SWFUpload.CURSOR.ARROW);this.ensureDefault("button_window_mode",SWFUpload.WINDOW_MODE.WINDOW);this.ensureDefault("debug",false);this.settings.debug_enabled=this.settings.debug;this.settings.return_upload_start_handler=this.returnUploadStart;this.ensureDefault("swfupload_loaded_handler",null);this.ensureDefault("file_dialog_start_handler",null);this.ensureDefault("file_queued_handler",null);this.ensureDefault("file_queue_error_handler",null);this.ensureDefault("file_dialog_complete_handler",null);this.ensureDefault("upload_start_handler",null);this.ensureDefault("upload_progress_handler",null);this.ensureDefault("upload_error_handler",null);this.ensureDefault("upload_success_handler",null);this.ensureDefault("upload_complete_handler",null);this.ensureDefault("debug_handler",this.debugMessage);this.ensureDefault("custom_settings",{});this.customSettings=this.settings.custom_settings;if(!!this.settings.prevent_swf_caching){this.settings.flash_url=this.settings.flash_url+(this.settings.flash_url.indexOf("?")<0?"?":"&")+"preventswfcaching="+new Date().getTime()}if(!this.settings.preserve_relative_urls){this.settings.upload_url=SWFUpload.completeURL(this.settings.upload_url);this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url)}delete this.ensureDefault};SWFUpload.prototype.loadFlash=function(){var a,b;if(document.getElementById(this.movieName)!==null){throw"ID "+this.movieName+" is already in use. The Flash Object could not be added"}a=document.getElementById(this.settings.button_placeholder_id)||this.settings.button_placeholder;if(a==undefined){throw"Could not find the placeholder element: "+this.settings.button_placeholder_id}b=document.createElement("div");b.innerHTML=this.getFlashHTML();a.parentNode.replaceChild(b.firstChild,a);if(window[this.movieName]==undefined){window[this.movieName]=this.getMovieElement()}};SWFUpload.prototype.getFlashHTML=function(){return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',this.settings.button_window_mode,'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")};SWFUpload.prototype.getFlashVars=function(){var b=this.buildParamString();var a=this.settings.http_success.join(",");return["movieName=",encodeURIComponent(this.movieName),"&uploadURL=",encodeURIComponent(this.settings.upload_url),"&useQueryString=",encodeURIComponent(this.settings.use_query_string),"&requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&httpSuccess=",encodeURIComponent(a),"&assumeSuccessTimeout=",encodeURIComponent(this.settings.assume_success_timeout),"&params=",encodeURIComponent(b),"&filePostName=",encodeURIComponent(this.settings.file_post_name),"&fileTypes=",encodeURIComponent(this.settings.file_types),"&fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&buttonWidth=",encodeURIComponent(this.settings.button_width),"&buttonHeight=",encodeURIComponent(this.settings.button_height),"&buttonText=",encodeURIComponent(this.settings.button_text),"&buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&buttonAction=",encodeURIComponent(this.settings.button_action),"&buttonDisabled=",encodeURIComponent(this.settings.button_disabled),"&buttonCursor=",encodeURIComponent(this.settings.button_cursor)].join("")};SWFUpload.prototype.getMovieElement=function(){if(this.movieElement==undefined){this.movieElement=document.getElementById(this.movieName)}if(this.movieElement===null){throw"Could not find Flash element"}return this.movieElement};SWFUpload.prototype.buildParamString=function(){var c=this.settings.post_params;var b=[];if(typeof(c)==="object"){for(var a in c){if(c.hasOwnProperty(a)){b.push(encodeURIComponent(a.toString())+"="+encodeURIComponent(c[a].toString()))}}}return b.join("&")};SWFUpload.prototype.destroy=function(){try{this.cancelUpload(null,false);var a=null;a=this.getMovieElement();if(a&&typeof(a.CallFunction)==="unknown"){for(var c in a){try{if(typeof(a[c])==="function"){a[c]=null}}catch(e){}}try{a.parentNode.removeChild(a)}catch(b){}}window[this.movieName]=null;SWFUpload.instances[this.movieName]=null;delete SWFUpload.instances[this.movieName];this.movieElement=null;this.settings=null;this.customSettings=null;this.eventQueue=null;this.movieName=null;return true}catch(d){return false}};SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","\t","upload_url: ",this.settings.upload_url,"\n","\t","flash_url: ",this.settings.flash_url,"\n","\t","use_query_string: ",this.settings.use_query_string.toString(),"\n","\t","requeue_on_error: ",this.settings.requeue_on_error.toString(),"\n","\t","http_success: ",this.settings.http_success.join(", "),"\n","\t","assume_success_timeout: ",this.settings.assume_success_timeout,"\n","\t","file_post_name: ",this.settings.file_post_name,"\n","\t","post_params: ",this.settings.post_params.toString(),"\n","\t","file_types: ",this.settings.file_types,"\n","\t","file_types_description: ",this.settings.file_types_description,"\n","\t","file_size_limit: ",this.settings.file_size_limit,"\n","\t","file_upload_limit: ",this.settings.file_upload_limit,"\n","\t","file_queue_limit: ",this.settings.file_queue_limit,"\n","\t","debug: ",this.settings.debug.toString(),"\n","\t","prevent_swf_caching: ",this.settings.prevent_swf_caching.toString(),"\n","\t","button_placeholder_id: ",this.settings.button_placeholder_id.toString(),"\n","\t","button_placeholder: ",(this.settings.button_placeholder?"Set":"Not Set"),"\n","\t","button_image_url: ",this.settings.button_image_url.toString(),"\n","\t","button_width: ",this.settings.button_width.toString(),"\n","\t","button_height: ",this.settings.button_height.toString(),"\n","\t","button_text: ",this.settings.button_text.toString(),"\n","\t","button_text_style: ",this.settings.button_text_style.toString(),"\n","\t","button_text_top_padding: ",this.settings.button_text_top_padding.toString(),"\n","\t","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","\t","button_action: ",this.settings.button_action.toString(),"\n","\t","button_disabled: ",this.settings.button_disabled.toString(),"\n","\t","custom_settings: ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","\t","swfupload_loaded_handler assigned: ",(typeof this.settings.swfupload_loaded_handler==="function").toString(),"\n","\t","file_dialog_start_handler assigned: ",(typeof this.settings.file_dialog_start_handler==="function").toString(),"\n","\t","file_queued_handler assigned: ",(typeof this.settings.file_queued_handler==="function").toString(),"\n","\t","file_queue_error_handler assigned: ",(typeof this.settings.file_queue_error_handler==="function").toString(),"\n","\t","upload_start_handler assigned: ",(typeof this.settings.upload_start_handler==="function").toString(),"\n","\t","upload_progress_handler assigned: ",(typeof this.settings.upload_progress_handler==="function").toString(),"\n","\t","upload_error_handler assigned: ",(typeof this.settings.upload_error_handler==="function").toString(),"\n","\t","upload_success_handler assigned: ",(typeof this.settings.upload_success_handler==="function").toString(),"\n","\t","upload_complete_handler assigned: ",(typeof this.settings.upload_complete_handler==="function").toString(),"\n","\t","debug_handler assigned: ",(typeof this.settings.debug_handler==="function").toString(),"\n"].join(""))};SWFUpload.prototype.addSetting=function(b,c,a){if(c==undefined){return(this.settings[b]=a)}else{return(this.settings[b]=c)}};SWFUpload.prototype.getSetting=function(a){if(this.settings[a]!=undefined){return this.settings[a]}return""};SWFUpload.prototype.callFlash=function(functionName,argumentArray){argumentArray=argumentArray||[];var movieElement=this.getMovieElement();var returnValue,returnString;try{returnString=movieElement.CallFunction('<invoke name="'+functionName+'" returntype="javascript">'+__flash__argumentsToXML(argumentArray,0)+"</invoke>");returnValue=eval(returnString)}catch(ex){throw"Call to "+functionName+" failed"}if(returnValue!=undefined&&typeof returnValue.post==="object"){returnValue=this.unescapeFilePostParams(returnValue)}return returnValue};SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile")};SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles")};SWFUpload.prototype.startUpload=function(a){this.callFlash("StartUpload",[a])};SWFUpload.prototype.cancelUpload=function(a,b){if(b!==false){b=true}this.callFlash("CancelUpload",[a,b])};SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload")};SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats")};SWFUpload.prototype.setStats=function(a){this.callFlash("SetStats",[a])};SWFUpload.prototype.getFile=function(a){if(typeof(a)==="number"){return this.callFlash("GetFileByIndex",[a])}else{return this.callFlash("GetFile",[a])}};SWFUpload.prototype.addFileParam=function(a,b,c){return this.callFlash("AddFileParam",[a,b,c])};SWFUpload.prototype.removeFileParam=function(a,b){this.callFlash("RemoveFileParam",[a,b])};SWFUpload.prototype.setUploadURL=function(a){this.settings.upload_url=a.toString();this.callFlash("SetUploadURL",[a])};SWFUpload.prototype.setPostParams=function(a){this.settings.post_params=a;this.callFlash("SetPostParams",[a])};SWFUpload.prototype.addPostParam=function(a,b){this.settings.post_params[a]=b;this.callFlash("SetPostParams",[this.settings.post_params])};SWFUpload.prototype.removePostParam=function(a){delete this.settings.post_params[a];this.callFlash("SetPostParams",[this.settings.post_params])};SWFUpload.prototype.setFileTypes=function(a,b){this.settings.file_types=a;this.settings.file_types_description=b;this.callFlash("SetFileTypes",[a,b])};SWFUpload.prototype.setFileSizeLimit=function(a){this.settings.file_size_limit=a;this.callFlash("SetFileSizeLimit",[a])};SWFUpload.prototype.setFileUploadLimit=function(a){this.settings.file_upload_limit=a;this.callFlash("SetFileUploadLimit",[a])};SWFUpload.prototype.setFileQueueLimit=function(a){this.settings.file_queue_limit=a;this.callFlash("SetFileQueueLimit",[a])};SWFUpload.prototype.setFilePostName=function(a){this.settings.file_post_name=a;this.callFlash("SetFilePostName",[a])};SWFUpload.prototype.setUseQueryString=function(a){this.settings.use_query_string=a;this.callFlash("SetUseQueryString",[a])};SWFUpload.prototype.setRequeueOnError=function(a){this.settings.requeue_on_error=a;this.callFlash("SetRequeueOnError",[a])};SWFUpload.prototype.setHTTPSuccess=function(a){if(typeof a==="string"){a=a.replace(" ","").split(",")}this.settings.http_success=a;this.callFlash("SetHTTPSuccess",[a])};SWFUpload.prototype.setAssumeSuccessTimeout=function(a){this.settings.assume_success_timeout=a;this.callFlash("SetAssumeSuccessTimeout",[a])};SWFUpload.prototype.setDebugEnabled=function(a){this.settings.debug_enabled=a;this.callFlash("SetDebugEnabled",[a])};SWFUpload.prototype.setButtonImageURL=function(a){if(a==undefined){a=""}this.settings.button_image_url=a;this.callFlash("SetButtonImageURL",[a])};SWFUpload.prototype.setButtonDimensions=function(c,a){this.settings.button_width=c;this.settings.button_height=a;var b=this.getMovieElement();if(b!=undefined){b.style.width=c+"px";b.style.height=a+"px"}this.callFlash("SetButtonDimensions",[c,a])};SWFUpload.prototype.setButtonText=function(a){this.settings.button_text=a;this.callFlash("SetButtonText",[a])};SWFUpload.prototype.setButtonTextPadding=function(b,a){this.settings.button_text_top_padding=a;this.settings.button_text_left_padding=b;this.callFlash("SetButtonTextPadding",[b,a])};SWFUpload.prototype.setButtonTextStyle=function(a){this.settings.button_text_style=a;this.callFlash("SetButtonTextStyle",[a])};SWFUpload.prototype.setButtonDisabled=function(a){this.settings.button_disabled=a;this.callFlash("SetButtonDisabled",[a])};SWFUpload.prototype.setButtonAction=function(a){this.settings.button_action=a;this.callFlash("SetButtonAction",[a])};SWFUpload.prototype.setButtonCursor=function(a){this.settings.button_cursor=a;this.callFlash("SetButtonCursor",[a])};SWFUpload.prototype.queueEvent=function(b,c){if(c==undefined){c=[]}else{if(!(c instanceof Array)){c=[c]}}var a=this;if(typeof this.settings[b]==="function"){this.eventQueue.push(function(){this.settings[b].apply(this,c)});setTimeout(function(){a.executeNextEvent()},0)}else{if(this.settings[b]!==null){throw"Event handler "+b+" is unknown or is not a function"}}};SWFUpload.prototype.executeNextEvent=function(){var a=this.eventQueue?this.eventQueue.shift():null;if(typeof(a)==="function"){a.apply(this)}};SWFUpload.prototype.unescapeFilePostParams=function(c){var e=/[$]([0-9a-f]{4})/i;var f={};var d;if(c!=undefined){for(var a in c.post){if(c.post.hasOwnProperty(a)){d=a;var b;while((b=e.exec(d))!==null){d=d.replace(b[0],String.fromCharCode(parseInt("0x"+b[1],16)))}f[d]=c.post[a]}}c.post=f}return c};SWFUpload.prototype.testExternalInterface=function(){try{return this.callFlash("TestExternalInterface")}catch(a){return false}};SWFUpload.prototype.flashReady=function(){var a=this.getMovieElement();if(!a){this.debug("Flash called back ready but the flash movie can't be found.");return}this.cleanUp(a);this.queueEvent("swfupload_loaded_handler")};SWFUpload.prototype.cleanUp=function(a){try{if(this.movieElement&&typeof(a.CallFunction)==="unknown"){this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");for(var c in a){try{if(typeof(a[c])==="function"){a[c]=null}}catch(b){}}}}catch(d){}window.__flash__removeCallback=function(e,f){try{if(e){e[f]=null}}catch(g){}}};SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler")};SWFUpload.prototype.fileQueued=function(a){a=this.unescapeFilePostParams(a);this.queueEvent("file_queued_handler",a)};SWFUpload.prototype.fileQueueError=function(a,c,b){a=this.unescapeFilePostParams(a);this.queueEvent("file_queue_error_handler",[a,c,b])};SWFUpload.prototype.fileDialogComplete=function(b,c,a){this.queueEvent("file_dialog_complete_handler",[b,c,a])};SWFUpload.prototype.uploadStart=function(a){a=this.unescapeFilePostParams(a);this.queueEvent("return_upload_start_handler",a)};SWFUpload.prototype.returnUploadStart=function(a){var b;if(typeof this.settings.upload_start_handler==="function"){a=this.unescapeFilePostParams(a);b=this.settings.upload_start_handler.call(this,a)}else{if(this.settings.upload_start_handler!=undefined){throw"upload_start_handler must be a function"}}if(b===undefined){b=true}b=!!b;this.callFlash("ReturnUploadStart",[b])};SWFUpload.prototype.uploadProgress=function(a,c,b){a=this.unescapeFilePostParams(a);this.queueEvent("upload_progress_handler",[a,c,b])};SWFUpload.prototype.uploadError=function(a,c,b){a=this.unescapeFilePostParams(a);this.queueEvent("upload_error_handler",[a,c,b])};SWFUpload.prototype.uploadSuccess=function(b,a,c){b=this.unescapeFilePostParams(b);this.queueEvent("upload_success_handler",[b,a,c])};SWFUpload.prototype.uploadComplete=function(a){a=this.unescapeFilePostParams(a);this.queueEvent("upload_complete_handler",a)};SWFUpload.prototype.debug=function(a){this.queueEvent("debug_handler",a)};SWFUpload.prototype.debugMessage=function(c){if(this.settings.debug){var a,d=[];if(typeof c==="object"&&typeof c.name==="string"&&typeof c.message==="string"){for(var b in c){if(c.hasOwnProperty(b)){d.push(b+": "+c[b])}}a=d.join("\n")||"";d=a.split("\n");a="EXCEPTION: "+d.join("\nEXCEPTION: ");SWFUpload.Console.writeLine(a)}else{SWFUpload.Console.writeLine(c)}}};SWFUpload.Console={};SWFUpload.Console.writeLine=function(d){var b,a;try{b=document.getElementById("SWFUpload_Console");if(!b){a=document.createElement("form");document.getElementsByTagName("body")[0].appendChild(a);b=document.createElement("textarea");b.id="SWFUpload_Console";b.style.fontFamily="monospace";b.setAttribute("wrap","off");b.wrap="off";b.style.overflow="auto";b.style.width="700px";b.style.height="350px";b.style.margin="5px";a.appendChild(b)}b.value+=d+"\n";b.scrollTop=b.scrollHeight-b.clientHeight}catch(c){alert("Exception: "+c.name+" Message: "+c.message)}};
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
Uploadify v3.0.0
|
|
17
|
+
Copyright (c) 2010 Ronnie Garcia
|
|
18
|
+
|
|
19
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
20
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
21
|
+
in the Software without restriction, including without limitation the rights
|
|
22
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
23
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
24
|
+
furnished to do so, subject to the following conditions:
|
|
25
|
+
|
|
26
|
+
The above copyright notice and this permission notice shall be included in
|
|
27
|
+
all copies or substantial portions of the Software.
|
|
28
|
+
|
|
29
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
30
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
31
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
32
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
33
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
34
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
35
|
+
THE SOFTWARE.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
if(jQuery)(
|
|
39
|
+
function(jQuery){
|
|
40
|
+
jQuery.extend(jQuery.fn,{
|
|
41
|
+
uploadify:function(options,swfUploadOptions) {
|
|
42
|
+
jQuery(this).each(function() {
|
|
43
|
+
var clone = jQuery(this).clone();
|
|
44
|
+
var settings = jQuery.extend({
|
|
45
|
+
// Required Settings
|
|
46
|
+
id : jQuery(this).attr('id'),
|
|
47
|
+
swf : 'uploadify.swf',
|
|
48
|
+
uploader : 'uploadify.php',
|
|
49
|
+
|
|
50
|
+
// Options
|
|
51
|
+
auto : false,
|
|
52
|
+
buttonClass : '',
|
|
53
|
+
buttonCursor : 'hand',
|
|
54
|
+
buttonImage : false,
|
|
55
|
+
buttonText : 'SELECT FILES',
|
|
56
|
+
cancelImage : 'uploadify-cancel.png',
|
|
57
|
+
checkExisting : 'uploadify-check-existing.php',
|
|
58
|
+
debug : false,
|
|
59
|
+
fileObjName : 'Filedata',
|
|
60
|
+
fileSizeLimit : 0,
|
|
61
|
+
fileTypeDesc : 'All Files (*.*)',
|
|
62
|
+
fileTypeExts : '*.*',
|
|
63
|
+
height : 30,
|
|
64
|
+
method : 'post',
|
|
65
|
+
multi : false,
|
|
66
|
+
queueID : false,
|
|
67
|
+
queueSizeLimit : 999,
|
|
68
|
+
removeCompleted : true,
|
|
69
|
+
removeTimeout : 3,
|
|
70
|
+
requeueErrors : true,
|
|
71
|
+
postData : {},
|
|
72
|
+
preventCaching : true,
|
|
73
|
+
progressData : 'percentage',
|
|
74
|
+
// simUploadLimit : 1, // Not possible with swfUpload
|
|
75
|
+
successTimeout : 30,
|
|
76
|
+
transparent : true,
|
|
77
|
+
uploadLimit : 999,
|
|
78
|
+
uploaderType : 'html5', // the other option is 'flash'
|
|
79
|
+
width : 120,
|
|
80
|
+
|
|
81
|
+
// Events
|
|
82
|
+
skipDefault : [],
|
|
83
|
+
onClearQueue : function() {},
|
|
84
|
+
onDialogOpen : function() {},
|
|
85
|
+
onDialogClose : function() {},
|
|
86
|
+
onInit : function() {},
|
|
87
|
+
onQueueComplete : function() {},
|
|
88
|
+
onSelectError : function() {},
|
|
89
|
+
onSelect : function() {},
|
|
90
|
+
onSWFReady : function() {},
|
|
91
|
+
onUploadCancel : function() {},
|
|
92
|
+
onUploadComplete : function() {},
|
|
93
|
+
onUploadError : function() {},
|
|
94
|
+
onUploadProgress : function() {},
|
|
95
|
+
onUploadStart : function() {}
|
|
96
|
+
}, options);
|
|
97
|
+
|
|
98
|
+
var swfUploadSettings = {
|
|
99
|
+
assume_success_timeout : settings.successTimeout,
|
|
100
|
+
button_placeholder_id : settings.id,
|
|
101
|
+
button_image_url : settings.buttonImage,
|
|
102
|
+
button_width : settings.width,
|
|
103
|
+
button_height : settings.height,
|
|
104
|
+
button_text : null,
|
|
105
|
+
button_text_style : null,
|
|
106
|
+
button_text_top_padding : 0,
|
|
107
|
+
button_text_left_padding : 0,
|
|
108
|
+
button_action : (settings.multi ? SWFUpload.BUTTON_ACTION.SELECT_FILES : SWFUpload.BUTTON_ACTION.SELECT_FILE),
|
|
109
|
+
button_disabled : false,
|
|
110
|
+
button_cursor : (settings.buttonCursor == 'arrow' ? SWFUpload.CURSOR.ARROW : SWFUpload.CURSOR.HAND),
|
|
111
|
+
button_window_mode : (settings.transparent && !settings.buttonImage ? SWFUpload.WINDOW_MODE.TRANSPARENT : SWFUpload.WINDOW_MODE.OPAQUE),
|
|
112
|
+
debug : settings.debug,
|
|
113
|
+
requeue_on_error : settings.requeueErrors,
|
|
114
|
+
file_post_name : settings.fileObjName,
|
|
115
|
+
file_size_limit : settings.fileSizeLimit,
|
|
116
|
+
file_types : settings.fileTypeExts,
|
|
117
|
+
file_types_description : settings.fileTypeDesc,
|
|
118
|
+
file_queue_limit : settings.queueSizeLimit,
|
|
119
|
+
file_upload_limit : settings.uploadLimit,
|
|
120
|
+
flash_url : settings.swf,
|
|
121
|
+
prevent_swf_caching : settings.preventCaching,
|
|
122
|
+
post_params : settings.postData,
|
|
123
|
+
upload_url : settings.uploader,
|
|
124
|
+
use_query_string : (settings.method == 'get'),
|
|
125
|
+
|
|
126
|
+
// Event Handlers
|
|
127
|
+
file_dialog_complete_handler : onDialogClose,
|
|
128
|
+
file_dialog_start_handler : onDialogOpen,
|
|
129
|
+
file_queued_handler : onSelect,
|
|
130
|
+
file_queue_error_handler : onSelectError,
|
|
131
|
+
flash_ready_handler : settings.onSWFReady,
|
|
132
|
+
upload_complete_handler : onUploadComplete,
|
|
133
|
+
upload_error_handler : onUploadError,
|
|
134
|
+
upload_progress_handler : onUploadProgress,
|
|
135
|
+
upload_start_handler : onUploadStart,
|
|
136
|
+
upload_success_handler : onUploadSuccess
|
|
137
|
+
}
|
|
138
|
+
if (swfUploadOptions) {
|
|
139
|
+
swfUploadSettings = jQuery.extend(swfUploadSettings,swfUploadOptions);
|
|
140
|
+
}
|
|
141
|
+
swfUploadSettings = jQuery.extend(swfUploadSettings,settings);
|
|
142
|
+
|
|
143
|
+
// Create the swfUpload instance
|
|
144
|
+
window['uploadify_' + settings.id] = new SWFUpload(swfUploadSettings);
|
|
145
|
+
var swfuploadify = window['uploadify_' + settings.id];
|
|
146
|
+
swfuploadify.original = clone;
|
|
147
|
+
|
|
148
|
+
// Wrap the uploadify instance
|
|
149
|
+
var wrapper = jQuery('<div />',{
|
|
150
|
+
id : settings.id,
|
|
151
|
+
'class' : 'uploadify',
|
|
152
|
+
css : {
|
|
153
|
+
'height' : settings.height + 'px',
|
|
154
|
+
'position' : 'relative',
|
|
155
|
+
'width' : settings.width + 'px'
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
jQuery('#' + swfuploadify.movieName).wrap(wrapper);
|
|
159
|
+
|
|
160
|
+
// Create the file queue
|
|
161
|
+
if (!settings.queueID) {
|
|
162
|
+
var queue = jQuery('<div />', {
|
|
163
|
+
id : settings.id + '_queue',
|
|
164
|
+
'class' : 'uploadifyQueue'
|
|
165
|
+
});
|
|
166
|
+
jQuery('#' + settings.id).after(queue);
|
|
167
|
+
swfuploadify.settings.queueID = settings.queueID = settings.id + '_queue';
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Create some queue related objects and variables
|
|
171
|
+
swfuploadify.queue = {
|
|
172
|
+
files : {}, // The files in the queue
|
|
173
|
+
filesSelected : 0, // The number of files selected in the last select operation
|
|
174
|
+
filesQueued : 0, // The number of files added to the queue in the last select operation
|
|
175
|
+
filesReplaced : 0, // The number of files replaced in the last select operation
|
|
176
|
+
filesCancelled : 0, // The number of files that were cancelled instead of replaced
|
|
177
|
+
filesErrored : 0, // The number of files that caused error in the last select operation
|
|
178
|
+
averageSpeed : 0, // The average speed of the uploads in KB
|
|
179
|
+
queueLength : 0, // The number of files in the queue
|
|
180
|
+
queueSize : 0, // The size in bytes of the entire queue
|
|
181
|
+
uploadSize : 0, // The size in bytes of the upload queue
|
|
182
|
+
queueBytesUploaded : 0, // The size in bytes that have been uploaded for the current upload queue
|
|
183
|
+
uploadQueue : [], // The files currently to be uploaded
|
|
184
|
+
errorMsg : 'Some files were not added to the queue:'
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
// Create the button
|
|
188
|
+
if (!settings.buttonImage) {
|
|
189
|
+
var button = jQuery('<a />', {
|
|
190
|
+
id : settings.id + '_button',
|
|
191
|
+
'class' : 'uploadifyButton ' + settings.buttonClass,
|
|
192
|
+
html : settings.buttonText
|
|
193
|
+
});
|
|
194
|
+
jQuery('#' + settings.id).append(button);
|
|
195
|
+
jQuery('#' + swfuploadify.movieName).css({position: 'absolute', 'z-index': 1});
|
|
196
|
+
} else {
|
|
197
|
+
jQuery('#' + swfuploadify.movieName).addClass(settings.buttonClass);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// -----------------------------
|
|
201
|
+
// Begin Event Handler Functions
|
|
202
|
+
// -----------------------------
|
|
203
|
+
|
|
204
|
+
// Triggered once when file dialog is closed
|
|
205
|
+
function onDialogClose(filesSelected,filesQueued,queueLength) {
|
|
206
|
+
var stats = swfuploadify.getStats();
|
|
207
|
+
swfuploadify.queue.filesErrored = filesSelected - filesQueued;
|
|
208
|
+
swfuploadify.queue.filesSelected = filesSelected;
|
|
209
|
+
swfuploadify.queue.filesQueued = filesQueued - swfuploadify.queue.filesCancelled;
|
|
210
|
+
swfuploadify.queue.queueLength = queueLength;
|
|
211
|
+
if (jQuery.inArray('onDialogClose',swfuploadify.settings.skipDefault) < 0) {
|
|
212
|
+
if (swfuploadify.queue.filesErrored > 0) {
|
|
213
|
+
alert(swfuploadify.queue.errorMsg);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (swfuploadify.settings.onDialogClose) swfuploadify.settings.onDialogClose(swfuploadify.queue);
|
|
217
|
+
if (swfuploadify.settings.auto) jQuery('#' + swfuploadify.settings.id).uploadifyUpload('*');
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function onDialogOpen() {
|
|
221
|
+
// Reset some queue info
|
|
222
|
+
swfuploadify.queue.errorMsg = 'Some files were not added to the queue:';
|
|
223
|
+
swfuploadify.queue.filesReplaced = 0;
|
|
224
|
+
swfuploadify.queue.filesCancelled = 0;
|
|
225
|
+
if (swfuploadify.settings.onDialogOpen) swfuploadify.settings.onDialogOpen();
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Triggered once for each file added to the queue
|
|
229
|
+
function onSelect(file) {
|
|
230
|
+
if (jQuery.inArray('onSelect',swfuploadify.settings.skipDefault) < 0) {
|
|
231
|
+
// Check if a file with the same name exists in the queue
|
|
232
|
+
var queuedFile = {};
|
|
233
|
+
for (var n in swfuploadify.queue.files) {
|
|
234
|
+
queuedFile = swfuploadify.queue.files[n];
|
|
235
|
+
if (queuedFile.name == file.name) {
|
|
236
|
+
var replaceQueueItem = confirm('The file named "' + file.name + '" is already in the queue.\nDo you want to replace the existing item in the queue?');
|
|
237
|
+
if (!replaceQueueItem) {
|
|
238
|
+
swfuploadify.cancelUpload(file.id);
|
|
239
|
+
swfuploadify.queue.filesCancelled++;
|
|
240
|
+
return false;
|
|
241
|
+
} else {
|
|
242
|
+
jQuery('#' + queuedFile.id).remove();
|
|
243
|
+
swfuploadify.cancelUpload(queuedFile.id);
|
|
244
|
+
swfuploadify.queue.filesReplaced++;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// Get the size of the file
|
|
250
|
+
var fileSize = Math.round(file.size / 1024);
|
|
251
|
+
var suffix = 'KB';
|
|
252
|
+
if (fileSize > 1000) {
|
|
253
|
+
fileSize = Math.round(fileSize / 1000);
|
|
254
|
+
suffix = 'MB';
|
|
255
|
+
}
|
|
256
|
+
var fileSizeParts = fileSize.toString().split('.');
|
|
257
|
+
fileSize = fileSizeParts[0];
|
|
258
|
+
if (fileSizeParts.length > 1) {
|
|
259
|
+
fileSize += '.' + fileSizeParts[1].substr(0,2);
|
|
260
|
+
}
|
|
261
|
+
fileSize += suffix;
|
|
262
|
+
|
|
263
|
+
// Truncate the filename if it's too long
|
|
264
|
+
var fileName = file.name;
|
|
265
|
+
if (fileName.length > 25) {
|
|
266
|
+
fileName = fileName.substr(0,25) + '...';
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Add the file item to the queue
|
|
270
|
+
jQuery('#' + swfuploadify.settings.queueID).append('<div id="' + file.id + '" class="uploadifyQueueItem">\
|
|
271
|
+
<div class="cancel">\
|
|
272
|
+
<a href="javascript:jQuery(\'#' + swfuploadify.settings.id + '\').uploadifyCancel(\'' + file.id + '\')"><img src="' + swfuploadify.settings.cancelImage + '" border="0" /></a>\
|
|
273
|
+
</div>\
|
|
274
|
+
<span class="fileName">' + fileName + ' (' + fileSize + ')</span><span class="data"></span>\
|
|
275
|
+
<div class="uploadifyProgress">\
|
|
276
|
+
<div class="uploadifyProgressBar"><!--Progress Bar--></div>\
|
|
277
|
+
</div>\
|
|
278
|
+
</div>');
|
|
279
|
+
swfuploadify.queue.queueSize += file.size;
|
|
280
|
+
}
|
|
281
|
+
swfuploadify.queue.files[file.id] = file;
|
|
282
|
+
if (swfuploadify.settings.onSelect) swfuploadify.settings.onSelect(file);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Triggered when a file is not added to the queue
|
|
286
|
+
function onSelectError(file,errorCode,errorMsg) {
|
|
287
|
+
if (jQuery.inArray('onSelectError',swfuploadify.settings.skipDefault) < 0) {
|
|
288
|
+
switch(errorCode) {
|
|
289
|
+
case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
|
|
290
|
+
if (swfuploadify.settings.queueSizeLimit > errorMsg) {
|
|
291
|
+
swfuploadify.queue.errorMsg += '\nThe number of files selected exceeds the remaining upload limit (' + errorMsg + ').';
|
|
292
|
+
} else {
|
|
293
|
+
swfuploadify.queue.errorMsg += '\nThe number of files selected exceeds the queue size limit (' + swfuploadify.settings.queueSizeLimit + ').';
|
|
294
|
+
}
|
|
295
|
+
break;
|
|
296
|
+
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
|
|
297
|
+
swfuploadify.queue.errorMsg += '\nThe file "' + file.name + '" exceeds the size limit (' + swfuploadify.settings.fileSizeLimit + ').';
|
|
298
|
+
break;
|
|
299
|
+
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
|
|
300
|
+
swfuploadify.queue.errorMsg += '\nThe file "' + file.name + '" is empty.';
|
|
301
|
+
break;
|
|
302
|
+
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
|
|
303
|
+
swfuploadify.queue.errorMsg += '\nThe file "' + file.name + '" is not an accepted file type (' + swfuploadify.settings.fileTypeDesc + ').';
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (errorCode != SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
|
|
308
|
+
delete swfuploadify.queue.files[file.id];
|
|
309
|
+
}
|
|
310
|
+
if (swfuploadify.settings.onSelectError) swfuploadify.settings.onSelectError(file,errorCode,errorMsg);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Triggered when all the files in the queue have been processed
|
|
314
|
+
function onQueueComplete() {
|
|
315
|
+
var stats = swfuploadify.getStats();
|
|
316
|
+
if (swfuploadify.settings.onQueueComplete) swfuploadify.settings.onQueueComplete(stats);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Triggered when a file upload successfully completes
|
|
320
|
+
function onUploadComplete(file) {
|
|
321
|
+
var stats = swfuploadify.getStats();
|
|
322
|
+
swfuploadify.queue.queueLength = stats.files_queued;
|
|
323
|
+
if (swfuploadify.queue.uploadQueue[0] == '*') {
|
|
324
|
+
if (swfuploadify.queue.queueLength > 0) {
|
|
325
|
+
swfuploadify.startUpload();
|
|
326
|
+
} else {
|
|
327
|
+
swfuploadify.queue.uploadQueue = [];
|
|
328
|
+
if (swfuploadify.settings.onQueueComplete) swfuploadify.settings.onQueueComplete(stats);
|
|
329
|
+
}
|
|
330
|
+
} else {
|
|
331
|
+
if (swfuploadify.queue.uploadQueue.length > 0) {
|
|
332
|
+
swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
|
|
333
|
+
} else {
|
|
334
|
+
swfuploadify.queue.uploadQueue = [];
|
|
335
|
+
if (swfuploadify.settings.onQueueComplete) settings.onQueueComplete(stats);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
if (jQuery.inArray('onUploadComplete',swfuploadify.settings.skipDefault) < 0) {
|
|
339
|
+
if (swfuploadify.settings.removeCompleted) {
|
|
340
|
+
switch (file.filestatus) {
|
|
341
|
+
case SWFUpload.FILE_STATUS.COMPLETE:
|
|
342
|
+
setTimeout(function() {
|
|
343
|
+
if (jQuery('#' + file.id)) {
|
|
344
|
+
swfuploadify.queue.queueSize -= file.size;
|
|
345
|
+
delete swfuploadify.queue.files[file.id]
|
|
346
|
+
jQuery('#' + file.id).fadeOut(500,function() {
|
|
347
|
+
jQuery(this).remove();
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
},swfuploadify.settings.removeTimeout * 1000);
|
|
351
|
+
break;
|
|
352
|
+
case SWFUpload.FILE_STATUS.ERROR:
|
|
353
|
+
if (!swfuploadify.settings.requeueErrors) {
|
|
354
|
+
setTimeout(function() {
|
|
355
|
+
if (jQuery('#' + file.id)) {
|
|
356
|
+
swfuploadify.queue.queueSize -= file.size;
|
|
357
|
+
delete swfuploadify.queue.files[file.id];
|
|
358
|
+
jQuery('#' + file.id).fadeOut(500,function() {
|
|
359
|
+
jQuery(this).remove();
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
},swfuploadify.settings.removeTimeout * 1000);
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (swfuploadify.settings.onUploadComplete) swfuploadify.settings.onUploadComplete(file,swfuploadify.queue);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// Triggered when a file upload returns an error
|
|
372
|
+
function onUploadError(file,errorCode,errorMsg) {
|
|
373
|
+
var errorString = 'Error';
|
|
374
|
+
if (errorCode != SWFUpload.UPLOAD_ERROR.FILE_CANCELLED && errorCode != SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
|
|
375
|
+
jQuery('#' + file.id).addClass('uploadifyError');
|
|
376
|
+
}
|
|
377
|
+
jQuery('#' + file.id).find('.uploadifyProgressBar').css('width','1px');
|
|
378
|
+
switch(errorCode) {
|
|
379
|
+
case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
|
|
380
|
+
errorString = 'HTTP Error (' + errorMsg + ')';
|
|
381
|
+
break;
|
|
382
|
+
case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
|
|
383
|
+
errorString = 'Missing Upload URL';
|
|
384
|
+
break;
|
|
385
|
+
case SWFUpload.UPLOAD_ERROR.IO_ERROR:
|
|
386
|
+
errorString = 'IO Error';
|
|
387
|
+
break;
|
|
388
|
+
case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
|
|
389
|
+
errorString = 'Security Error';
|
|
390
|
+
break;
|
|
391
|
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
|
|
392
|
+
alert('The upload limit has been reached (' + errorMsg + ').');
|
|
393
|
+
errorString = 'Exceeds Upload Limit';
|
|
394
|
+
break;
|
|
395
|
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
|
|
396
|
+
errorString = 'Failed';
|
|
397
|
+
break;
|
|
398
|
+
case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
|
|
399
|
+
break;
|
|
400
|
+
case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
|
|
401
|
+
errorString = 'Validation Error';
|
|
402
|
+
break;
|
|
403
|
+
case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
|
|
404
|
+
errorString = 'Cancelled';
|
|
405
|
+
swfuploadify.queue.queueSize -= file.size;
|
|
406
|
+
if (file.status == SWFUpload.FILE_STATUS.IN_PROGRESS || jQuery.inArray(file.id,swfuploadify.queue.uploadQueue) >= 0) {
|
|
407
|
+
swfuploadify.queue.uploadSize -= file.size;
|
|
408
|
+
}
|
|
409
|
+
delete swfuploadify.queue.files[file.id];
|
|
410
|
+
break;
|
|
411
|
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
|
|
412
|
+
errorString = 'Stopped';
|
|
413
|
+
break;
|
|
414
|
+
}
|
|
415
|
+
if (errorCode != SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND && file.status != SWFUpload.FILE_STATUS.COMPLETE) {
|
|
416
|
+
jQuery('#' + file.id).find('.data').html(' - ' + errorString);
|
|
417
|
+
}
|
|
418
|
+
if (swfuploadify.settings.onUploadError) swfuploadify.settings.onUploadError(file,errorCode,errorMsg,errorString,swfuploadify.queue);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// Triggered periodically during a file upload
|
|
422
|
+
function onUploadProgress(file,fileBytesLoaded,fileTotalBytes) {
|
|
423
|
+
var timer = new Date();
|
|
424
|
+
var newTime = timer.getTime();
|
|
425
|
+
var lapsedTime = newTime - swfuploadify.timer;
|
|
426
|
+
swfuploadify.timer = newTime;
|
|
427
|
+
var lapsedBytes = fileBytesLoaded - swfuploadify.bytesLoaded;
|
|
428
|
+
swfuploadify.bytesLoaded = fileBytesLoaded;
|
|
429
|
+
var queueBytesLoaded = swfuploadify.queue.queueBytesUploaded + fileBytesLoaded;
|
|
430
|
+
var percentage = Math.round(fileBytesLoaded / fileTotalBytes * 100);
|
|
431
|
+
|
|
432
|
+
// Calculate the average speed
|
|
433
|
+
var mbs = 0;
|
|
434
|
+
var kbs = (lapsedBytes / 1024) / (lapsedTime / 1000);
|
|
435
|
+
kbs = Math.floor(kbs * 10) / 10;
|
|
436
|
+
if (swfuploadify.queue.averageSpeed > 0) {
|
|
437
|
+
swfuploadify.queue.averageSpeed = (swfuploadify.queue.averageSpeed + kbs) / 2;
|
|
438
|
+
} else {
|
|
439
|
+
swfuploadify.queue.averageSpeed = kbs;
|
|
440
|
+
}
|
|
441
|
+
if (kbs > 1000) {
|
|
442
|
+
mbs = (kbs * .001);
|
|
443
|
+
swfuploadify.queue.averageSpeed = mbs;
|
|
444
|
+
}
|
|
445
|
+
var suffix = 'KB/s';
|
|
446
|
+
if (mbs > 0) {
|
|
447
|
+
suffix = 'MB/s';
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
if (jQuery.inArray('onUploadProgress',swfuploadify.settings.skipDefault) < 0) {
|
|
451
|
+
if (swfuploadify.settings.progressData == 'percentage') {
|
|
452
|
+
jQuery('#' + file.id).find('.data').html(' - ' + percentage + '%');
|
|
453
|
+
} else if (swfuploadify.settings.progressData == 'speed') {
|
|
454
|
+
jQuery('#' + file.id).find('.data').html(' - ' + percentage + suffix);
|
|
455
|
+
}
|
|
456
|
+
jQuery('#' + file.id).find('.uploadifyProgressBar').css('width',percentage + '%');
|
|
457
|
+
}
|
|
458
|
+
if (swfuploadify.settings.onUploadProgress) swfuploadify.settings.onUploadProgress(file,fileBytesLoaded,fileTotalBytes,queueBytesLoaded,swfuploadify.queue.uploadSize);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// Triggered right before a file is uploaded
|
|
462
|
+
function onUploadStart(file) {
|
|
463
|
+
var timer = new Date();
|
|
464
|
+
swfuploadify.timer = timer.getTime();
|
|
465
|
+
swfuploadify.bytesLoaded = 0;
|
|
466
|
+
if (swfuploadify.queue.uploadQueue.length == 0) {
|
|
467
|
+
swfuploadify.queue.uploadSize = file.size;
|
|
468
|
+
}
|
|
469
|
+
if (swfuploadify.settings.checkExisting !== false) {
|
|
470
|
+
jQuery.ajax({
|
|
471
|
+
type : 'POST',
|
|
472
|
+
async : false,
|
|
473
|
+
url : swfuploadify.settings.checkExisting,
|
|
474
|
+
data : {filename: file.name},
|
|
475
|
+
success : function(data) {
|
|
476
|
+
if (data == 1) {
|
|
477
|
+
var overwrite = confirm('A file with the name "' + file.name + '" already exists on the server.\nWould you like to replace the existing file?');
|
|
478
|
+
if (!overwrite) {
|
|
479
|
+
swfuploadify.cancelUpload(file.id);
|
|
480
|
+
jQuery('#' + file.id).remove();
|
|
481
|
+
if (swfuploadify.queue.uploadQueue.length > 0 && swfuploadify.queue.queueLength > 0) {
|
|
482
|
+
if (swfuploadify.queue.uploadQueue[0] == '*') {
|
|
483
|
+
swfuploadify.startUpload();
|
|
484
|
+
} else {
|
|
485
|
+
swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
if (swfuploadify.settings.onUploadStart) swfuploadify.settings.onUploadStart(file);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
// Triggered when a file upload returns a successful code
|
|
497
|
+
function onUploadSuccess(file,data,response) {
|
|
498
|
+
swfuploadify.queue.queueBytesUploaded += file.size;
|
|
499
|
+
jQuery('#' + file.id).find('.data').html(' - Complete');
|
|
500
|
+
if (swfuploadify.settings.onUploadSuccess) swfuploadify.settings.onUploadSuccess(file,data,response);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
// ---------------------------
|
|
504
|
+
// End Event Handler Functions
|
|
505
|
+
// ---------------------------
|
|
506
|
+
});
|
|
507
|
+
},
|
|
508
|
+
|
|
509
|
+
// Cancel a file upload and remove it from the queue
|
|
510
|
+
uploadifyCancel:function(fileID) {
|
|
511
|
+
var id = jQuery(this).selector.replace('#','');
|
|
512
|
+
var swfuploadify = window['uploadify_' + id];
|
|
513
|
+
var delay = -1;
|
|
514
|
+
if (arguments[0]) {
|
|
515
|
+
if (arguments[0] == '*') {
|
|
516
|
+
jQuery('#' + swfuploadify.settings.queueID).find('.uploadifyQueueItem').each(function() {
|
|
517
|
+
delay++;
|
|
518
|
+
swfuploadify.cancelUpload(jQuery(this).attr('id'));
|
|
519
|
+
jQuery(this).delay(100 * delay).fadeOut(500,function() {
|
|
520
|
+
jQuery(this).remove();
|
|
521
|
+
|
|
522
|
+
});
|
|
523
|
+
});
|
|
524
|
+
swfuploadify.queue.queueSize = 0;
|
|
525
|
+
} else {
|
|
526
|
+
for (var n = 0; n < arguments.length; n++) {
|
|
527
|
+
swfuploadify.cancelUpload(arguments[n]);
|
|
528
|
+
jQuery('#' + arguments[n]).delay(100 * n).fadeOut(500,function() {
|
|
529
|
+
jQuery(this).remove();
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
} else {
|
|
534
|
+
jQuery('#' + swfuploadify.settings.queueID).find('.uploadifyQueueItem').get(0).fadeOut(500,function() {
|
|
535
|
+
jQuery(this).remove();
|
|
536
|
+
swfuploadify.cancelUpload(jQuery(this).attr('id'));
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
},
|
|
540
|
+
|
|
541
|
+
// Get rid of the instance of Uploadify
|
|
542
|
+
uploadifyDestroy:function() {
|
|
543
|
+
var id = jQuery(this).selector.replace('#','');
|
|
544
|
+
var swfuploadify = window['uploadify_' + id];
|
|
545
|
+
swfuploadify.destroy();
|
|
546
|
+
jQuery('#' + id + '_queue').remove();
|
|
547
|
+
jQuery('#' + id).replaceWith(swfuploadify.original);
|
|
548
|
+
delete window['uploadify_' + id];
|
|
549
|
+
},
|
|
550
|
+
|
|
551
|
+
// Disable the select button
|
|
552
|
+
uploadifyDisable:function(isDisabled) {
|
|
553
|
+
var id = jQuery(this).selector.replace('#','');
|
|
554
|
+
var swfuploadify = window['uploadify_' + id];
|
|
555
|
+
swfuploadify.setButtonDisabled(isDisabled);
|
|
556
|
+
},
|
|
557
|
+
|
|
558
|
+
// Update or retrieve a setting
|
|
559
|
+
uploadifySettings:function(name,value,resetObjects) {
|
|
560
|
+
var id = jQuery(this).selector.replace('#','');
|
|
561
|
+
var swfuploadify = window['uploadify_' + id];
|
|
562
|
+
if (typeof(arguments[0]) == 'object') {
|
|
563
|
+
for (var n in value) {
|
|
564
|
+
setData(n,value[n]);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
if (arguments.length == 1) {
|
|
568
|
+
return swfuploadify.settings[name];
|
|
569
|
+
} else {
|
|
570
|
+
setData(name,value,resetObjects);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
function setData(settingName,settingValue,resetObjects) {
|
|
574
|
+
switch (settingName) {
|
|
575
|
+
case 'uploader':
|
|
576
|
+
swfuploadify.setUploadURL(settingValue);
|
|
577
|
+
break;
|
|
578
|
+
case 'postData':
|
|
579
|
+
if (!resetObjects) {
|
|
580
|
+
value = jQuery.extend(swfuploadify.settings.postData,settingValue);
|
|
581
|
+
}
|
|
582
|
+
swfuploadify.setPostParams(settingValue);
|
|
583
|
+
break;
|
|
584
|
+
case 'method':
|
|
585
|
+
if (settingValue == 'get') {
|
|
586
|
+
swfuploadify.setUseQueryString(true);
|
|
587
|
+
} else {
|
|
588
|
+
swfuploadify.setUseQueryString(false);
|
|
589
|
+
}
|
|
590
|
+
break;
|
|
591
|
+
case 'fileObjName':
|
|
592
|
+
swfuploadify.setFilePostName(settingValue);
|
|
593
|
+
break;
|
|
594
|
+
case 'fileTypeExts':
|
|
595
|
+
swfuploadify.setFileTypes(settingValue,swfuploadify.settings.fileTypeDesc);
|
|
596
|
+
break;
|
|
597
|
+
case 'fileTypeDesc':
|
|
598
|
+
swfuploadify.setFileTypes(swfuploadify.settings.fileTypeExts,settingValue);
|
|
599
|
+
break;
|
|
600
|
+
case 'fileSizeLimit':
|
|
601
|
+
swfuploadify.setFileSizeLimit(settingValue);
|
|
602
|
+
break;
|
|
603
|
+
case 'uploadLimit':
|
|
604
|
+
swfuploadify.setFileUploadLimit(settingValue);
|
|
605
|
+
break;
|
|
606
|
+
case 'queueSizeLimit':
|
|
607
|
+
swfuploadify.setFileQueueLimit(settingValue);
|
|
608
|
+
break;
|
|
609
|
+
case 'buttonImage':
|
|
610
|
+
jQuery('#' + swfuploadify.settings.id + '_button').remove();
|
|
611
|
+
swfuploadify.setButtonImageURL(settingValue);
|
|
612
|
+
break;
|
|
613
|
+
case 'buttonCursor':
|
|
614
|
+
if (settingValue == 'arrow') {
|
|
615
|
+
swfuploadify.setButtonCursor(SWFUpload.CURSOR.ARROW);
|
|
616
|
+
} else {
|
|
617
|
+
swfuploadify.setButtonCursor(SWFUpload.CURSOR.HAND);
|
|
618
|
+
}
|
|
619
|
+
break;
|
|
620
|
+
case 'buttonText':
|
|
621
|
+
jQuery('#' + swfuploadify.settings.id + '_button').find('.uploadifyButtonText').html(settingValue);
|
|
622
|
+
break;
|
|
623
|
+
case 'width':
|
|
624
|
+
swfuploadify.setButtonDimensions(settingValue,swfuploadify.settings.height);
|
|
625
|
+
break;
|
|
626
|
+
case 'height':
|
|
627
|
+
swfuploadify.setButtonDimensions(swfuploadify.settings.width,settingValue);
|
|
628
|
+
break;
|
|
629
|
+
case 'multi':
|
|
630
|
+
if (settingValue) {
|
|
631
|
+
swfuploadify.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILES);
|
|
632
|
+
} else {
|
|
633
|
+
swfuploadify.setButtonAction(SWFUpload.BUTTON_ACTION.SELECT_FILE);
|
|
634
|
+
}
|
|
635
|
+
break;
|
|
636
|
+
}
|
|
637
|
+
swfuploadify.settings[settingName] = value;
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
|
|
641
|
+
// Stop the current upload and requeue what is in progress
|
|
642
|
+
uploadifyStop:function() {
|
|
643
|
+
var id = jQuery(this).selector.replace('#','');
|
|
644
|
+
var swfuploadify = window['uploadify_' + id];
|
|
645
|
+
swfuploadify.stopUpload();
|
|
646
|
+
},
|
|
647
|
+
|
|
648
|
+
// Upload the first file, a select number of files, or all the files in the queue
|
|
649
|
+
uploadifyUpload:function() {
|
|
650
|
+
var id = jQuery(this).selector.replace('#','');
|
|
651
|
+
var swfuploadify = window['uploadify_' + id];
|
|
652
|
+
|
|
653
|
+
// Reset the queue information
|
|
654
|
+
swfuploadify.queue.averageSpeed = 0;
|
|
655
|
+
swfuploadify.queue.uploadSize = 0;
|
|
656
|
+
swfuploadify.queue.bytesUploaded = 0;
|
|
657
|
+
swfuploadify.queue.uploadQueue = [];
|
|
658
|
+
|
|
659
|
+
if (arguments[0]) {
|
|
660
|
+
if (arguments[0] == '*') {
|
|
661
|
+
swfuploadify.queue.uploadSize = swfuploadify.queue.queueSize;
|
|
662
|
+
swfuploadify.queue.uploadQueue.push('*');
|
|
663
|
+
swfuploadify.startUpload();
|
|
664
|
+
} else {
|
|
665
|
+
for (var n = 0; n < arguments.length; n++) {
|
|
666
|
+
swfuploadify.queue.uploadSize += swfuploadify.queue.files[arguments[n]].size;
|
|
667
|
+
swfuploadify.queue.uploadQueue.push(arguments[n]);
|
|
668
|
+
}
|
|
669
|
+
swfuploadify.startUpload(swfuploadify.queue.uploadQueue.shift());
|
|
670
|
+
}
|
|
671
|
+
} else {
|
|
672
|
+
swfuploadify.startUpload();
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
})
|
|
676
|
+
}
|
|
677
|
+
)(jQuery);
|