42 parent::__construct( $mainModule, $moduleName );
44 $this->emailUserFactory = $emailUserFactory;
45 $this->userFactory = $userFactory;
51 $emailUser = $this->emailUserFactory->newEmailUser( RequestContext::getMain()->
getAuthority() );
52 $targetUser = $this->userFactory->newFromName(
$params[
'target'] );
54 if ( $targetUser ===
null ) {
61 $status = $emailUser->validateTarget( $targetUser );
63 if ( !$status->isOK() ) {
68 $error = $emailUser->canSend();
70 if ( !$error->isGood() ) {
74 $retval = $emailUser->sendEmailUnsafe(
82 if ( !$retval instanceof
Status ) {
84 $retval = Status::newFatal(
'hookaborted' );
87 $result = array_filter( [
88 'result' => $retval->isGood() ?
'Success' : ( $retval->isOK() ?
'Warnings' :
'Failure' ),
107 ParamValidator::PARAM_TYPE =>
'string',
108 ParamValidator::PARAM_REQUIRED => true
111 ParamValidator::PARAM_TYPE =>
'string',
112 ParamValidator::PARAM_REQUIRED => true
115 ParamValidator::PARAM_TYPE =>
'text',
116 ParamValidator::PARAM_REQUIRED => true
128 'action=emailuser&target=WikiSysop&text=Content&token=123ABC'
129 =>
'apihelp-emailuser-example-email',
134 return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Email';
139class_alias( ApiEmailUser::class,
'ApiEmailUser' );
wfEscapeWikiText( $input)
Escapes the given text so that it may be output using addWikiText() without any linking,...
array $params
The job parameters.
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.