[ticket/9563] Do not show empty categories on index

PHPBB3-9563
This commit is contained in:
Marc Alexander 2015-05-31 11:08:00 +02:00
parent 049f584111
commit 2e20bae695

View file

@ -150,7 +150,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$sql = $db->sql_build_query('SELECT', $sql_ary); $sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$forum_tracking_info = array(); $forum_tracking_info = $valid_categories = array();
$branch_root_id = $root_data['forum_id']; $branch_root_id = $root_data['forum_id'];
$phpbb_content_visibility = $phpbb_container->get('content.visibility'); $phpbb_content_visibility = $phpbb_container->get('content.visibility');
@ -250,6 +250,12 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
} }
} }
// Fill list of categories with forums
if (isset($forum_rows[$row['parent_id']]))
{
$valid_categories[$row['parent_id']] = true;
}
// //
if ($row['parent_id'] == $root_data['forum_id'] || $row['parent_id'] == $branch_root_id) if ($row['parent_id'] == $root_data['forum_id'] || $row['parent_id'] == $branch_root_id)
{ {
@ -404,6 +410,12 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
// Category // Category
if ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT) if ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT)
{ {
// Do not display categories without any forums to display
if (!isset($valid_categories[$row['forum_id']]))
{
continue;
}
$cat_row = array( $cat_row = array(
'S_IS_CAT' => true, 'S_IS_CAT' => true,
'FORUM_ID' => $row['forum_id'], 'FORUM_ID' => $row['forum_id'],