summaryrefslogtreecommitdiff
path: root/includes/job/EnotifNotifyJob.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/job/EnotifNotifyJob.php')
-rw-r--r--includes/job/EnotifNotifyJob.php41
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;
+ }
+
+}