Index: branches/js2-work/phase3/js/mwEmbed/skins/ctrlBuilder.js |
— | — | @@ -178,25 +178,41 @@ |
179 | 179 | function() { |
180 | 180 | if ( $j( '#gnp_' + embedPlayer.id ).length == 0 ) { |
181 | 181 | var toppos = ( embedPlayer.instanceOf == 'mvPlayList' ) ? 25 : 10; |
182 | | - $j( this ).append( '<div id="gnp_' + embedPlayer.id + '" class="ui-state-highlight ui-corner-all" ' + |
183 | | - 'style="position:absolute;display:none;background:#FFF;color:#111;top:' + toppos + 'px;left:10px;right:10px;">' + |
184 | | - gM( 'mwe-for_best_experience' ) + |
185 | | - '<br><input id="ffwarn_' + embedPlayer.id + '" type=\"checkbox\">' + |
186 | | - gM( 'mwe-do_not_warn_again' ) + |
187 | | - '</div>' ); |
188 | | - $j( '#ffwarn_' + embedPlayer.id ).click( function() { |
189 | | - if ( $j( this ).is( ':checked' ) ) { |
190 | | - // Set up a cookie for 7 days: |
191 | | - $j.cookie( 'show_player_warning', false, { expires: 7 } ); |
192 | | - // Set the current instance |
193 | | - mw.setConfig( 'show_player_warning', false ); |
194 | | - $j( '#gnp_' + embedPlayer.id ).fadeOut( 'slow' ); |
195 | | - } else { |
196 | | - mw.setConfig( 'show_player_warning', true ); |
197 | | - $j.cookie( 'show_player_warning', true ); |
198 | | - } |
199 | | - |
200 | | - } ); |
| 182 | + $j( this ).append( |
| 183 | + $j('<div />') |
| 184 | + .attr({ |
| 185 | + 'id': "gnp_" + embedPlayer.id, |
| 186 | + }) |
| 187 | + .addClass('ui-state-highlight ui-corner-all') |
| 188 | + .css({ |
| 189 | + 'position':'absolute', |
| 190 | + 'display':'none', |
| 191 | + 'background':'#FFF', |
| 192 | + 'color':'#111', |
| 193 | + 'top' : toppos + 'px', |
| 194 | + 'left' : '10px', |
| 195 | + 'right' : '10px' |
| 196 | + }) |
| 197 | + .html( gM( 'mwe-for_best_experience' ) ), |
| 198 | + $j('<br />'), |
| 199 | + $j('<input />') |
| 200 | + .attr({ |
| 201 | + 'id' : 'ffwarn_' + embedPlayer.id, |
| 202 | + }) |
| 203 | + .text( gM( 'mwe-do_not_warn_again' ) ) |
| 204 | + .click( function() { |
| 205 | + if ( $j( this ).is( ':checked' ) ) { |
| 206 | + // Set up a cookie for 7 days: |
| 207 | + $j.cookie( 'show_player_warning', false, { expires: 7 } ); |
| 208 | + // Set the current instance |
| 209 | + mw.setConfig( 'show_player_warning', false ); |
| 210 | + $j( '#gnp_' + embedPlayer.id ).fadeOut( 'slow' ); |
| 211 | + } else { |
| 212 | + mw.setConfig( 'show_player_warning', true ); |
| 213 | + $j.cookie( 'show_player_warning', true ); |
| 214 | + } |
| 215 | + } ) |
| 216 | + ); |
201 | 217 | } |
202 | 218 | // Only show the warning if cookie and config are true |
203 | 219 | if ( mw.getConfig( 'show_player_warning' ) === true ) |
Index: branches/js2-work/phase3/js/mwEmbed/modules/AddMedia/mw.Firefogg.js |
— | — | @@ -442,11 +442,21 @@ |
443 | 443 | |
444 | 444 | // Add the preview button and canvas |
445 | 445 | $j( '#upProgressDialog' ).append( |
446 | | - '<div style="clear:both;height:3em"/>' + |
447 | | - buttonHtml + |
448 | | - '<div style="padding:10px;">' + |
449 | | - '<canvas style="margin:auto;" id="fogg_preview_canvas" />' + |
450 | | - '</div>' |
| 446 | + $j('<div />') |
| 447 | + .css({ |
| 448 | + "clear" : 'both', |
| 449 | + 'height' : '3em' |
| 450 | + }), |
| 451 | + buttonHtml, |
| 452 | + $j('<div />') |
| 453 | + .css({ |
| 454 | + "padding" : '10px' |
| 455 | + }) |
| 456 | + .append( |
| 457 | + $j( '<canvas />' ) |
| 458 | + .css('margin', 'auto' ) |
| 459 | + .attr( 'id', 'fogg_preview_canvas') |
| 460 | + ) |
451 | 461 | ); |
452 | 462 | |
453 | 463 | // Set the initial state |
— | — | @@ -494,13 +504,19 @@ |
495 | 505 | var _this = this; |
496 | 506 | // Set up the hidden video to pull frames from |
497 | 507 | if( $j( '#fogg_preview_vid' ).length == 0 ) |
498 | | - $j( 'body' ).append( '<video id="fogg_preview_vid" style="display:none"></video>' ); |
| 508 | + $j( 'body' ).append( |
| 509 | + $j('<video />') |
| 510 | + .attr( 'id', "fogg_preview_vid") |
| 511 | + .css( "display", 'none' ) |
| 512 | + ); |
499 | 513 | var v = $j( '#fogg_preview_vid' ).get( 0 ); |
500 | 514 | |
501 | 515 | function seekToEnd() { |
502 | 516 | var v = $j( '#fogg_preview_vid' ).get( 0 ); |
503 | | - // TODO: document arbitrary 0.4s constant |
504 | | - v.currentTime = v.duration - 0.4; |
| 517 | + if( v ){ |
| 518 | + // Seek to near the end of the clip ( arbitrary -.4 seconds from end ) |
| 519 | + v.currentTime = v.duration - 0.4; |
| 520 | + } |
505 | 521 | } |
506 | 522 | function renderFrame() { |
507 | 523 | var v = $j( '#fogg_preview_vid' ).get( 0 ); |
— | — | @@ -773,6 +789,7 @@ |
774 | 790 | |
775 | 791 | mw.log( 'base setupAutoEncoder::' + this.getSourceFileInfo().contentType + |
776 | 792 | ' passthrough:' + settings['passthrough'] ); |
| 793 | + |
777 | 794 | this.current_encoder_settings = settings; |
778 | 795 | } |
779 | 796 | return this.current_encoder_settings; |
— | — | @@ -791,7 +808,7 @@ |
792 | 809 | }, |
793 | 810 | |
794 | 811 | isOggFormat: function() { |
795 | | - var contentType = this.getSourceFileInfo().contentType; |
| 812 | + var contentType = this.getSourceFileInfo().contentType; |
796 | 813 | return ( contentType.indexOf("video/ogg") != -1 |
797 | 814 | || contentType.indexOf("application/ogg") != -1 ); |
798 | 815 | }, |
— | — | @@ -824,7 +841,7 @@ |
825 | 842 | // If Firefogg is disabled or doing an copyByUrl upload, just invoke the parent method |
826 | 843 | if( !this.getFirefogg() || this.isCopyUpload() ) { |
827 | 844 | _this.pe_doUpload(); |
828 | | - return; |
| 845 | + return ; |
829 | 846 | } |
830 | 847 | // Get the input form data into an array |
831 | 848 | mw.log( 'get this.formData ::' ); |
— | — | @@ -839,9 +856,36 @@ |
840 | 857 | this.formData[ data[i]['name'] ] = data[i]['value']; |
841 | 858 | } |
842 | 859 | } |
843 | | - } |
| 860 | + } |
844 | 861 | |
845 | | - |
| 862 | + // Get the edit token from formData if it's not set already |
| 863 | + if ( !_this.editToken && _this.formData['token'] ) { |
| 864 | + _this.editToken = _this.formData['token']; |
| 865 | + } |
| 866 | + |
| 867 | + if( _this.editToken ) { |
| 868 | + mw.log( 'we already have an edit token: ' + _this.editToken ); |
| 869 | + _this.doUploadWithFormData(); |
| 870 | + return; |
| 871 | + } |
| 872 | + |
| 873 | + // No edit token. Fetch it asynchronously and then do the upload. |
| 874 | + mw.getToken( _this.api_url, 'File:'+ _this.formData['filename'], function( editToken ) { |
| 875 | + if( !editToken || editToken == '+\\' ) { |
| 876 | + _this.updateProgressWin( gM( 'fogg-badtoken' ), gM( 'fogg-badtoken' ) ); |
| 877 | + return false; |
| 878 | + } |
| 879 | + _this.editToken = editToken; |
| 880 | + _this.doUploadWithFormData(); |
| 881 | + } ); |
| 882 | + |
| 883 | + }, |
| 884 | + |
| 885 | + /** |
| 886 | + * Internal function called once the token and form data is avaliable |
| 887 | + */ |
| 888 | + doUploadWithFormData: function(){ |
| 889 | + var _this = this; |
846 | 890 | // We can do a chunk upload |
847 | 891 | if( _this.upload_mode == 'post' && _this.enable_chunks ){ |
848 | 892 | _this.doChunkUpload(); |
— | — | @@ -853,16 +897,10 @@ |
854 | 898 | }, |
855 | 899 | function /* onDone */ () { |
856 | 900 | mw.log( 'done with encoding do POST upload:' + _this.form.action ); |
857 | | - // ignore warnings & set source type |
858 | | - //_this.formData[ 'wpIgnoreWarning' ]='true'; |
859 | | - _this.formData['wpSourceType'] = 'upload'; |
860 | | - _this.formData['action'] = 'submit'; |
861 | | - |
862 | | - // wpUploadFile is set by firefogg |
863 | | - delete _this.formData['file']; |
864 | | - |
865 | | - _this.fogg.post( _this.editForm.action, 'wpUploadFile', |
866 | | - JSON.stringify( _this.formData ) ); |
| 901 | + |
| 902 | + var uploadRequest = _this.getUploadApiRequest(); |
| 903 | + _this.fogg.post( _this.api_url, 'file', JSON.stringify( uploadRequest ) ); |
| 904 | + |
867 | 905 | _this.doUploadStatus(); |
868 | 906 | } |
869 | 907 | ); |
— | — | @@ -894,55 +932,52 @@ |
895 | 933 | _this.formData['filename'] = fileName.replace( extreg, '.ogg' ); |
896 | 934 | } |
897 | 935 | } |
| 936 | + _this.doChunkUploadWithFormData(); |
| 937 | + }, |
| 938 | + |
| 939 | + /** |
| 940 | + * Get the uplaod api request object from _this.formData |
| 941 | + * |
| 942 | + * @param {Object} options Options |
| 943 | + */ |
| 944 | + getUploadApiRequest: function( options ){ |
| 945 | + var _this = this; |
| 946 | + var request = { |
| 947 | + 'action': 'upload', |
| 948 | + 'format': 'json', |
| 949 | + 'filename': _this.formData['filename'], |
| 950 | + 'comment': _this.formData['comment'], |
| 951 | + }; |
| 952 | + if( options && options.enable_chunks == true ){ |
| 953 | + request[ 'enablechunks' ] = 'true'; |
| 954 | + } |
898 | 955 | |
899 | | - // Get the edit token from formData if it's not set already |
900 | | - if ( !_this.editToken && _this.formData['token'] ) { |
901 | | - _this.editToken = _this.formData['token']; |
| 956 | + if ( _this.editToken ){ |
| 957 | + request['token'] = this.editToken; |
902 | 958 | } |
903 | 959 | |
904 | | - if( _this.editToken ) { |
905 | | - mw.log( 'we already have an edit token: ' + _this.editToken ); |
906 | | - _this.doChunkUploadWithFormData(); |
907 | | - return; |
| 960 | + if ( _this.formData['watch'] ){ |
| 961 | + request['watch'] = _this.formData['watch']; |
908 | 962 | } |
909 | 963 | |
910 | | - // No edit token. Fetch it asynchronously and then do the upload. |
911 | | - mw.getToken( _this.api_url, 'File:'+ _this.formData['filename'], function( editToken ) { |
912 | | - if( !editToken || editToken == '+\\' ) { |
913 | | - _this.updateProgressWin( gM( 'fogg-badtoken' ), gM( 'fogg-badtoken' ) ); |
914 | | - return false; |
915 | | - } |
916 | | - _this.editToken = editToken; |
917 | | - _this.doChunkUploadWithFormData(); |
918 | | - } ); |
| 964 | + if ( _this.formData['ignorewarnings'] ){ |
| 965 | + request['ignorewarnings'] = _this.formData['ignorewarnings']; |
| 966 | + } |
| 967 | + |
| 968 | + return request; |
919 | 969 | }, |
920 | | - |
| 970 | + |
921 | 971 | /** |
922 | | - * Internal function called from doChunkUpload() when the edit token is available |
| 972 | + * Internal function called from doChunkUpload() when form data is available |
923 | 973 | */ |
924 | 974 | doChunkUploadWithFormData: function() { |
925 | 975 | var _this = this; |
926 | 976 | mw.log( "firefogg::doChunkUploadWithFormData: " + _this.editToken ); |
927 | | - // Build the API URL |
928 | | - var aReq = { |
929 | | - 'action': 'upload', |
930 | | - 'format': 'json', |
931 | | - 'filename': _this.formData['filename'], |
932 | | - 'comment': _this.formData['comment'], |
933 | | - 'enablechunks': 'true' |
934 | | - }; |
| 977 | + // get the upload api request; |
| 978 | + var uploadRequest = this.getUploadApiRequest( { 'enable_chunks' : true } ); |
935 | 979 | |
936 | | - if ( _this.editToken ) |
937 | | - aReq['token'] = this.editToken; |
938 | | - |
939 | | - if ( _this.formData['watch'] ) |
940 | | - aReq['watch'] = _this.formData['watch']; |
941 | | - |
942 | | - if ( _this.formData['ignorewarnings'] ) |
943 | | - aReq['ignorewarnings'] = _this.formData['ignorewarnings']; |
944 | | - |
945 | 980 | var encoderSettings = this.getEncoderSettings(); |
946 | | - mw.log( 'do fogg upload/encode call: ' + _this.api_url + ' :: ' + JSON.stringify( aReq ) ); |
| 981 | + mw.log( 'do fogg upload/encode call: ' + _this.api_url + ' :: ' + JSON.stringify( uploadRequest ) ); |
947 | 982 | mw.log( 'foggEncode: ' + JSON.stringify( encoderSettings ) ); |
948 | 983 | _this.fogg.upload( JSON.stringify( encoderSettings ), _this.api_url, |
949 | 984 | JSON.stringify( aReq ) ); |
— | — | @@ -959,11 +994,18 @@ |
960 | 995 | * |
961 | 996 | * Asynchronous, returns immediately. |
962 | 997 | */ |
963 | | - doEncode : function( progressCallback, doneCallback ) { |
| 998 | + doEncode: function( progressCallback, doneCallback ) { |
964 | 999 | var _this = this; |
965 | 1000 | _this.action_done = false; |
966 | 1001 | _this.displayProgressOverlay(); |
| 1002 | + |
967 | 1003 | var encoderSettings = this.getEncoderSettings(); |
| 1004 | + |
| 1005 | + // Check if encoderSettings passthrough is on ( then skip the encode ) |
| 1006 | + if( encoderSettings['passthrough'] == true){ |
| 1007 | + doneCallback(); |
| 1008 | + } |
| 1009 | + |
968 | 1010 | mw.log( 'doEncode: with: ' + JSON.stringify( encoderSettings ) ); |
969 | 1011 | _this.fogg.encode( JSON.stringify( encoderSettings ) ); |
970 | 1012 | |
— | — | @@ -981,7 +1023,7 @@ |
982 | 1024 | // Update progress |
983 | 1025 | progressCallback( _this.fogg.progress() ); |
984 | 1026 | |
985 | | - //loop to get new status if still encoding |
| 1027 | + // Loop to get new status if still encoding |
986 | 1028 | if ( _this.fogg.state == 'encoding' ) { |
987 | 1029 | setTimeout( encodingStatus, 500 ); |
988 | 1030 | } else if ( _this.fogg.state == 'encoding done' ) { |
— | — | @@ -1047,21 +1089,22 @@ |
1048 | 1090 | _this.renderPreview(); |
1049 | 1091 | } |
1050 | 1092 | } |
1051 | | - |
| 1093 | + mw.log("update progress: " + _this.fogg.progress() + ' state: ' + _this.fogg.state ); |
1052 | 1094 | // Update the progress bar |
1053 | 1095 | _this.updateProgress( _this.fogg.progress() ); |
1054 | 1096 | |
1055 | 1097 | // If we're still uploading or encoding, continue to poll the status |
1056 | 1098 | if ( _this.fogg.state == 'encoding' || _this.fogg.state == 'uploading' ) { |
1057 | 1099 | setTimeout( uploadStatus, 100 ); |
1058 | | - return; |
| 1100 | + return true; |
1059 | 1101 | } |
1060 | 1102 | |
1061 | 1103 | // Upload done? |
1062 | 1104 | if ( -1 == $j.inArray( _this.fogg.state, [ 'upload done', 'done', 'encoding done' ] ) ) { |
1063 | 1105 | mw.log( 'Error:firefogg upload error: ' + _this.fogg.state ); |
1064 | | - return; |
| 1106 | + return ; |
1065 | 1107 | } |
| 1108 | + |
1066 | 1109 | if ( apiResult && apiResult.resultUrl ) { |
1067 | 1110 | var buttons = {}; |
1068 | 1111 | buttons[ gM( 'mwe-go-to-resource' ) ] = function() { |
— | — | @@ -1092,8 +1135,9 @@ |
1093 | 1136 | |
1094 | 1137 | /** |
1095 | 1138 | * This is the cancel button handler, referenced by getCancelButton() in the parent. |
| 1139 | + * @param {Element} dialogElement Dialog element that was "canceled" |
1096 | 1140 | */ |
1097 | | - onCancel: function( dlElm ) { |
| 1141 | + onCancel: function( dialogElement ) { |
1098 | 1142 | if ( !this.have_firefogg ) { |
1099 | 1143 | return this.pe_cancel_action(); |
1100 | 1144 | } |
— | — | @@ -1104,8 +1148,8 @@ |
1105 | 1149 | alert( 'sorry we do not yet support cancel on windows' ); |
1106 | 1150 | } else { |
1107 | 1151 | this.action_done = true; |
1108 | | - this.fogg.cancel(); |
1109 | | - $j( dlElm ).empty().dialog( 'close' ); |
| 1152 | + this.fogg.cancel(); |
| 1153 | + $j( dialogElement ).empty().dialog( 'close' ); |
1110 | 1154 | } |
1111 | 1155 | } |
1112 | 1156 | // Don't follow the # link: |
Index: branches/js2-work/phase3/js/mwEmbed/modules/AddMedia/jquery.simpleUploadForm.js |
— | — | @@ -147,7 +147,7 @@ |
148 | 148 | 'form_rewrite': true, |
149 | 149 | |
150 | 150 | // MediaWiki API supports chunk uploads: |
151 | | - 'enable_chunks' : true, |
| 151 | + 'enable_chunks' : false, |
152 | 152 | |
153 | 153 | 'form_selector' : '#suf_upload', |
154 | 154 | 'new_source_cb' : function( orgFilename, oggName ) { |
Index: branches/js2-work/phase3/js/mwEmbed/modules/AddMedia/mw.BaseUploadInterface.js |
— | — | @@ -104,7 +104,7 @@ |
105 | 105 | }, |
106 | 106 | |
107 | 107 | /** |
108 | | - * onsubmit handler for the upload form |
| 108 | + * onSubmit handler for the upload form |
109 | 109 | */ |
110 | 110 | onSubmit: function() { |
111 | 111 | var _this = this; |
— | — | @@ -257,12 +257,26 @@ |
258 | 258 | |
259 | 259 | // Add API action |
260 | 260 | if ( $form.find( "[name='action']" ).length == 0 ){ |
261 | | - $form.append( '<input type="hidden" name="action" value="upload">' ); |
| 261 | + $form.append( |
| 262 | + $j('<input />') |
| 263 | + .attr({ |
| 264 | + 'type': "hidden", |
| 265 | + 'name' : "action", |
| 266 | + 'value' : "upload" |
| 267 | + }) |
| 268 | + ) |
262 | 269 | } |
263 | 270 | |
264 | 271 | // Add JSON response format |
265 | 272 | if ( $form.find( "[name='format']" ).length == 0 ){ |
266 | | - $form.append( '<input type="hidden" name="format" value="jsonfm">' ); |
| 273 | + $form.append( |
| 274 | + $j( '<input />' ) |
| 275 | + .attr({ |
| 276 | + 'type' : "hidden", |
| 277 | + 'name' : "format", |
| 278 | + 'value' : "jsonfm" |
| 279 | + }) |
| 280 | + ) |
267 | 281 | } |
268 | 282 | |
269 | 283 | // Map a new hidden form |
— | — | @@ -910,7 +924,7 @@ |
911 | 925 | beforeclose: function( event, ui ) { |
912 | 926 | // If the upload is not complete, ask the user if they want to cancel |
913 | 927 | if ( event.button == 0 && _this.action_done === false ) { |
914 | | - _this.onCancel(); |
| 928 | + _this.onCancel( this ); |
915 | 929 | return false; |
916 | 930 | } else { |
917 | 931 | // Complete already, allow close |
— | — | @@ -955,13 +969,13 @@ |
956 | 970 | /** |
957 | 971 | * UI cancel button handler. |
958 | 972 | * Show a dialog box asking the user whether they want to cancel an upload. |
959 | | - * FIXME: doesn't work at all. |
| 973 | + * @param Element dialogElement Dialog element to be canceled |
960 | 974 | */ |
961 | | - onCancel: function( dlElm ) { |
| 975 | + onCancel: function( dialogElement ) { |
962 | 976 | //confirm: |
963 | 977 | if ( confirm( gM( 'mwe-cancel-confim' ) ) ) { |
964 | 978 | // NOTE: (cancel the encode / upload) |
965 | | - $j( dlElm ).dialog( 'close' ); |
| 979 | + $j( dialogElement ).dialog( 'close' ); |
966 | 980 | } |
967 | 981 | } |
968 | 982 | }; |
Index: branches/js2-work/phase3/js/mwEmbed/mwEmbed.js |
— | — | @@ -91,14 +91,7 @@ |
92 | 92 | mw.valid_skins = [ 'mvpcf', 'kskin' ]; |
93 | 93 | |
94 | 94 | // The version of mwEmbed |
95 | | - mw.version = '1.1'; |
96 | | - |
97 | | - /** |
98 | | - * Some global containers flags |
99 | | - */ |
100 | | - mw.skin_list = new Array(); |
101 | | - mw.init_done = false; |
102 | | - mw.cb_count = 0; |
| 95 | + mw.version = '1.1'; |
103 | 96 | |
104 | 97 | /** |
105 | 98 | * Configuration System: |
— | — | @@ -109,7 +102,7 @@ |
110 | 103 | // Local scope configuration var: |
111 | 104 | var mwConfig = { }; |
112 | 105 | |
113 | | - // Stores global callbacks |
| 106 | + // Stores global callbacks for script-loader loading |
114 | 107 | var mwLoadDoneCB = { }; |
115 | 108 | |
116 | 109 | //Local scope mwUserConfig var. Stores user configuration |
Index: branches/js2-work/phase3/js/mwEmbed/remotes/mediaWiki.js |
— | — | @@ -7,7 +7,7 @@ |
8 | 8 | var mwRemoteVersion = 'r90'; |
9 | 9 | var mwUseScriptLoader = true; |
10 | 10 | |
11 | | -//Log the mwRemote version ( will determine what version of js we get ) |
| 11 | +// Log the mwRemote version ( will determine what version of js we get ) |
12 | 12 | if( window.console ){ |
13 | 13 | window.console.log( 'mwEmbed:remote:' + mwRemoteVersion ); |
14 | 14 | } |
— | — | @@ -301,8 +301,8 @@ |
302 | 302 | */ |
303 | 303 | function mwGetReqArgs() { |
304 | 304 | var rurl = ''; |
305 | | - //if ( mwReqParam['debug'] ) |
306 | | - // rurl += 'debug=true&'; |
| 305 | + if ( mwReqParam['debug'] ) |
| 306 | + rurl += 'debug=true&'; |
307 | 307 | |
308 | 308 | if ( mwReqParam['uselang'] ) |
309 | 309 | rurl += 'uselang=' + mwReqParam['uselang'] + '&'; |
Index: branches/js2-work/phase3/js/uploadPage.js |
— | — | @@ -20,7 +20,7 @@ |
21 | 21 | 'api_url': wgServer + wgScriptPath + '/api.php', |
22 | 22 | 'form_rewrite': true, |
23 | 23 | // MediaWiki API supports chunk uploads: |
24 | | - 'enable_chunks' : true, |
| 24 | + 'enable_chunks' : false, |
25 | 25 | 'form_selector': mwUploadFormSelector, |
26 | 26 | 'new_source_cb': function( orgFilename, oggName ) { |
27 | 27 | $j( '#wpDestFile' ).val( oggName ); |