From 8742beb772c82123d3abab605d918ab361642e66 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Fri, 3 Aug 2012 22:28:21 +0200 Subject: [PATCH] Flatten children when threads are disabled --- include/conversation.php | 33 +++++++++++++++++++++++++++------ view/theme/darkzero/style.css | 1 + view/wall_thread.tpl | 17 +++++++++++++---- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index e1caa0447..76348561f 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -581,13 +581,27 @@ function prepare_threads_body($a, $items, $cmnt_tpl, $page_writeable, $mode, $pr } $item_result['children'] = array(); - // Show children of children only if enabled - if(count($item['children']) - && (($thread_level < 2) || get_config('system','thread_allow'))) { + if(count($item['children'])) { $item_result['children'] = prepare_threads_body($a, $item['children'], $cmnt_tpl, $page_writeable, $mode, $profile_owner, ($thread_level + 1)); } $item_result['private'] = $item['private']; $item_result['toplevel'] = ($toplevelpost ? 'toplevel_item' : ''); + + /* + * I don't like this very much... + */ + if(get_config('system','thread_allow')) { + $item_result['flatten'] = false; + $item_result['threaded'] = true; + } + else { + $item_result['flatten'] = true; + $item_result['threaded'] = false; + if(!$toplevelpost) { + $item_result['comment'] = false; + } + } + $result[] = $item_result; } @@ -1134,9 +1148,16 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) { function get_item_children($arr, $parent) { $children = array(); foreach($arr as $item) { - if(($item['id'] != $item['parent']) && ($item['thr-parent'] == $parent['uri'])) { - $item['children'] = get_item_children($arr, $item); - $children[] = $item; + if($item['id'] != $item['parent']) { + if(get_config('system','thread_allow')) { + if($item['thr-parent'] == $parent['uri']) { + $item['children'] = get_item_children($arr, $item); + $children[] = $item; + } + } + else if($item['parent'] == $parent['id']) { + $children[] = $item; + } } } return $children; diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css index e9b4bc8b2..dda180bbd 100644 --- a/view/theme/darkzero/style.css +++ b/view/theme/darkzero/style.css @@ -29,6 +29,7 @@ background: #444; } .wall-item-tools { background-color: #444444; background-image: none;} .comment-wwedit-wrapper{ background-color: #444444; } +.toplevel_item > .wall-item-comment-wrapper > .comment-wwedit-wrapper{ background-color: #333333; } .comment-edit-preview{ color: #000000; } .wall-item-content-wrapper.comment { background-color: #444444; border: 0px;} .photo-top-album-name{ background-color: #333333; } diff --git a/view/wall_thread.tpl b/view/wall_thread.tpl index 31c70b27d..600f755b1 100644 --- a/view/wall_thread.tpl +++ b/view/wall_thread.tpl @@ -72,10 +72,14 @@ {{ if $item.drop.dropping }}{{ endif }} {{ if $item.drop.dropping }}{{ endif }} -
-
- $item.comment -
+
+ {{ if $item.threaded }} + {{ if $item.comment }} +
+ $item.comment +
+ {{ endif }} + {{ endif }}
@@ -87,5 +91,10 @@ {{ inc $item.template }}{{ endinc }} {{ endfor }} +{{ if $item.flatten }} +
+ $item.comment +
+{{ endif }} {{if $item.comment_lastcollapsed}}{{endif}}