Fix references when replying to a post with artid = 0
[banana.git] / banana / banana.inc.php.in
index 0698454..77a4d62 100644 (file)
@@ -497,7 +497,7 @@ class Banana
                     $hdr_values[$header] = str_replace(', ', ',', $hdr_values[$header]);
                 }
             }
-            if ($artid) {
+            if (!is_null($artid)) {
                 $old =& $this->loadMessage($group, $artid);
                 $hdr_values['References'] = $old->getHeaderValue('references') . $old->getHeaderValue('message-id');
             }
@@ -666,19 +666,23 @@ class Banana
         Banana::load('spool');
         if (!Banana::$spool || Banana::$spool->group != $group) {
             $clean = false;
-            if ($group == @$_SESSION['banana_group'] && isset($_SESSION['banana_spool'])) {
-                Banana::$spool = unserialize($_SESSION['banana_spool']);
-                $clean = @(Banana::$profile['lastnews'] != $_SESSION['banana_lastnews']);
-            } else {
-                unset($_SESSION['banana_message']);
-                unset($_SESSION['banana_artid']);
-                unset($_SESSION['banana_showhdr']);
+            if (php_sapi_name() != 'cli') {
+                if ($group == @$_SESSION['banana_group'] && isset($_SESSION['banana_spool'])) {
+                    Banana::$spool = unserialize($_SESSION['banana_spool']);
+                    $clean = @(Banana::$profile['lastnews'] != $_SESSION['banana_lastnews']);
+                } else {
+                    unset($_SESSION['banana_message']);
+                    unset($_SESSION['banana_artid']);
+                    unset($_SESSION['banana_showhdr']);
+                }
             }
             BananaSpool::getSpool($group, Banana::$profile['lastnews'], Banana::$profile['autoup'] || $clean);
-            $_SESSION['banana_group'] = $group;
-            if (!Banana::$profile['display']) {
-                $_SESSION['banana_spool'] = serialize(Banana::$spool);
-                $_SESSION['banana_lastnews'] = Banana::$profile['lastnews'];
+            if (php_sapi_name() != 'cli') {
+                $_SESSION['banana_group'] = $group;
+                if (!Banana::$profile['display']) {
+                    $_SESSION['banana_spool'] = serialize(Banana::$spool);
+                    $_SESSION['banana_lastnews'] = Banana::$profile['lastnews'];
+                }
             }
             Banana::$spool->setMode(Banana::$profile['display'] ? Banana::SPOOL_UNREAD : Banana::SPOOL_ALL);
         }