Handle missing returnto on Special:ChangePassword/ConfirmEmail
authorumherirrender <umherirrender_de.wp@web.de>
Mon, 13 Apr 2015 19:31:49 +0000 (21:31 +0200)
committerumherirrender <umherirrender_de.wp@web.de>
Mon, 13 Apr 2015 19:36:42 +0000 (21:36 +0200)
A missing returnto results in a null passed to Title::newFromText which
gives a warning:
Notice: Title::newFromText: $text must be a string. This will throw an
InvalidArgumentException in future

Follow-Up: I2b36b7a3b96b37e29fe06f69c13a185b3ec592a7
Change-Id: I95e6023a2630cbae69f25d63611ebafb8b2bd74c

includes/specials/SpecialChangeEmail.php
includes/specials/SpecialChangePassword.php

index eca307d..3ed3c04 100644 (file)
@@ -129,7 +129,8 @@ class SpecialChangeEmail extends FormSpecialPage {
        public function onSuccess() {
                $request = $this->getRequest();
 
-               $titleObj = Title::newFromText( $request->getVal( 'returnto' ) );
+               $returnto = $request->getVal( 'returnto' );
+               $titleObj = $returnto !== null ? Title::newFromText( $returnto ) : null;
                if ( !$titleObj instanceof Title ) {
                        $titleObj = Title::newMainPage();
                }
index 168095f..6a4347d 100644 (file)
@@ -179,7 +179,8 @@ class SpecialChangePassword extends FormSpecialPage {
                }
 
                if ( $request->getCheck( 'wpCancel' ) ) {
-                       $titleObj = Title::newFromText( $request->getVal( 'returnto' ) );
+                       $returnto = $request->getVal( 'returnto' );
+                       $titleObj = $returnto !== null ? Title::newFromText( $returnto ) : null;
                        if ( !$titleObj instanceof Title ) {
                                $titleObj = Title::newMainPage();
                        }