/**
* @param string|null $subpage
+ * @return Title|bool
*/
public function execute( $subpage ) {
$redirect = $this->getRedirect( $subpage );
$query = $this->getRedirectQuery();
// Redirect to a page title with possible query parameters
if ( $redirect instanceof Title ) {
- $url = $redirect->getFullURL( $query );
+ $url = $redirect->getFullUrlForRedirect( $query );
$this->getOutput()->redirect( $url );
return $redirect;
return $redirect;
} else {
- $class = static::class;
- throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
+ $this->showNoRedirectPage();
}
}
public function personallyIdentifiableTarget() {
return false;
}
+
+ protected function showNoRedirectPage() {
+ $class = static::class;
+ throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
+ }
}
/**