From 73554ed8290cff22511eced7dcb81971e857cde3 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 7 Aug 2008 10:39:19 +0000 Subject: [PATCH] Changes for NewUserMessage: * Add UserGetReservedNames hook to allow extensions to define reserved names without loading messages at setup * Don't try to notify nonexistent, non-IP users by inserting a username into the user_newtalk.user_ip field. It doesn't work. --- includes/Article.php | 10 +++++----- includes/User.php | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/includes/Article.php b/includes/Article.php index 2c479aadcc..a86d6ee8b7 100644 --- a/includes/Article.php +++ b/includes/Article.php @@ -2767,13 +2767,13 @@ class Article { && !($minoredit && $wgUser->isAllowed('nominornewtalk') ) ) { if (wfRunHooks('ArticleEditUpdateNewTalk', array(&$this)) ) { $other = User::newFromName( $shortTitle ); - if( is_null( $other ) && User::isIP( $shortTitle ) ) { + if( User::isIP( $shortTitle ) ) { // An anonymous user - $other = new User(); - $other->setName( $shortTitle ); - } - if( $other ) { $other->setNewtalk( true ); + } elseif( $other->isLoggedIn() ) { + $other->setNewtalk( true ); + } else { + wfDebug( __METHOD__. ": don't need to notify a nonexistent user\n" ); } } } diff --git a/includes/User.php b/includes/User.php index b59b3a37ee..99b0dd6e46 100644 --- a/includes/User.php +++ b/includes/User.php @@ -540,8 +540,14 @@ class User { return false; } + static $reservedUsernames = false; + if ( !$reservedUsernames ) { + $reservedUsernames = $wgReservedUsernames; + wfRunHooks( 'UserGetReservedNames', array( &$reservedUsernames ) ); + } + // Certain names may be reserved for batch processes. - foreach ( $wgReservedUsernames as $reserved ) { + foreach ( $reservedUsernames as $reserved ) { if ( substr( $reserved, 0, 4 ) == 'msg:' ) { $reserved = wfMsgForContent( substr( $reserved, 4 ) ); } -- 2.20.1