]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Msn/msnmanager.php
Merge remote branch 'statusnet/1.0.x' into msn-plugin
[quix0rs-gnu-social.git] / plugins / Msn / msnmanager.php
index 9014501e7ee72438b935e36524e0aa86100c76c1..42eb18b9c464a7bb1c9aa6bdd2d1019e41d7badb 100644 (file)
@@ -170,13 +170,18 @@ class MsnManager extends ImManager {
     * @param array $data Data\r
     */\r
     public function handle_session_ready($data) {\r
-        while (($wm = Msn_waiting_message::top($data['to']) != NULL)) {\r
-            if ($this->conn->sendMessage($wm->screenname, $wm->message, $ignore)) {\r
-                $wm->delete();\r
-            } else {\r
-                // Requeue the message in the regular queue\r
+        $sessionFailed = false;\r
+        $wm = Msn_waiting_message::top($data['to']);\r
+        while ($wm != NULL) {\r
+            if ($sessionFailed) {\r
+                $this->plugin->send_message($wm->screenname, $wm->message);\r
+                $sessionFailed = true;\r
+            } elseif (!$this->conn->sendMessage($wm->screenname, $wm->message, $ignore)) {\r
                 $this->plugin->send_message($wm->screenname, $wm->message);\r
             }\r
+\r
+            $wm->delete();\r
+            $wm = Msn_waiting_message::top($data['to']);\r
         }\r
     }\r
 \r