Merge "rdbms: Use correct value for 'sslmode' in DatabasePostgres"
[lhc/web/wiklou.git] / includes / specials / SpecialEmailuser.php
index b5fa85b..887f905 100644 (file)
@@ -108,9 +108,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                $request = $this->getRequest();
                $out->addModuleStyles( 'mediawiki.special' );
 
-               $this->mTarget = is_null( $par )
-                       ? $request->getVal( 'wpTarget', $request->getVal( 'target', '' ) )
-                       : $par;
+               $this->mTarget = $par ?? $request->getVal( 'wpTarget', $request->getVal( 'target', '' ) );
 
                // Make sure, that HTMLForm uses the correct target.
                $request->setVal( 'wpTarget', $this->mTarget );
@@ -134,7 +132,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        case 'badaccess':
                                throw new PermissionsError( 'sendemail' );
                        case 'blockedemailuser':
-                               throw new UserBlockedError( $this->getUser()->mBlock );
+                               throw $this->getBlockedEmailError();
                        case 'actionthrottledtext':
                                throw new ThrottledError;
                        case 'mailnologin':
@@ -468,7 +466,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        if ( $data['CCMe'] && $to != $from ) {
                                $ccTo = $from;
                                $ccFrom = $from;
-                               $ccSubject = $context->msg( 'emailccsubject' )->rawParams(
+                               $ccSubject = $context->msg( 'emailccsubject' )->plaintextParams(
                                        $target->getName(), $subject )->text();
                                $ccText = $text;
 
@@ -519,4 +517,17 @@ class SpecialEmailUser extends UnlistedSpecialPage {
        protected function getGroupName() {
                return 'users';
        }
+
+       /**
+        * Builds an error message based on the block params
+        *
+        * @return ErrorPageError
+        */
+       private function getBlockedEmailError() {
+               $block = $this->getUser()->mBlock;
+               $params = $block->getBlockErrorParams( $this->getContext() );
+
+               $msg = $block->isSitewide() ? 'blockedtext' : 'blocked-email-user';
+               return new ErrorPageError( 'blockedtitle', $msg, $params );
+       }
 }