From 485f23b85970e8b3fb559e28a763915f41d4e0d6 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 11 Oct 2012 02:47:40 -0400
Subject: [PATCH] Fix threaded list sorting on PHP < 5.2.9 (#1488748)
---
CHANGELOG | 1 +
program/include/rcube_result_thread.php | 10 ++++++----
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 057d2f5..b3aef60 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix threaded list sorting on PHP < 5.2.9 (#1488748)
- Plugin API: Add 'email_list' argument for identities data in user_create hook
- Integrated zipdownload plugin to download all attachments (#1445509)
- Fix HTML special characters handling in message list/header display (#1488523)
diff --git a/program/include/rcube_result_thread.php b/program/include/rcube_result_thread.php
index 09fa465..b2325a4 100644
--- a/program/include/rcube_result_thread.php
+++ b/program/include/rcube_result_thread.php
@@ -475,16 +475,18 @@
$items = explode(self::SEPARATOR_ITEM, $elem);
$root = (int) array_shift($items);
- $result[$elem] = $elem;
- foreach ($items as $item) {
- list($lv, $id) = explode(self::SEPARATOR_LEVEL, $item);
+ if ($root) {
+ $result[$root] = $root;
+ foreach ($items as $item) {
+ list($lv, $id) = explode(self::SEPARATOR_LEVEL, $item);
$result[$id] = $root;
+ }
}
}
// get only unique roots
$result = array_filter($result); // make sure there are no nulls
- $result = array_unique($result, SORT_NUMERIC);
+ $result = array_unique($result);
// Re-sort raw data
$result = array_fill_keys($result, null);
--
Gitblit v1.9.1