Bsitu has submitted this change and it was merged.

Change subject: Add new hook AbortTalkPageEmailNotification
......................................................................


Add new hook AbortTalkPageEmailNotification

This hook will allow extension to disable the regular talk page email 
notification,
Echo is doing this with a hackish solution of setting global variable
wgEnotifUserTalk to false on the fly, this approach is problematic and will
be replaced with this hook

Change-Id: Ie043d9a1a771d64e4b05b7ddeca75c7542a6c575
---
M RELEASE-NOTES-1.22
M docs/hooks.txt
M includes/UserMailer.php
3 files changed, 11 insertions(+), 3 deletions(-)

Approvals:
  Bsitu: Verified; Looks good to me, approved



diff --git a/RELEASE-NOTES-1.22 b/RELEASE-NOTES-1.22
index 5339514..63acbf4 100644
--- a/RELEASE-NOTES-1.22
+++ b/RELEASE-NOTES-1.22
@@ -100,6 +100,8 @@
   handlers can take further action based on the status of the patrol footer
 * LinkCache singleton can now be altered or cleared, letting one to specify
   another instance that does not rely on a database backend.
+* Add new hook AbortTalkPageEmailNotification, this will be used to determine
+  whether to send the regular talk page email notification
 
 === Bug fixes in 1.22 ===
 * Disable Special:PasswordReset when $wgEnableEmail is false. Previously one
diff --git a/docs/hooks.txt b/docs/hooks.txt
index 66b5068..ff0a864 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -270,6 +270,10 @@
 $user: the User object about to be created (read-only, incomplete)
 &$msg: out parameter: HTML to display on abort
 
+'AbortTalkPageEmailNotification': Return false to cancel talk page email 
notification
+$targetUser: the user whom to send talk page email notification
+$title: the page title
+
 'AbortChangePassword': Return false to cancel password change.
 $user: the User object to which the password change is occuring
 $mOldpass: the old password provided by the user
diff --git a/includes/UserMailer.php b/includes/UserMailer.php
index e48070a..2a549ac 100644
--- a/includes/UserMailer.php
+++ b/includes/UserMailer.php
@@ -668,11 +668,13 @@
                        } elseif ( $targetUser->getOption( 
'enotifusertalkpages' ) &&
                                ( !$minorEdit || $targetUser->getOption( 
'enotifminoredits' ) ) )
                        {
-                               if ( $targetUser->isEmailConfirmed() ) {
+                               if ( !$targetUser->isEmailConfirmed() ) {
+                                       wfDebug( __METHOD__ . ": talk page 
owner doesn't have validated email\n" );
+                               } elseif ( !wfRunHooks( 
'AbortTalkPageEmailNotification', array( $targetUser, $title ) ) ) {
+                                       wfDebug( __METHOD__ . ": talk page 
update notification is aborted for this user\n" );
+                               } else {
                                        wfDebug( __METHOD__ . ": sending talk 
page update notification\n" );
                                        return true;
-                               } else {
-                                       wfDebug( __METHOD__ . ": talk page 
owner doesn't have validated email\n" );
                                }
                        } else {
                                wfDebug( __METHOD__ . ": talk page owner 
doesn't want notifications\n" );

-- 
To view, visit https://gerrit.wikimedia.org/r/68020
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie043d9a1a771d64e4b05b7ddeca75c7542a6c575
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.22wmf6
Gerrit-Owner: Bsitu <[email protected]>
Gerrit-Reviewer: Bsitu <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to