'ipb_already_blocked' => array('code' => 'alreadyblocked', 'info' => "The user you tried to block was already blocked"),
'ipb_blocked_as_range' => array('code' => 'blockedasrange', 'info' => "IP address ``\$1'' was blocked as part of range ``\$2''. You can't unblock the IP invidually, but you can unblock the range as a whole."),
'ipb_cant_unblock' => array('code' => 'cantunblock', 'info' => "The block you specified was not found. It may have been unblocked already"),
+ 'mailnologin' => array('code' => 'cantsend', 'info' => "You're not logged in or you don't have a confirmed e-mail address, so you can't send e-mail"),
+ 'blockedemailuser' => array('code' => 'blockedfrommail', 'info' => "You have been blocked from sending e-mail"),
+
// API-specific messages
'missingparam' => array('code' => 'no$1', 'info' => "The \$1 parameter must be set"),
'protect' => array( 'ApiQueryInfo', 'getProtectToken' ),
'move' => array( 'ApiQueryInfo', 'getMoveToken' ),
'block' => array( 'ApiQueryInfo', 'getBlockToken' ),
- 'unblock' => array( 'ApiQueryInfo', 'getUnblockToken' )
+ 'unblock' => array( 'ApiQueryInfo', 'getUnblockToken' ),
+ 'email' => array( 'ApiQueryInfo', 'getEmailToken' ),
);
wfRunHooks('APIQueryInfoTokens', array(&$this->tokenFunctions));
return $this->tokenFunctions;
return self::getBlockToken($pageid, $title);
}
+ public static function getEmailToken($pageid, $title)
+ {
+ global $wgUser;
+ if(!$wgUser->canSendEmail() || $wgUser->isBlockedFromEmailUser())
+ return false;
+
+ static $cachedEmailToken = null;
+ if(!is_null($cachedEmailToken))
+ return $cachedEmailToken;
+
+ $cachedEmailToken = $wgUser->editToken();
+ return $cachedEmailToken;
+ }
+
public function execute() {
global $wgUser;