* (bug 19827) Special:SpecialPages title is "Upload file
authorBrion Vibber <brion@users.mediawiki.org>
Sun, 19 Jul 2009 17:24:48 +0000 (17:24 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Sun, 19 Jul 2009 17:24:48 +0000 (17:24 +0000)
Restructured SpecialUpload class was performing output in constructor; this messed up other pages using the object in the background, as Special:Specialpages

RELEASE-NOTES
includes/specials/SpecialUpload.php

index 60f6bfa..9d2a265 100644 (file)
@@ -292,6 +292,7 @@ this. Was used when mwEmbed was going to be an extension.
 * (bug 19784) date option "ISO 8601" produced illegal id
 * (bug 19761) Removed autogenerated <meta keywords> tag with link data.
   Keyword set was not useful, and is ignored by modern search engines anway.
+* (bug 19827) Special:SpecialPages title is "Upload file
 
 == API changes in 1.16 ==
 
index 49bac54..24041d5 100644 (file)
@@ -33,17 +33,18 @@ class UploadForm extends SpecialPage {
         * @param $request Data posted.
         */
        function __construct( $request = null ) {
-           global $wgUser, $wgRequest;
-
                parent::__construct( 'Upload' );
+           $this->mRequest = $request;
+       }
 
-               $this->setHeaders();
-               $this->outputHeader();
-
-               if ( is_null( $request ) ) {
+       protected function initForm() {
+               global $wgRequest, $wgUser;
+               
+               if ( is_null( $this->mRequest ) ) {
                        $request = $wgRequest;
+               } else {
+                       $request = $this->mRequest;
                }
-
                // Guess the desired name from the filename if not provided
                $this->mDesiredDestName   = $request->getText( 'wpDestFile' );
                if( !$this->mDesiredDestName )
@@ -81,14 +82,19 @@ class UploadForm extends SpecialPage {
                $this->mAction            = $request->getVal( 'action' );
                $this->mUpload            = UploadBase::createFromRequest( $request );
        }
-
-
+       
        /**
         * Start doing stuff
         * @access public
         */
        function execute( $par ) {
-               global $wgUser, $wgOut;
+               global $wgUser, $wgOut, $wgRequest;
+
+               $this->setHeaders();
+               $this->outputHeader();
+               
+               $this->initForm();
+
                # Check uploading enabled
                if( !UploadBase::isEnabled() ) {
                        $wgOut->showErrorPage( 'uploaddisabled', 'uploaddisabledtext' );