mediawiki.special.upload: Use formatversion=2 for API requests
authorFomafix <fomafix@googlemail.com>
Sun, 17 Apr 2016 11:20:53 +0000 (11:20 +0000)
committer[[mw:User:Fomafix]] <gerritpatchuploader@gmail.com>
Sun, 17 Apr 2016 11:20:53 +0000 (11:20 +0000)
This simplifies the processing of the response.

Change-Id: I2073ec2c017e4d5c5c7f786b45118516feea1aac

resources/src/mediawiki.special/mediawiki.special.upload.js

index 377b1f7..49af809 100644 (file)
                        title = mw.Title.newFromText( this.nameToCheck, mw.config.get( 'wgNamespaceIds' ).file );
 
                        ( new mw.Api() ).get( {
+                               formatversion: 2,
                                action: 'query',
                                // If title is empty, user input is invalid, the API call will produce details about why
                                titles: title ? title.getPrefixedText() : this.nameToCheck,
                                prop: 'imageinfo',
-                               iiprop: 'uploadwarning',
-                               indexpageids: true
+                               iiprop: 'uploadwarning'
                        } ).done( function ( result ) {
                                var
                                        resultOut = '',
-                                       pageId = result.query.pageids[ 0 ];
-                               if ( result.query.pages[ pageId ].imageinfo ) {
-                                       resultOut = result.query.pages[ pageId ].imageinfo[ 0 ].html;
-                               } else if ( result.query.pages[ pageId ].invalidreason ) {
-                                       resultOut = mw.html.escape( result.query.pages[ pageId ].invalidreason );
+                                       page = result.query.pages[ 0 ];
+                               if ( page.imageinfo ) {
+                                       resultOut = page.imageinfo[ 0 ].html;
+                               } else if ( page.invalidreason ) {
+                                       resultOut = mw.html.escape( page.invalidreason );
                                }
                                $spinnerDestCheck.remove();
                                uploadWarning.processResult( resultOut, uploadWarning.nameToCheck );
                        $spinnerLicense = $.createSpinner().insertAfter( '#wpLicense' );
 
                        ( new mw.Api() ).get( {
+                               formatversion: 2,
                                action: 'parse',
                                text: '{{' + license + '}}',
                                title: $( '#wpDestFile' ).val() || 'File:Sample.jpg',
                },
 
                processResult: function ( result, license ) {
-                       this.responseCache[ license ] = result.parse.text[ '*' ];
+                       this.responseCache[ license ] = result.parse.text;
                        this.showPreview( this.responseCache[ license ] );
                },