swfupload.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /**
  2. * SWFUpload fallback
  3. *
  4. * @since 4.9.0
  5. */
  6. var SWFUpload;
  7. ( function () {
  8. function noop() {}
  9. if (SWFUpload == undefined) {
  10. SWFUpload = function (settings) {
  11. this.initSWFUpload(settings);
  12. };
  13. }
  14. SWFUpload.prototype.initSWFUpload = function ( settings ) {
  15. function fallback() {
  16. var $ = window.jQuery;
  17. var $placeholder = settings.button_placeholder_id ? $( '#' + settings.button_placeholder_id ) : $( settings.button_placeholder );
  18. if ( ! $placeholder.length ) {
  19. return;
  20. }
  21. var $form = $placeholder.closest( 'form' );
  22. if ( ! $form.length ) {
  23. $form = $( '<form enctype="multipart/form-data" method="post">' );
  24. $form.attr( 'action', settings.upload_url );
  25. $form.insertAfter( $placeholder ).append( $placeholder );
  26. }
  27. $placeholder.replaceWith(
  28. $( '<div>' )
  29. .append(
  30. $( '<input type="file" multiple />' ).attr({
  31. name: settings.file_post_name || 'async-upload',
  32. accepts: settings.file_types || '*.*'
  33. })
  34. ).append(
  35. $( '<input type="submit" name="html-upload" class="button" value="Upload" />' )
  36. )
  37. );
  38. }
  39. try {
  40. // Try the built-in fallback.
  41. if ( typeof settings.swfupload_load_failed_handler === 'function' && settings.custom_settings ) {
  42. window.swfu = {
  43. customSettings: settings.custom_settings
  44. };
  45. settings.swfupload_load_failed_handler();
  46. } else {
  47. fallback();
  48. }
  49. } catch ( ex ) {
  50. fallback();
  51. }
  52. };
  53. SWFUpload.instances = {};
  54. SWFUpload.movieCount = 0;
  55. SWFUpload.version = "0";
  56. SWFUpload.QUEUE_ERROR = {};
  57. SWFUpload.UPLOAD_ERROR = {};
  58. SWFUpload.FILE_STATUS = {};
  59. SWFUpload.BUTTON_ACTION = {};
  60. SWFUpload.CURSOR = {};
  61. SWFUpload.WINDOW_MODE = {};
  62. SWFUpload.completeURL = noop;
  63. SWFUpload.prototype.initSettings = noop;
  64. SWFUpload.prototype.loadFlash = noop;
  65. SWFUpload.prototype.getFlashHTML = noop;
  66. SWFUpload.prototype.getFlashVars = noop;
  67. SWFUpload.prototype.getMovieElement = noop;
  68. SWFUpload.prototype.buildParamString = noop;
  69. SWFUpload.prototype.destroy = noop;
  70. SWFUpload.prototype.displayDebugInfo = noop;
  71. SWFUpload.prototype.addSetting = noop;
  72. SWFUpload.prototype.getSetting = noop;
  73. SWFUpload.prototype.callFlash = noop;
  74. SWFUpload.prototype.selectFile = noop;
  75. SWFUpload.prototype.selectFiles = noop;
  76. SWFUpload.prototype.startUpload = noop;
  77. SWFUpload.prototype.cancelUpload = noop;
  78. SWFUpload.prototype.stopUpload = noop;
  79. SWFUpload.prototype.getStats = noop;
  80. SWFUpload.prototype.setStats = noop;
  81. SWFUpload.prototype.getFile = noop;
  82. SWFUpload.prototype.addFileParam = noop;
  83. SWFUpload.prototype.removeFileParam = noop;
  84. SWFUpload.prototype.setUploadURL = noop;
  85. SWFUpload.prototype.setPostParams = noop;
  86. SWFUpload.prototype.addPostParam = noop;
  87. SWFUpload.prototype.removePostParam = noop;
  88. SWFUpload.prototype.setFileTypes = noop;
  89. SWFUpload.prototype.setFileSizeLimit = noop;
  90. SWFUpload.prototype.setFileUploadLimit = noop;
  91. SWFUpload.prototype.setFileQueueLimit = noop;
  92. SWFUpload.prototype.setFilePostName = noop;
  93. SWFUpload.prototype.setUseQueryString = noop;
  94. SWFUpload.prototype.setRequeueOnError = noop;
  95. SWFUpload.prototype.setHTTPSuccess = noop;
  96. SWFUpload.prototype.setAssumeSuccessTimeout = noop;
  97. SWFUpload.prototype.setDebugEnabled = noop;
  98. SWFUpload.prototype.setButtonImageURL = noop;
  99. SWFUpload.prototype.setButtonDimensions = noop;
  100. SWFUpload.prototype.setButtonText = noop;
  101. SWFUpload.prototype.setButtonTextPadding = noop;
  102. SWFUpload.prototype.setButtonTextStyle = noop;
  103. SWFUpload.prototype.setButtonDisabled = noop;
  104. SWFUpload.prototype.setButtonAction = noop;
  105. SWFUpload.prototype.setButtonCursor = noop;
  106. SWFUpload.prototype.queueEvent = noop;
  107. SWFUpload.prototype.executeNextEvent = noop;
  108. SWFUpload.prototype.unescapeFilePostParams = noop;
  109. SWFUpload.prototype.testExternalInterface = noop;
  110. SWFUpload.prototype.flashReady = noop;
  111. SWFUpload.prototype.cleanUp = noop;
  112. SWFUpload.prototype.fileDialogStart = noop;
  113. SWFUpload.prototype.fileQueued = noop;
  114. SWFUpload.prototype.fileQueueError = noop;
  115. SWFUpload.prototype.fileDialogComplete = noop;
  116. SWFUpload.prototype.uploadStart = noop;
  117. SWFUpload.prototype.returnUploadStart = noop;
  118. SWFUpload.prototype.uploadProgress = noop;
  119. SWFUpload.prototype.uploadError = noop;
  120. SWFUpload.prototype.uploadSuccess = noop;
  121. SWFUpload.prototype.uploadComplete = noop;
  122. SWFUpload.prototype.debug = noop;
  123. SWFUpload.prototype.debugMessage = noop;
  124. SWFUpload.Console = {
  125. writeLine: noop
  126. };
  127. }() );