/** * Redirect to Special:Userlogin if the specified message is compatible. Otherwise, * show an error page as usual. */ public function report() { // If an unsupported message is used, don't try redirecting to Special:Userlogin, // since the message may not be compatible. if (!in_array($this->msg, LoginHelper::getValidErrorMessages())) { parent::report(); } // Message is valid. Redirec to Special:Userlogin $context = RequestContext::getMain(); $output = $context->getOutput(); $query = $context->getRequest()->getValues(); // Title will be overridden by returnto unset($query['title']); // Redirect to Special:Userlogin $output->redirect(SpecialPage::getTitleFor('Userlogin')->getFullURL(['returnto' => $context->getTitle()->getFullText(), 'returntoquery' => wfArrayToCgi($query), 'warning' => $this->msg])); $output->output(); }
/** * @deprecated since 1.27 - call LoginHelper::getValidErrorMessages instead. */ public static function getValidErrorMessages() { return LoginHelper::getValidErrorMessages(); }