diff options
Diffstat (limited to 'includes/job/EnotifNotifyJob.php')
-rw-r--r-- | includes/job/EnotifNotifyJob.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/includes/job/EnotifNotifyJob.php b/includes/job/EnotifNotifyJob.php new file mode 100644 index 00000000..5d2a08ea --- /dev/null +++ b/includes/job/EnotifNotifyJob.php @@ -0,0 +1,41 @@ +<?php +/** + * Job for notification emails. + * + * @file + * @ingroup JobQueue + */ + +/** + * Job for email notification mails + * + * @ingroup JobQueue + */ +class EnotifNotifyJob extends Job { + + function __construct( $title, $params, $id = 0 ) { + parent::__construct( 'enotifNotify', $title, $params, $id ); + } + + function run() { + $enotif = new EmailNotification(); + // Get the user from ID (rename safe). Anons are 0, so defer to name. + if( isset($this->params['editorID']) && $this->params['editorID'] ) { + $editor = User::newFromId( $this->params['editorID'] ); + // B/C, only the name might be given. + } else { + $editor = User::newFromName( $this->params['editor'], false ); + } + $enotif->actuallyNotifyOnPageChange( + $editor, + $this->title, + $this->params['timestamp'], + $this->params['summary'], + $this->params['minorEdit'], + $this->params['oldid'], + $this->params['watchers'] + ); + return true; + } + +} |