mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/10885] Fix UCP Main Error if no forums exist
This error is caused by an empty set passed to sql_in_set if the user cannot read any forums PHPBB3-10885
This commit is contained in:
parent
17681c0770
commit
a2dd99b75e
1 changed files with 8 additions and 9 deletions
|
@ -69,17 +69,16 @@ class ucp_main
|
||||||
// Get cleaned up list... return only those forums having the f_read permission
|
// Get cleaned up list... return only those forums having the f_read permission
|
||||||
$forum_ary = $auth->acl_getf('f_read', true);
|
$forum_ary = $auth->acl_getf('f_read', true);
|
||||||
$forum_ary = array_unique(array_keys($forum_ary));
|
$forum_ary = array_unique(array_keys($forum_ary));
|
||||||
|
|
||||||
$sql = "SELECT t.* $sql_select
|
|
||||||
FROM $sql_from
|
|
||||||
WHERE t.topic_type = " . POST_GLOBAL . '
|
|
||||||
AND ' . $db->sql_in_set('t.forum_id', $forum_ary) . '
|
|
||||||
ORDER BY t.topic_last_post_time DESC';
|
|
||||||
|
|
||||||
$topic_list = $rowset = array();
|
$topic_list = $rowset = array();
|
||||||
|
|
||||||
// If the user can't see any forums, he can't read any posts because fid of 0 is invalid
|
// If the user can't see any forums, he can't read any posts because fid of 0 is invalid
|
||||||
if (!empty($forum_ary))
|
if (!empty($forum_ary))
|
||||||
{
|
{
|
||||||
|
$sql = "SELECT t.* $sql_select
|
||||||
|
FROM $sql_from
|
||||||
|
WHERE t.topic_type = " . POST_GLOBAL . '
|
||||||
|
AND ' . $db->sql_in_set('t.forum_id', $forum_ary) . '
|
||||||
|
ORDER BY t.topic_last_post_time DESC';
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
|
@ -671,7 +670,7 @@ class ucp_main
|
||||||
if ($topics_count)
|
if ($topics_count)
|
||||||
{
|
{
|
||||||
phpbb_generate_template_pagination($template, $this->u_action, 'pagination', 'start', $topics_count, $config['topics_per_page'], $start);
|
phpbb_generate_template_pagination($template, $this->u_action, 'pagination', 'start', $topics_count, $config['topics_per_page'], $start);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'PAGE_NUMBER' => phpbb_on_page($template, $user, $this->u_action, $topics_count, $config['topics_per_page'], $start),
|
'PAGE_NUMBER' => phpbb_on_page($template, $user, $this->u_action, $topics_count, $config['topics_per_page'], $start),
|
||||||
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $topics_count),
|
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $topics_count),
|
||||||
|
@ -837,7 +836,7 @@ class ucp_main
|
||||||
'U_VIEW_TOPIC' => $view_topic_url,
|
'U_VIEW_TOPIC' => $view_topic_url,
|
||||||
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
|
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
|
||||||
));
|
));
|
||||||
|
|
||||||
phpbb_generate_template_pagination($template, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . "&t=$topic_id"), 'topicrow.pagination', 'start', $replies + 1, $config['posts_per_page'], 1, true, true);
|
phpbb_generate_template_pagination($template, append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . "&t=$topic_id"), 'topicrow.pagination', 'start', $replies + 1, $config['posts_per_page'], 1, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue