]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix regressions in XMPP output during inbox refactoring
authorBrion Vibber <brion@pobox.com>
Wed, 13 Jan 2010 18:17:36 +0000 (18:17 +0000)
committerBrion Vibber <brion@pobox.com>
Wed, 13 Jan 2010 18:17:36 +0000 (18:17 +0000)
- NOTICE_INBOX_SOURCE_* constants moved to common.php since Notice_inbox.php not always loaded
- fixed typo in User::staticGet() call which caused user #1 to receive messages once for each subscriber instead of for him/herself
- 'continue' -> 'continue 2' inside switch() statement to fix loop escape (PHP considers switch() a looping construct for break & continue)

classes/Notice_inbox.php
lib/common.php
lib/jabber.php

index 6c328e68540390b4f5e94d93215bb26c64d30e08..c27dcdfd616079359df0f4db998f7c09ca285537 100644 (file)
@@ -31,12 +31,6 @@ define('NOTICE_INBOX_GC_MAX', 12800);
 define('NOTICE_INBOX_LIMIT', 1000);
 define('NOTICE_INBOX_SOFT_LIMIT', 1000);
 
-define('NOTICE_INBOX_SOURCE_SUB', 1);
-define('NOTICE_INBOX_SOURCE_GROUP', 2);
-define('NOTICE_INBOX_SOURCE_REPLY', 3);
-define('NOTICE_INBOX_SOURCE_FORWARD', 4);
-define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
-
 class Notice_inbox extends Memcached_DataObject
 {
     ###START_AUTOCODE
index 61decebb7a1d59a37e62802fdaeb78de0d5ca145..00e80373eef2e1f947f38e3d54f056ca6485109e 100644 (file)
@@ -41,6 +41,12 @@ define('FOREIGN_NOTICE_SEND_REPLY', 4);
 define('FOREIGN_FRIEND_SEND', 1);
 define('FOREIGN_FRIEND_RECV', 2);
 
+define('NOTICE_INBOX_SOURCE_SUB', 1);
+define('NOTICE_INBOX_SOURCE_GROUP', 2);
+define('NOTICE_INBOX_SOURCE_REPLY', 3);
+define('NOTICE_INBOX_SOURCE_FORWARD', 4);
+define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
+
 # append our extlib dir as the last-resort place to find libs
 
 set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/');
index 69f0d3570cf777d0969417ae53e3571e0815b3ab..4cdfa674655e55db28d4e08b741d641685b45216 100644 (file)
@@ -359,7 +359,7 @@ function jabber_broadcast_notice($notice)
     $ni = $notice->whoGets();
 
     foreach ($ni as $user_id => $reason) {
-        $user = User::staticGet('user_id', $user_id);
+        $user = User::staticGet($user_id);
         if (empty($user) ||
             empty($user->jabber) ||
             !$user->jabbernotify) {
@@ -369,20 +369,20 @@ function jabber_broadcast_notice($notice)
         switch ($reason) {
         case NOTICE_INBOX_SOURCE_REPLY:
             if (!$user->jabberreplies) {
-                continue;
+                continue 2;
             }
             break;
         case NOTICE_INBOX_SOURCE_SUB:
             $sub = Subscription::pkeyGet(array('subscriber' => $user->id,
                                                'subscribed' => $notice->profile_id));
             if (empty($sub) || !$sub->jabber) {
-                continue;
+                continue 2;
             }
             break;
         case NOTICE_INBOX_SOURCE_GROUP:
             break;
         default:
-            throw new Exception(_("Unknown inbox source."));
+            throw new Exception(sprintf(_("Unknown inbox source %d."), $reason));
         }
 
         common_log(LOG_INFO,