]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/stompqueuemanager.php
Merge commit 'refs/merge-requests/41' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / lib / stompqueuemanager.php
index 1d9a5ad207ef4846aa7e8caf05d08dc9054fd1d1..25a8e2a27ebaef546bfa6ea7017c83dd7583a709 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;
@@ -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)) {