MovePage: Don't try to pass non-strings into Title::newFromText
authorAlex Monk <krenair@gmail.com>
Mon, 6 Jul 2015 20:30:32 +0000 (21:30 +0100)
committerTimo Tijhof <krinklemail@gmail.com>
Thu, 9 Jul 2015 11:07:47 +0000 (12:07 +0100)
Bug: T104852
Change-Id: I240c0993977a8e7e584b93e95ace0907f7b7825c

includes/specials/SpecialMovepage.php

index ae1fefe..5682657 100644 (file)
@@ -28,7 +28,7 @@
  */
 class MovePageForm extends UnlistedSpecialPage {
        /** @var Title */
-       protected $oldTitle;
+       protected $oldTitle = null;
 
        /** @var Title */
        protected $newTitle;
@@ -75,9 +75,12 @@ class MovePageForm extends UnlistedSpecialPage {
                // Yes, the use of getVal() and getText() is wanted, see bug 20365
 
                $oldTitleText = $request->getVal( 'wpOldTitle', $target );
-               $this->oldTitle = Title::newFromText( $oldTitleText );
+               if ( is_string( $oldTitleText ) ) {
+                       $this->oldTitle = Title::newFromText( $oldTitleText );
+               }
 
-               if ( is_null( $this->oldTitle ) ) {
+               if ( $this->oldTitle === null ) {
+                       // Either oldTitle wasn't passed, or newFromText returned null
                        throw new ErrorPageError( 'notargettitle', 'notargettext' );
                }
                if ( !$this->oldTitle->exists() ) {