X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialEmailUser.php;h=b42cdea08ad1b7fafa8c34c1d33338d640ae89f2;hb=f3dbb9ce931dc534dfd6c1cec56fcf9ccdafb3bc;hp=5f802156325b725178ac5053c75dbdd31ae06572;hpb=3353ced6cd3148de1549568ee9633a913fd5faab;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialEmailUser.php b/includes/specials/SpecialEmailUser.php index 5f80215632..b42cdea08a 100644 --- a/includes/specials/SpecialEmailUser.php +++ b/includes/specials/SpecialEmailUser.php @@ -166,14 +166,10 @@ class SpecialEmailUser extends UnlistedSpecialPage { * Validate target User * * @param string $target Target user name - * @param User|null $sender User sending the email + * @param User $sender User sending the email * @return User|string User object on success or a string on error */ - public static function getTarget( $target, User $sender = null ) { - if ( $sender === null ) { - wfDeprecated( __METHOD__ . ' without specifying the sending user', '1.30' ); - } - + public static function getTarget( $target, User $sender ) { if ( $target == '' ) { wfDebug( "Target is empty.\n" ); @@ -190,15 +186,11 @@ class SpecialEmailUser extends UnlistedSpecialPage { * Validate target User * * @param User $target Target user - * @param User|null $sender User sending the email + * @param User $sender User sending the email * @return string Error message or empty string if valid. * @since 1.30 */ - public static function validateTarget( $target, User $sender = null ) { - if ( $sender === null ) { - wfDeprecated( __METHOD__ . ' without specifying the sending user', '1.30' ); - } - + public static function validateTarget( $target, User $sender ) { if ( !$target instanceof User || !$target->getId() ) { wfDebug( "Target is invalid user.\n" ); @@ -217,25 +209,21 @@ class SpecialEmailUser extends UnlistedSpecialPage { return 'nowikiemail'; } - if ( $sender !== null && !$target->getOption( 'email-allow-new-users' ) && - $sender->isNewbie() - ) { + if ( !$target->getOption( 'email-allow-new-users' ) && $sender->isNewbie() ) { wfDebug( "User does not allow user emails from new users.\n" ); return 'nowikiemail'; } - if ( $sender !== null ) { - $blacklist = $target->getOption( 'email-blacklist', '' ); - if ( $blacklist ) { - $blacklist = MultiUsernameFilter::splitIds( $blacklist ); - $lookup = CentralIdLookup::factory(); - $senderId = $lookup->centralIdFromLocalUser( $sender ); - if ( $senderId !== 0 && in_array( $senderId, $blacklist ) ) { - wfDebug( "User does not allow user emails from this user.\n" ); + $blacklist = $target->getOption( 'email-blacklist', '' ); + if ( $blacklist ) { + $blacklist = MultiUsernameFilter::splitIds( $blacklist ); + $lookup = CentralIdLookup::factory(); + $senderId = $lookup->centralIdFromLocalUser( $sender ); + if ( $senderId !== 0 && in_array( $senderId, $blacklist ) ) { + wfDebug( "User does not allow user emails from this user.\n" ); - return 'nowikiemail'; - } + return 'nowikiemail'; } } @@ -387,6 +375,15 @@ class SpecialEmailUser extends UnlistedSpecialPage { $text .= $context->msg( 'emailuserfooter', $from->name, $to->name )->inContentLanguage()->text(); + if ( $config->get( 'EnableSpecialMute' ) ) { + $specialMutePage = SpecialPage::getTitleFor( 'Mute', $context->getUser()->getName() ); + $text .= "\n" . $context->msg( + 'specialmute-email-footer', + $specialMutePage->getCanonicalURL(), + $context->getUser()->getName() + )->inContentLanguage()->text(); + } + // Check and increment the rate limits if ( $context->getUser()->pingLimiter( 'emailuser' ) ) { throw new ThrottledError();