]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/stompqueuemanager.php
Merged stuff from upstream/master
[quix0rs-gnu-social.git] / lib / stompqueuemanager.php
index 1d9a5ad207ef4846aa7e8caf05d08dc9054fd1d1..4084470e211f9cc0c656c18512f637bf6cd48e19 100644 (file)
@@ -480,6 +480,13 @@ class StompQueueManager extends QueueManager
     {
         $host = $this->cons[$this->defaultIdx]->getServer();
         $message = unserialize($frame->body);
+
+        if ($message === false) {
+            $this->_log(LOG_ERR, "Can't unserialize frame: {$frame->body}");
+            $this->_log(LOG_ERR, "Unserializable frame length: " . strlen($frame->body));
+            return false;
+        }
+
         $site = $message['site'];
         $queue = $message['handler'];
 
@@ -491,8 +498,9 @@ class StompQueueManager extends QueueManager
         // @fixme detect failing site switches
         $this->switchSite($site);
 
-        $item = $this->decode($message['payload']);
-        if (empty($item)) {
+        try {
+            $item = $this->decode($message['payload']);
+        } catch (Exception $e) {
             $this->_log(LOG_ERR, "Skipping empty or deleted item in queue $queue from $host");
             $this->stats('baditem', $queue);
             return false;
@@ -630,9 +638,9 @@ class StompQueueManager extends QueueManager
      */
     function switchSite($site)
     {
-        if ($site != StatusNet::currentSite()) {
+        if ($site != GNUsocial::currentSite()) {
             $this->stats('switch');
-            StatusNet::switchSite($site);
+            GNUsocial::switchSite($site);
             $this->initialize();
         }
     }
@@ -649,7 +657,7 @@ class StompQueueManager extends QueueManager
      */
     protected function updateSiteConfig($nickname)
     {
-        $sn = Status_network::staticGet('nickname', $nickname);
+        $sn = Status_network::getKV('nickname', $nickname);
         if ($sn) {
             $this->switchSite($nickname);
             if (!in_array($nickname, $this->sites)) {
@@ -675,7 +683,7 @@ class StompQueueManager extends QueueManager
     protected function queueName($queue)
     {
         $group = $this->queueGroup($queue);
-        $site = StatusNet::currentSite();
+        $site = GNUsocial::currentSite();
 
         $specs = array("$group/$queue/$site",
                        "$group/$queue");