assertRequiredOptions( EmailUser::CONSTRUCTOR_OPTIONS ); $this->options = $options; $this->hookContainer = $hookContainer; $this->userOptionsLookup = $userOptionsLookup; $this->centralIdLookup = $centralIdLookup; $this->userFactory = $userFactory; $this->emailer = $emailer; $this->messageFormatterFactory = $messageFormatterFactory; $this->contLangMsgFormatter = $contLangMsgFormatter; } public function newEmailUser( Authority $sender ): EmailUser { return new EmailUser( $this->options, $this->hookContainer, $this->userOptionsLookup, $this->centralIdLookup, $this->userFactory, $this->emailer, $this->messageFormatterFactory, $this->contLangMsgFormatter, $sender ); } /** * @internal Temporary BC method for SpecialEmailUser * @param Authority $sender * @param Config|null $config * @return EmailUser */ public function newEmailUserBC( Authority $sender, ?Config $config = null ): EmailUser { $options = $config ? new ServiceOptions( EmailUser::CONSTRUCTOR_OPTIONS, $config ) : $this->options; return new EmailUser( $options, $this->hookContainer, $this->userOptionsLookup, $this->centralIdLookup, $this->userFactory, $this->emailer, $this->messageFormatterFactory, $this->contLangMsgFormatter, $sender ); } }