From b3d1173668742736134a461e97eb525678a2c2cd Mon Sep 17 00:00:00 2001 From: x2003bruneau Date: Sat, 13 Jan 2007 09:34:49 +0000 Subject: [PATCH] Some fixes in "unread" state handling git-svn-id: svn+ssh://murphy/home/svn/banana/trunk@160 9869982d-c50d-0410-be91-f2a2ec7c7c7b --- banana/banana.inc.php.in | 2 +- banana/message.func.inc.php | 2 +- banana/spool.inc.php | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/banana/banana.inc.php.in b/banana/banana.inc.php.in index 82bb114..2dcf55a 100644 --- a/banana/banana.inc.php.in +++ b/banana/banana.inc.php.in @@ -444,7 +444,7 @@ class Banana if ($group == @$_SESSION['banana_group'] && isset($_SESSION['banana_spool'])) { Banana::$spool = unserialize($_SESSION['banana_spool']); } - BananaSpool::getSpool($group, Banana::$profile['lastnews']); + BananaSpool::getSpool($group, Banana::$profile['lastnews'], Banana::$profile['autoup']); $_SESSION['banana_group'] = $group; if (!Banana::$profile['display']) { $_SESSION['banana_spool'] = serialize(Banana::$spool); diff --git a/banana/message.func.inc.php b/banana/message.func.inc.php index c91c6da..0576e88 100644 --- a/banana/message.func.inc.php +++ b/banana/message.func.inc.php @@ -92,7 +92,7 @@ function banana_catchFormats($text) $text = str_replace($urls[0], "&&&urls&&&", $text); foreach ($formatting as $limit=>$mark) { $limit = preg_quote($limit, '/'); - $text = preg_replace("/$limit\\b(\w*?)\\b$limit/us", + $text = preg_replace('/' . $limit . '\b([-\w]+?)\b ' . $limit . '/us', "<$mark>\\1", $text); } return preg_replace('/&&&urls&&&/e', 'array_shift($urls[0])', $text); diff --git a/banana/spool.inc.php b/banana/spool.inc.php index 9de8df8..73641e6 100644 --- a/banana/spool.inc.php +++ b/banana/spool.inc.php @@ -85,10 +85,10 @@ class BananaSpool $this->group = $group; } - public static function getSpool($group, $since = 0) + public static function getSpool($group, $since = 0, $clean = false) { if (!is_null(Banana::$spool) && Banana::$spool->group == $group) { - $spool = Banana::$spool; + $spool =& Banana::$spool; } else { $spool = BananaSpool::readFromFile($group); } @@ -97,6 +97,9 @@ class BananaSpool } Banana::$spool =& $spool; $spool->build(); + if ($clean) { + $spool->markAllAsRead(); + } $spool->updateUnread($since); return $spool; } @@ -243,7 +246,7 @@ class BananaSpool } $newpostsids = Banana::$protocole->getNewIndexes($since); - + if (empty($newpostsids)) { return; } -- 2.1.4