]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Notification mails are sent again fixes ssue #99
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 30 Dec 2015 16:35:47 +0000 (17:35 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 30 Dec 2015 16:35:47 +0000 (17:35 +0100)
The problem was that the ActivityVerbPostPlugin handled 'post' verbs
but didn't handle the notifications for them, so now we're returning
true in the event so the default behaviour (sending to 'getReplies'
recipients) is done by default.

classes/Notice.php
lib/activityhandlerplugin.php
lib/mail.php

index c5c07e6d19cabd3c93b288d18d7b519969aa959b..22796abcfa346ff56ddf68ab3e6d5aac2d30fb59 100644 (file)
@@ -1732,7 +1732,6 @@ class Notice extends Managed_DataObject
     function sendReplyNotifications()
     {
         // Don't send reply notifications for repeats
-
         if ($this->isRepeat()) {
             return array();
         }
@@ -1742,9 +1741,11 @@ class Notice extends Managed_DataObject
             require_once INSTALLDIR.'/lib/mail.php';
 
             foreach ($recipientIds as $recipientId) {
-                $user = User::getKV('id', $recipientId);
-                if ($user instanceof User) {
+                try {
+                    $user = User::getByID($recipientId);
                     mail_notify_attn($user, $this);
+                } catch (NoResultException $e) {
+                    // No such user
                 }
             }
             Event::handle('EndNotifyMentioned', array($this, $recipientIds));
index 967454bad52b22dccf2944dad06d22167b9132ce..d22b4d2f4425ebfff5b215494bbba2b1982d7485 100644 (file)
@@ -233,6 +233,9 @@ abstract class ActivityHandlerPlugin extends Plugin
     protected function notifyMentioned(Notice $stored, array &$mentioned_ids)
     {
         // pass through silently by default
+
+        // If we want to stop any other plugin from notifying based on this activity, return false instead.
+        return true;
     }
 
     /**
@@ -305,10 +308,7 @@ abstract class ActivityHandlerPlugin extends Plugin
             return true;
         }
 
-        $this->notifyMentioned($stored, $mentioned_ids);
-
-        // If it was _our_ notice, only we should do anything with the mentions.
-        return false;
+        return $this->notifyMentioned($stored, $mentioned_ids);
     }
 
     /**
index a5e9efded1aba97c299f896ca1da959613b30954..2076476f875c54c6171eb05777a4072024f89a88 100644 (file)
@@ -30,9 +30,7 @@
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 require_once 'Mail.php';