X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=banana%2Fspool.inc.php;fp=banana%2Fspool.inc.php;h=e0a144acaf97622d3beafdfd39eb0040a7881db2;hb=797579f4e251bdaabe7e0e8d0b3b57ee40ae111f;hp=ace19f7277dde077404d0aba500faba7a184384c;hpb=4e9340f51e50affa2b89211981580d33a27a9ff4;p=banana.git diff --git a/banana/spool.inc.php b/banana/spool.inc.php index ace19f7..e0a144a 100644 --- a/banana/spool.inc.php +++ b/banana/spool.inc.php @@ -232,38 +232,42 @@ class BananaSpool // Build all the new Spool Heads $time = time(); - foreach ($messages as $id=>&$message) { - if (!isset($this->overview[$id])) { - $this->overview[$id] = new BananaSpoolHead($id, $message); - $head =& $this->overview[$id]; - $this->ids[$head->msgid] =& $head; - $head->time = $time; - } - } - - // Build tree - $null = null; - foreach ($messages as $id=>&$message) { - $msg =& $this->overview[$id]; - $parents =& $this->getReferences($message); - while (!empty($parents) && ($msg->parent === $msg || is_null($msg->parent))) { - @$msg->parent =& array_pop($parents); - } - - if (!is_null($msg->parent)) { - $parent =& $msg->parent; - $parent->children[] =& $msg; - while (!is_null($parent)) { - $parent->desc += $msg->desc; - $parent->time = $time; - $prev =& $parent; - if ($parent !== $parent->parent) { - $parent =& $parent->parent; - } else { - $parent =& $null; + if (!empty($messages)) { + foreach ($messages as $id=>&$message) { + if (!isset($this->overview[$id])) { + $this->overview[$id] = new BananaSpoolHead($id, $message); + $head =& $this->overview[$id]; + $this->ids[$head->msgid] =& $head; + $head->time = $time; + } + } + + // Build tree + $null = null; + foreach ($messages as $id=>&$message) { + $msg =& $this->overview[$id]; + $parents =& $this->getReferences($message); + while (!empty($parents) && ($msg->parent === $msg || is_null($msg->parent))) { + @$msg->parent =& array_pop($parents); + } + + if (!is_null($msg->parent)) { + $parent =& $msg->parent; + $parent->children[] =& $msg; + while (!is_null($parent)) { + $parent->desc += $msg->desc; + $parent->time = $time; + $prev =& $parent; + if ($parent !== $parent->parent) { + $parent =& $parent->parent; + } else { + $parent =& $null; + } } } } + } else { + $messages = array(); } Banana::$protocole->updateSpool($messages); return true;