* @par Example:
* @code
* if( $user->isAnon() ) {
- * throw new UserNotLoggedIn();
+ * throw new UserNotLoggedIn();
* }
* @endcode
*
* @par Example:
* @code
* if( $user->isAnon() ) {
- * throw new UserNotLoggedIn( 'action-require-loggedin' );
+ * throw new UserNotLoggedIn( 'action-require-loggedin' );
* }
* @endcode
*
class UserNotLoggedIn extends ErrorPageError {
/**
- * @note The value of the $reasonMsg parameter must be put into LoginForm::validErrorMessages or
- * set with the LoginFormValidErrorMessages Hook.
- * if you want the user to be automatically redirected to the login form.
+ * @note The value of the $reasonMsg parameter must be set with the LoginFormValidErrorMessages
+ * hook if you want the user to be automatically redirected to the login form.
*
* @param string $reasonMsg A message key containing the reason for the error.
* Optional, default: 'exception-nologin-text'
* Redirect to Special:Userlogin if the specified message is compatible. Otherwise,
* show an error page as usual.
*/
- public function report() {
+ public function report( $action = self::SEND_OUTPUT ) {
// 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();
+ parent::report( $action );
+ return;
}
- // Message is valid. Redirec to Special:Userlogin
+ // Message is valid. Redirect to Special:Userlogin
$context = RequestContext::getMain();
'warning' => $this->msg,
] ) );
- $output->output();
+ if ( $action === self::SEND_OUTPUT ) {
+ $output->output();
+ }
}
}