diff --git a/root/portal/modules/portal_user_menu.php b/root/portal/modules/portal_user_menu.php index 9b47807b..764e65d6 100644 --- a/root/portal/modules/portal_user_menu.php +++ b/root/portal/modules/portal_user_menu.php @@ -59,9 +59,7 @@ class portal_user_menu_module function get_template_side($module_id) { - global $config, $template, $user, $auth, $db, $phpEx; - - $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../'; + global $config, $template, $user, $auth, $db, $phpEx, $phpbb_root_path; if (!function_exists('display_forums')) { @@ -73,47 +71,41 @@ class portal_user_menu_module // // + new posts since last visit & you post number // - if ($user->data['is_registered']) + $ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true)))); + + if ($auth->acl_get('m_approve')) { - $ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true)))); - - if ($auth->acl_get('m_approve')) - { - $m_approve_fid_ary = array(-1); - $m_approve_fid_sql = ''; - } - else if ($auth->acl_getf_global('m_approve')) - { - $m_approve_fid_ary = array_diff(array_keys($auth->acl_getf('!m_approve', true)), $ex_fid_ary); - $m_approve_fid_sql = ' AND (p.post_approved = 1' . ((sizeof($m_approve_fid_ary)) ? ' OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) : '') . ')'; - } - else - { - $m_approve_fid_ary = array(); - $m_approve_fid_sql = ' AND p.post_approved = 1'; - } - - $sql = 'SELECT COUNT(distinct t.topic_id) as total - FROM ' . TOPICS_TABLE . ' t - WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . ' - AND t.topic_moved_id = 0 - ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' - ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); - $result = $db->sql_query($sql); - $new_posts_count = (int) $db->sql_fetchfield('total'); - $db->sql_freeresult($result); - - // unread posts - $sql_where = 'AND t.topic_moved_id = 0 - ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' - ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); - $unread_list = array(); - $unread_list = get_unread_topics($user->data['user_id'], $sql_where, 'ORDER BY t.topic_id DESC'); - $unread_posts_count = sizeof($unread_list); + $m_approve_fid_ary = array(-1); + $m_approve_fid_sql = ''; } - // - // - new posts since last visit & you post number - // + else if ($auth->acl_getf_global('m_approve')) + { + $m_approve_fid_ary = array_diff(array_keys($auth->acl_getf('!m_approve', true)), $ex_fid_ary); + $m_approve_fid_sql = ' AND (p.post_approved = 1' . ((sizeof($m_approve_fid_ary)) ? ' OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) : '') . ')'; + } + else + { + $m_approve_fid_ary = array(); + $m_approve_fid_sql = ' AND p.post_approved = 1'; + } + + $sql = 'SELECT COUNT(distinct t.topic_id) as total + FROM ' . TOPICS_TABLE . ' t + WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . ' + AND t.topic_moved_id = 0 + ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' + ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); + $result = $db->sql_query($sql); + $new_posts_count = (int) $db->sql_fetchfield('total'); + $db->sql_freeresult($result); + + // unread posts + $sql_where = 'AND t.topic_moved_id = 0 + ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' + ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); + $unread_list = array(); + $unread_list = get_unread_topics($user->data['user_id'], $sql_where, 'ORDER BY t.topic_id DESC'); + $unread_posts_count = sizeof($unread_list); // Get user avatar and rank