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,...
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.