28 parent::__construct( $mainModule, $moduleName );
30 $this->emailUserFactory = $emailUserFactory;
31 $this->userFactory = $userFactory;
37 $emailUser = $this->emailUserFactory->newEmailUser( RequestContext::getMain()->
getAuthority() );
38 $targetUser = $this->userFactory->newFromName( $params[
'target'] );
40 if ( $targetUser ===
null ) {
47 $status = $emailUser->validateTarget( $targetUser );
49 if ( !$status->isOK() ) {
54 $error = $emailUser->canSend();
56 if ( !$error->isGood() ) {
60 $retval = $emailUser->sendEmailUnsafe(
68 if ( !$retval instanceof
Status ) {
70 $retval = Status::newFatal(
'hookaborted' );
73 $result = array_filter( [
74 'result' => $retval->isGood() ?
'Success' : ( $retval->isOK() ?
'Warnings' :
'Failure' ),
96 ParamValidator::PARAM_TYPE =>
'string',
97 ParamValidator::PARAM_REQUIRED => true
100 ParamValidator::PARAM_TYPE =>
'string',
101 ParamValidator::PARAM_REQUIRED => true
104 ParamValidator::PARAM_TYPE =>
'text',
105 ParamValidator::PARAM_REQUIRED => true
119 'action=emailuser&target=WikiSysop&text=Content&token=123ABC'
120 =>
'apihelp-emailuser-example-email',
126 return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Email';
131class_alias( ApiEmailUser::class,
'ApiEmailUser' );
wfEscapeWikiText( $input)
Escapes the given text so that it may be output using addWikiText() without any linking,...
This is the main API class, used for both external and internal processing.
Group all the pieces relevant to the context of a request into one instance.