MediaWiki
REL1_21
|
This module processes the email notifications when the current page is changed. More...
Public Member Functions | |
actuallyNotifyOnPageChange ($editor, $title, $timestamp, $summary, $minorEdit, $oldid, $watchers, $pageStatus= 'changed') | |
Immediate version of notifyOnPageChange(). | |
compose ($user) | |
Compose a mail to a given user and either queue it for sending, or send it now, depending on settings. | |
notifyOnPageChange ($editor, $title, $timestamp, $summary, $minorEdit, $oldid=false, $pageStatus= 'changed') | |
Send emails corresponding to the user $editor editing the page $title. | |
sendImpersonal ($addresses) | |
Same as sendPersonalised but does impersonal mail suitable for bulk mailing. | |
sendMails () | |
Send any queued mails. | |
Public Attributes | |
$body | |
$composed_common | |
$from | |
$minorEdit | |
$oldid | |
$pageStatus | |
$replyto | |
$summary | |
Protected Attributes | |
User | $editor |
$mailTargets = array() | |
$subject | |
$timestamp | |
Title | $title |
Private Member Functions | |
canSendUserTalkEmail ($editor, $title, $minorEdit) | |
composeCommonMailtext () | |
Generate the generic "this page has been changed" e-mail text. | |
sendPersonalised ($watchingUser) | |
Does the per-user customizations to a notification e-mail (name, timestamp in proper timezone, etc) and sends it out. |
This module processes the email notifications when the current page is changed.
It looks up the table watchlist to find out which users are watching that page.
The current implementation sends independent emails to each watching user for the following reason:
Suggested improvement to slack down the number of sent emails: We could think of sending out bulk mails (bcc:user1,user2...) for all these users having the same timeoffset in their preferences.
Visit the documentation pages under http://meta.wikipedia.com/Enotif
Definition at line 455 of file UserMailer.php.
EmailNotification::actuallyNotifyOnPageChange | ( | $ | editor, |
$ | title, | ||
$ | timestamp, | ||
$ | summary, | ||
$ | minorEdit, | ||
$ | oldid, | ||
$ | watchers, | ||
$ | pageStatus = 'changed' |
||
) |
Immediate version of notifyOnPageChange().
Send emails corresponding to the user $editor editing the page $title. Also updates wl_notificationtimestamp.
$editor | User object | |
$title | Title object | |
string | $timestamp | Edit timestamp |
string | $summary | Edit summary |
$minorEdit | bool | |
int | $oldid | Revision ID |
array | $watchers | of user IDs |
string | $pageStatus |
MWException |
Definition at line 579 of file UserMailer.php.
EmailNotification::canSendUserTalkEmail | ( | $ | editor, |
$ | title, | ||
$ | minorEdit | ||
) | [private] |
Definition at line 654 of file UserMailer.php.
EmailNotification::compose | ( | $ | user | ) |
Compose a mail to a given user and either queue it for sending, or send it now, depending on settings.
Call sendMails() to send any mails that were queued.
$user | User |
Definition at line 788 of file UserMailer.php.
EmailNotification::composeCommonMailtext | ( | ) | [private] |
Generate the generic "this page has been changed" e-mail text.
Definition at line 684 of file UserMailer.php.
EmailNotification::notifyOnPageChange | ( | $ | editor, |
$ | title, | ||
$ | timestamp, | ||
$ | summary, | ||
$ | minorEdit, | ||
$ | oldid = false , |
||
$ | pageStatus = 'changed' |
||
) |
Send emails corresponding to the user $editor editing the page $title.
Also updates wl_notificationtimestamp.
May be deferred via the job queue.
$editor | User object |
$title | Title object |
$timestamp | |
$summary | |
$minorEdit | |
$oldid | (default: false) |
$pageStatus | (default: 'changed') |
Definition at line 482 of file UserMailer.php.
EmailNotification::sendImpersonal | ( | $ | addresses | ) |
Same as sendPersonalised but does impersonal mail suitable for bulk mailing.
Takes an array of MailAddress objects.
$addresses | array |
Definition at line 848 of file UserMailer.php.
Send any queued mails.
Definition at line 804 of file UserMailer.php.
EmailNotification::sendPersonalised | ( | $ | watchingUser | ) | [private] |
Does the per-user customizations to a notification e-mail (name, timestamp in proper timezone, etc) and sends it out.
Returns true if the mail was sent successfully.
$watchingUser | User object |
Definition at line 820 of file UserMailer.php.
EmailNotification::$body |
Definition at line 456 of file UserMailer.php.
EmailNotification::$composed_common |
Definition at line 457 of file UserMailer.php.
User EmailNotification::$editor [protected] |
Definition at line 466 of file UserMailer.php.
EmailNotification::$from |
Definition at line 456 of file UserMailer.php.
EmailNotification::$mailTargets = array() [protected] |
Definition at line 458 of file UserMailer.php.
EmailNotification::$minorEdit |
Definition at line 457 of file UserMailer.php.
EmailNotification::$oldid |
Definition at line 457 of file UserMailer.php.
EmailNotification::$pageStatus |
Definition at line 457 of file UserMailer.php.
EmailNotification::$replyto |
Definition at line 456 of file UserMailer.php.
EmailNotification::$subject [protected] |
Definition at line 456 of file UserMailer.php.
EmailNotification::$summary |
Definition at line 457 of file UserMailer.php.
EmailNotification::$timestamp [protected] |
Definition at line 457 of file UserMailer.php.
Definition at line 462 of file UserMailer.php.