aboutsummaryrefslogtreecommitdiffstats
path: root/include/conversation.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/conversation.php')
-rw-r--r--include/conversation.php35
1 files changed, 23 insertions, 12 deletions
diff --git a/include/conversation.php b/include/conversation.php
index 26430d645..37fe32de1 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -910,25 +910,35 @@ function conv_sort($arr,$order) {
elseif(stristr($order,'commented'))
usort($parents,'sort_thr_commented');
- foreach($parents as $x)
- $x['children'] = array();
+ if(count($parents))
+ foreach($parents as $x)
+ $x['children'] = array();
foreach($arr as $x) {
if($x['id'] != $x['parent']) {
$p = find_thread_parent_index($parents,$x);
- $parents[$p]['children'][] = $x;
+ if($p !== false)
+ $parents[$p]['children'][] = $x;
}
}
- foreach($parents as $x)
- if(count($x['children']))
- usort($x['children'],'sort_thr_created_rev');
+ if(count($parents)) {
+ foreach($parents as $k => $v) {
+ if(count($parents[$k]['children'])) {
+ $y = $parents[$k]['children'];
+ usort($y,'sort_thr_created_rev');
+ $parents[$k]['children'] = $y;
+ }
+ }
+ }
$ret = array();
- foreach($parents as $x) {
- $ret[] = $x;
- if(count($x['children']))
- foreach($x['children'] as $y)
- $ret[] = $y;
+ if(count($parents)) {
+ foreach($parents as $x) {
+ $ret[] = $x;
+ if(count($x['children']))
+ foreach($x['children'] as $y)
+ $ret[] = $y;
+ }
}
return $ret;
@@ -951,4 +961,5 @@ function find_thread_parent_index($arr,$x) {
foreach($arr as $k => $v)
if($v['id'] == $x['parent'])
return $k;
-}
+ return false;
+} \ No newline at end of file