Aleksander Machniak
2012-10-11 3508bebb8e5045a27f12c57d8d346d72b950a969
Fix threaded list sorting on PHP < 5.2.9 (#1488748)

Conflicts:

CHANGELOG
2 files modified
11 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_result_thread.php 10 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -2,6 +2,7 @@
===========================
- Fix Warning: htmlspecialchars(): charset `RCMAIL_CHARSET' not supported warning in Installer (#1488744)
- Fix threaded list sorting on PHP < 5.2.9 (#1488748)
RELEASE 0.8.2
-------------
program/include/rcube_result_thread.php
@@ -478,16 +478,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);