X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiEmailUser.php;h=4b6ba00dc4895edd24bc2aa23eefecbc2f64339d;hb=9e41908dc0a3629da35cd8dd6c00abed59098227;hp=886e3e170f3338a077e9c3a0d3d807a2709419e8;hpb=457eb73b61d0eec867a1e8ce495cfd46ccbd1ac1;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiEmailUser.php b/includes/api/ApiEmailUser.php index 886e3e170f..4b6ba00dc4 100644 --- a/includes/api/ApiEmailUser.php +++ b/includes/api/ApiEmailUser.php @@ -1,6 +1,6 @@ extractRequestParams(); // Validate target @@ -51,7 +44,7 @@ class ApiEmailUser extends ApiBase { } // Check permissions and errors - $error = SpecialEmailUser::getPermissionsError( $wgUser, $params['token'] ); + $error = SpecialEmailUser::getPermissionsError( $this->getUser(), $params['token'] ); if ( $error ) { $this->dieUsageMsg( array( $error ) ); } @@ -62,7 +55,18 @@ class ApiEmailUser extends ApiBase { 'Subject' => $params['subject'], 'CCMe' => $params['ccme'], ); - $retval = SpecialEmailUser::submit( $data ); + $retval = SpecialEmailUser::submit( $data, $this->getContext() ); + + if ( $retval instanceof Status ) { + // SpecialEmailUser sometimes returns a status + // sometimes it doesn't. + if ( $retval->isGood() ) { + $retval = true; + } else { + $retval = $retval->getErrorsArray(); + } + } + if ( $retval === true ) { $result = array( 'result' => 'Success' ); } else { @@ -109,6 +113,23 @@ class ApiEmailUser extends ApiBase { ); } + public function getResultProperties() { + return array( + '' => array( + 'result' => array( + ApiBase::PROP_TYPE => array( + 'Success', + 'Failure' + ), + ), + 'message' => array( + ApiBase::PROP_TYPE => 'string', + ApiBase::PROP_NULLABLE => true + ) + ) + ); + } + public function getDescription() { return 'Email a user.'; } @@ -119,16 +140,24 @@ class ApiEmailUser extends ApiBase { ) ); } + public function needsToken() { + return true; + } + public function getTokenSalt() { return ''; } - protected function getExamples() { + public function getExamples() { return array( - 'api.php?action=emailuser&target=WikiSysop&text=Content' + 'api.php?action=emailuser&target=WikiSysop&text=Content' => 'Send an email to the User "WikiSysop" with the text "Content"', ); } + public function getHelpUrls() { + return 'https://www.mediawiki.org/wiki/API:E-mail'; + } + public function getVersion() { return __CLASS__ . ': $Id$'; }