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
for extensions such as OAuth:
** editmyusercss controls whether a user may edit their own CSS subpages.
** editmyuserjs controls whether a user may edit their own JS subpages.
+* 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
$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
} 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" );