Fix Bug#19637 - self-referencing externals will be by default filtered out
[lhc/web/wiklou.git] / includes / EnotifNotifyJob.php
index 857cd40..f7178d0 100644 (file)
@@ -2,6 +2,8 @@
 
 /**
  * Job for email notification mails
+ *
+ * @ingroup JobQueue
  */
 class EnotifNotifyJob extends Job {
 
@@ -11,13 +13,21 @@ class EnotifNotifyJob extends Job {
 
        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(
-                       User::newFromName( $this->params['editor'], false ),
-                               $this->title,
-                               $this->params['timestamp'],
-                               $this->params['summary'],
-                               $this->params['minorEdit'],
-                               $this->params['oldid']
+                       $editor,
+                       $this->title,
+                       $this->params['timestamp'],
+                       $this->params['summary'],
+                       $this->params['minorEdit'],
+                       $this->params['oldid'],
+                       $this->params['watchers']
                );
                return true;
        }