projects
/
banana.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix deletion of message from spool
[banana.git]
/
banana
/
spool.inc.php
diff --git
a/banana/spool.inc.php
b/banana/spool.inc.php
index
d6bc579
..
172e4aa
100644
(file)
--- a/
banana/spool.inc.php
+++ b/
banana/spool.inc.php
@@
-209,6
+209,9
@@
class BananaSpool
$this->ids[$message['message-id']] = $id;
}
$this->ids[$message['message-id']] = $id;
}
+ if (!is_array($this->overview)) {
+ $this->overview = array();
+ }
foreach ($messages as $id=>&$message) {
if (!isset($this->overview[$id])) {
$this->overview[$id] = new BananaSpoolHead($message);
foreach ($messages as $id=>&$message) {
if (!isset($this->overview[$id])) {
$this->overview[$id] = new BananaSpoolHead($message);
@@
-303,6
+306,9
@@
class BananaSpool
if (is_null($array)) {
$array =& $this->roots;
}
if (is_null($array)) {
$array =& $this->roots;
}
+ if (!is_array($this->roots)) {
+ return;
+ }
foreach ($array as $id) {
if (!$this->overview[$id]->isread) {
$this->markAsRead($id);
foreach ($array as $id) {
if (!$this->overview[$id]->isread) {
$this->markAsRead($id);
@@
-358,9
+364,13
@@
class BananaSpool
}
unset($this->overview[$_id]);
$msgid = array_search($_id, $this->ids);
}
unset($this->overview[$_id]);
$msgid = array_search($_id, $this->ids);
- if ($msgid) {
+ if ($msgid
!== false
) {
unset($this->ids[$msgid]);
}
unset($this->ids[$msgid]);
}
+ $msgid = array_search($_id, $this->roots);
+ if ($msgid !== false) {
+ unset($this->roots[$msgid]);
+ }
if ($write) {
$this->markAllAsRead();
if ($write) {
$this->markAllAsRead();