home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpbb2plus / phpBB2_plus_1.52.exe / phpBB2 / index.php < prev    next >
PHP Script  |  2004-07-18  |  22KB  |  524 lines

  1. <?php
  2. /***************************************************************************
  3.  *                                index.php
  4.  *                            -------------------
  5.  *   begin                : Saturday, Feb 13, 2001
  6.  *   copyright            : (C) 2001 The phpBB Group
  7.  *   email                : support@phpbb.com
  8.  *
  9.  *   $Id: index.php,v 1.99.2.2 2004/03/01 15:56:52 psotfx Exp $
  10.  *
  11.  *
  12.  ***************************************************************************/
  13.  
  14. /***************************************************************************
  15.  *
  16.  *   This program is free software; you can redistribute it and/or modify
  17.  *   it under the terms of the GNU General Public License as published by
  18.  *   the Free Software Foundation; either version 2 of the License, or
  19.  *   (at your option) any later version.
  20.  *
  21.  ***************************************************************************/
  22.  
  23. define('IN_PHPBB', true);
  24. $phpbb_root_path = './';
  25. include($phpbb_root_path . 'extension.inc');
  26. include($phpbb_root_path . 'common.'.$phpEx);
  27. //-- add
  28. include_once($phpbb_root_path . 'includes/functions_announces.'. $phpEx);
  29. //-- fin mod : announces ---------------------------------------------------------------------------
  30.  
  31. if (file_exists($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . "/lang_main_link.$phpEx"))
  32.         {
  33.             include_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . "/lang_main_link.$phpEx");
  34.         }
  35.         elseif (file_exists($phpbb_root_path . "language/lang_english/lang_main_link.$phpEx"))
  36.         {
  37.             include_once($phpbb_root_path . "language/lang_english/lang_main_link.$phpEx");
  38.         }
  39.         else
  40.         {
  41.             message_die(GENERAL_ERROR, "Unable to find a suitable language file for Advanced Links Mod", '');
  42.         }
  43. //
  44. // Start session management
  45. //
  46. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  47. init_userprefs($userdata);
  48. //
  49. // End session management
  50. //
  51.  
  52. include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
  53. color_groups_setup_list();
  54.  
  55. $viewcat = ( !empty($HTTP_GET_VARS[POST_CAT_URL]) ) ? $HTTP_GET_VARS[POST_CAT_URL] : -1;
  56. $viewcat = intval($viewcat);
  57. if ($viewcat <= 0) $viewcat = -1;
  58. $viewcatkey = ($viewcat < 0) ? 'Root' : POST_CAT_URL . $viewcat;
  59. if( isset($HTTP_GET_VARS['mark']) || isset($HTTP_POST_VARS['mark']) )
  60. {
  61.     $mark_read = ( isset($HTTP_POST_VARS['mark']) ) ? $HTTP_POST_VARS['mark'] : $HTTP_GET_VARS['mark'];
  62. }
  63. else
  64. {
  65.     $mark_read = '';
  66. }
  67.  
  68. //
  69. // Handle marking posts
  70. //
  71. if( $mark_read == 'forums' )
  72. {
  73.     if ( $viewcat < 0 )
  74.     {
  75.     if( $userdata['session_logged_in'] )
  76.     {
  77.         setcookie($board_config['cookie_name'] . '_f_all', time(), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
  78.     }
  79.  
  80.     $template->assign_vars(array(
  81.         "META" => '<meta http-equiv="refresh" content="3;url='  .append_sid("index.$phpEx") . '">')
  82.     );
  83.     }
  84.     else
  85.     {
  86.         if( $userdata['session_logged_in'] )
  87.         {
  88.             // get the list of object authorized
  89.             $keys = array();
  90.             $keys = get_auth_keys($viewcatkey);
  91.  
  92.             // mark each forums
  93.             for ($i=0; $i < count($keys['id']); $i++) if ($tree['type'][ $keys['idx'][$i] ] == POST_FORUM_URL)
  94.             {
  95.                 $forum_id = $tree['id'][ $keys['idx'][$i] ];
  96.                 $sql = "SELECT MAX(post_time) AS last_post FROM " . POSTS_TABLE . " WHERE forum_id = $forum_id";
  97.                 if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
  98.                 if ( $row = $db->sql_fetchrow($result) )
  99.                 {
  100.                     $tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
  101.                     $tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
  102.  
  103.                     if ( ( count($tracking_forums) + count($tracking_topics) ) >= 150 && empty($tracking_forums[$forum_id]) )
  104.                     {
  105.                         asort($tracking_forums);
  106.                         unset($tracking_forums[key($tracking_forums)]);
  107.                     }
  108.  
  109.                     if ( $row['last_post'] > $userdata['user_lastvisit'] )
  110.                     {
  111.                         $tracking_forums[$forum_id] = time();
  112.                         setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
  113.                     }
  114.                 }
  115.             }
  116.         }
  117.  
  118.         $template->assign_vars(array(
  119.             "META" => '<meta http-equiv="refresh" content="3;url='  .append_sid("index.$phpEx?" . POST_CAT_URL . "=$viewcat") . '">')
  120.         );
  121.     }
  122.     $message = $lang['Forums_marked_read'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a> ');
  123.  
  124.     message_die(GENERAL_MESSAGE, $message);
  125. }
  126. //
  127. // End handle marking posts
  128. //
  129.  
  130. //-- mod : categories hierarchy --------------------------------------------------------------------
  131. //-- delete
  132. // $tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_t"]) : array();
  133. // $tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_f"]) : array();
  134. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  135.  
  136. //
  137. // If you don't use these stats on your index you may want to consider
  138. // removing them
  139. //
  140. //-- mod : categories hierarchy --------------------------------------------------------------------
  141. //-- delete
  142. // $total_posts = get_db_stat('postcount');
  143. // $total_users = get_db_stat('usercount');
  144. //-- add
  145. include_once($phpbb_root_path . 'includes/mods_settings/mod_categories_hierarchy.' . $phpEx);
  146. if ( ($board_config['display_viewonline'] == 2) || ( ($viewcat < 0) && ($board_config['display_viewonline'] == 1) ) )
  147. {
  148.     if ( empty($board_config['max_posts']) || empty($board_config['max_users']) )
  149.     {
  150.         board_stats();
  151.     }
  152.     $total_posts = $board_config['max_posts'];
  153.     $total_users = $board_config['max_users'];
  154. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  155. $newest_userdata = get_db_stat('newestuser');
  156. $newest_user = $newest_userdata['username'];
  157. $newest_uid = $newest_userdata['user_id'];
  158.  
  159. if( $total_posts == 0 )
  160. {
  161.     $l_total_post_s = $lang['Posted_articles_zero_total'];
  162. }
  163. else if( $total_posts == 1 )
  164. {
  165.     $l_total_post_s = $lang['Posted_article_total'];
  166. }
  167. else
  168. {
  169.     $l_total_post_s = $lang['Posted_articles_total'];
  170. }
  171.  
  172. if( $total_users == 0 )
  173. {
  174.     $l_total_user_s = $lang['Registered_users_zero_total'];
  175. }
  176. else if( $total_users == 1 )
  177. {
  178.     $l_total_user_s = $lang['Registered_user_total'];
  179. }
  180. else
  181. {
  182.     $l_total_user_s = $lang['Registered_users_total'];
  183. }
  184.  
  185. //-- mod : categories hierarchy --------------------------------------------------------------------
  186. //-- add
  187. }
  188. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  189.  
  190. //
  191. // Start page proper
  192. //
  193. //-- mod : categories hierarchy --------------------------------------------------------------------
  194. //-- delete
  195. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  196.     $sql = "SELECT *
  197.         FROM ". LINK_CONFIG_TABLE;
  198.     if(!$result = $db->sql_query($sql))
  199.     {
  200.         message_die(GENERAL_ERROR, "Could not query Link config information", "", __LINE__, __FILE__, $sql);
  201.     }
  202.     
  203.     while( $row = $db->sql_fetchrow($result) )
  204.     {
  205.         $link_config_name = $row['config_name'];
  206.         $link_config_value = $row['config_value'];
  207.         $link_config[$link_config_name] = $link_config_value;
  208.         $link_self_img = $link_config['site_logo'];
  209.         $site_logo_height = $link_config['height'];
  210.         $site_logo_width = $link_config['width'];
  211.     }
  212.  
  213.     // Birthday Mod, Show users with birthday 
  214. $sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" :"";
  215. if($result = $db->sql_query($sql)) 
  216.     if (!empty($result)) 
  217.     { 
  218.         $time_now = time();
  219.         $this_year = create_date('Y', $time_now, $board_config['board_timezone']);
  220.         $date_today = create_date('Ymd', $time_now, $board_config['board_timezone']);
  221.         $date_forward = create_date('Ymd', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
  222.           while ($birthdayrow = $db->sql_fetchrow($result))
  223.         { 
  224. usleep(2);
  225.               $user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] )); 
  226.               if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000;
  227.             if ( $user_birthday2 > $date_today  && $user_birthday2 <= $date_forward ) 
  228.             { 
  229.                 // user are having birthday within the next days
  230.                 $user_age = ( $this_year.$user_birthday < $date_today ) ? $this_year - realdate ('Y',$birthdayrow['user_birthday'])+1 : $this_year- realdate ('Y',$birthdayrow['user_birthday']); 
  231.                 $style_color = color_group_colorize_name($birthdayrow['user_id'],true);
  232.                 $birthday_week_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '" class="gensmall">' . $style_color . ' ('.$user_age.')</a>,'; 
  233.             } else if ( $user_birthday2 == $date_today ) 
  234.               { 
  235.                 //user have birthday today 
  236.                 $user_age = $this_year - realdate ( 'Y',$birthdayrow['user_birthday'] ); 
  237.                 $style_color = color_group_colorize_name($birthdayrow['user_id'],true);
  238.  
  239.                 $birthday_today_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '" class="gensmall">' . $style_color . ' ('.$user_age.')</a>,'; 
  240.               }
  241.              
  242.         }
  243.         if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
  244.         if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
  245.     } 
  246.     $db->sql_freeresult($result);
  247. }
  248. // Start add - Last visit MOD
  249. $time_now=time();
  250. $time1Hour=$time_now-3600;
  251. $minutes = date('is', $time_now);
  252. $hour_now = $time_now - (60*($minutes[0].$minutes[1])) - ($minutes[2].$minutes[3]); 
  253. $dato=create_date('H', $time_now,$board_config['board_timezone']);
  254. $timetoday = $hour_now - (3600*$dato); 
  255. $sql = 'SELECT session_ip, MAX(session_time) as session_time FROM '.SESSIONS_TABLE.' WHERE session_user_id="'.ANONYMOUS.'" AND session_time >= '.$timetoday.' AND session_time< '.($timetoday+86399).' GROUP BY session_ip';
  256. if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve guest user today data", "", __LINE__, __FILE__, $sql); 
  257. while( $guest_list = $db->sql_fetchrow($result))
  258.     if ($guest_list['session_time'] >$time1Hour) $users_lasthour++;
  259. }
  260. $guests_today = $db->sql_numrows($result);
  261. $sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username'; 
  262. if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql); 
  263. while( $todayrow = $db->sql_fetchrow($result)) 
  264.     $style_color = ""; 
  265.     if ($todayrow['user_lastlogon']>=$time1Hour)
  266.     {
  267.         $users_lasthour++;
  268.     }
  269.     $style_color = color_group_colorize_name($todayrow['user_id'],true);
  270.      $users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '" class="gensmall">' . $style_color . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '" class="gensmall"><i>' . $style_color .'</i></a>,' : '');  
  271.     if (!$todayrow['user_allow_viewonline']) $logged_hidden_today++;
  272.     else $logged_visible_today++;
  273. }
  274. if ($users_today_list) 
  275. {
  276.     $users_today_list[ strlen( $users_today_list)-1] = ' '; 
  277. } else
  278. {
  279.     $users_today_list = $lang['None'];
  280. }
  281. $total_users_today = $db->sql_numrows($result)+$guests_today;
  282.  
  283. $users_today_list = $lang['Registered_users'].' ' . $users_today_list;
  284. $l_today_user_s = ($total_users_today) ? ( ( $total_users_today == 1 )? $lang['User_today_total'] : $lang['Users_today_total'] ) : $lang['Users_today_zero_total'];
  285. $l_today_r_user_s = ($logged_visible_today) ? ( ( $logged_visible_today == 1 ) ? $lang['Reg_user_total'] : $lang['Reg_users_total'] ) : $lang['Reg_users_zero_total'];
  286. $l_today_h_user_s = ($logged_hidden_today) ? (($logged_hidden_today == 1) ? $lang['Hidden_user_total'] : $lang['Hidden_users_total'] ) : $lang['Hidden_users_zero_total'];
  287. $l_today_g_user_s = ($guests_today) ? (($guests_today == 1) ? $lang['Guest_user_total'] : $lang['Guest_users_total']) : $lang['Guest_users_zero_total'];
  288. $l_today_users = sprintf($l_today_user_s, $total_users_today);
  289. $l_today_users .= sprintf($l_today_r_user_s, $logged_visible_today); 
  290. $l_today_users .= sprintf($l_today_h_user_s, $logged_hidden_today); 
  291. $l_today_users .= sprintf($l_today_g_user_s, $guests_today);
  292. // End add - Last visit MOD
  293.  
  294. if ($plus_config['index_layout'] == 'index_body_plus.tpl')
  295.     {
  296.     $today_registered_users = 0;
  297.     $yesterday_registered_users = 0;
  298.  
  299.         $today_time = time();
  300. $yesterday_time = $today_time - 86400;
  301.  
  302. $day = create_date('d', $yesterday_time, $userdata['user_timezone']);
  303. $month = create_date('m', $yesterday_time, $userdata['user_timezone']);
  304. $year = create_date('Y', $yesterday_time, $userdata['user_timezone']);
  305.  
  306. $y_day_from = strtotime($year.'-'.$month.'-'.$day.' 00:00:00');
  307.  
  308. $day = create_date('d', $today_time, $userdata['user_timezone']);
  309. $month = create_date('m', $today_time, $userdata['user_timezone']);
  310. $year = create_date('Y', $today_time, $userdata['user_timezone']);
  311.  
  312. $t_day_from = strtotime($year.'-'.$month.'-'.$day.' 00:00:00');
  313.  
  314.     $sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
  315.     WHERE user_regdate >= $y_day_from
  316.         AND user_regdate < $t_day_from
  317.         AND user_id <> " . ANONYMOUS;
  318. if ( !$result = $db->sql_query($sql) )
  319. {
  320.     message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
  321. }
  322.  
  323. while ( $row = $db->sql_fetchrow($result) )
  324. {
  325.     $yesterday_registered_users = $row['total_users'];
  326. }
  327.  
  328. $db->sql_freeresult($result);
  329.  
  330.     $sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
  331.         WHERE user_regdate >= $t_day_from
  332.         AND user_id <> " . ANONYMOUS;
  333. if ( !$result = $db->sql_query($sql) )
  334. {
  335.     message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
  336. }
  337.  
  338. while ( $row = $db->sql_fetchrow($result) )
  339. {
  340.     $today_registered_users = $row['total_users'];
  341. }
  342.  
  343. $db->sql_freeresult($result);
  344. }
  345.     //
  346.     // Start output of page
  347.     //
  348.     //-- mod : categories hierarchy --------------------------------------------------------------------
  349. //-- add
  350. // set the parm of the mark read func
  351. $mark = ($viewcat == -1 ) ? '' : '&' . POST_CAT_URL . '=' . $viewcat;
  352. // monitor the board statistic
  353. if (($board_config['display_viewonline'] == 2) || (($viewcat < 0) && ($board_config['display_viewonline'] == 1)))
  354. {
  355. //-- fin mod : categories hierarchy ---------------------------------------------------------------- 
  356.     define('SHOW_ONLINE', true);
  357.     //-- mod : categories hierarchy --------------------------------------------------------------------
  358. //-- add
  359. }
  360. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  361.     $page_title = $lang['Index'];
  362.     include($phpbb_root_path . 'includes/page_header.'.$phpEx);
  363.  
  364.     $template->set_filenames(array(
  365.         'body' => $plus_config['index_layout'])
  366.     );
  367.     
  368.     if ($plus_config['index_layout'] == 'index_body_plus.tpl')
  369.     {
  370.             $template->assign_vars(array(
  371.             'TOTAL_USERS' => $total_users,
  372.             'TOTAL_POSTS' => $total_posts,
  373.             'NEWEST_USER' => sprintf($lang['Newest_user_plus'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
  374.             'TODAY_USERS' => $today_registered_users,
  375.             'YESTERDAY_USERS' => $yesterday_registered_users,
  376.             'USERS_TODAY_LIST' => $users_today_list,
  377.             'GUESTS_ONLINE' => $guests_online,
  378.             'REGGED_ONLINE' => $logged_visible_online,
  379.             'L_FORUM' => $lang['Forum'],
  380.         'L_TOPICS' => $lang['Topics'],
  381.         'L_REPLIES' => $lang['Replies'],
  382.         'L_VIEWS' => $lang['Views'],
  383.         'L_POSTS' => $lang['Posts'],
  384.         'L_LASTPOST' => $lang['Last_Post'], 
  385.         'L_LAST_VISIT' => $lang['Last_Visit'],
  386.         'L_NO_NEW_POSTS' => $lang['No_new_posts'],
  387.         'L_NEW_POSTS' => $lang['New_posts'],
  388.         'L_NO_NEW_POSTS_LOCKED' => $lang['No_new_posts_locked'], 
  389.         'L_NEW_POSTS_LOCKED' => $lang['New_posts_locked'], 
  390.         'L_ONLINE_EXPLAIN' => $lang['Online_explain'], 
  391.             'FORUM_IMG' => $images['forum'],
  392.         'FORUM_NEW_IMG' => $images['forum_new'],
  393.         'FORUM_LOCKED_IMG' => $images['forum_locked'],
  394.             'L_WHOSBIRTHDAY_WEEK' => ($board_config['birthday_check_day'] > 1) ? sprintf( (($birthday_week_list) ? $lang['Birthday_week'] : $lang['Nobirthday_week']), $board_config['birthday_check_day']).$birthday_week_list : '',
  395.         'L_WHOSBIRTHDAY_TODAY' => ($board_config['birthday_check_day']) ? ($birthday_today_list) ? $lang['Birthday_today'].$birthday_today_list : $lang['Nobirthday_today'] : '',
  396.             'L_USERS_LASTHOUR' =>($users_lasthour)?sprintf($lang['Users_lasthour_explain'],$users_lasthour):$lang['Users_lasthour_none_explain'],
  397.         'L_USERS_TODAY' =>$l_today_users,
  398.             'L_LINKS' => $lang['Site_links'],
  399.         'U_LINKS' => append_sid("links.$phpEx"),
  400.         'U_LINKS_JS' => "links.js.$phpEx",
  401.         'U_SITE_LOGO' => $link_self_img,
  402.         'SITE_LOGO_WIDTH' => $site_logo_width,
  403.         'SITE_LOGO_HEIGHT' => $site_logo_height,
  404.             'L_LIVE_STATS' => $lang['Live_Statistics'],
  405.             'L_MEMBERS' => $lang['Top_Member'],
  406.             'L_LATEST' => $lang['Latest_Member'],
  407.             'L_NEW_TODAY' => $lang['New_Today'],
  408.             'L_NEW_YESTERDAY' => $lang['New_Yesterday'],
  409.             'L_MEMBERS_OVERALL' => $lang['Members_Overall'],
  410.             'L_ONLINE_NOW' => $lang['Online_Now'],
  411.             'L_GUESTS' => $lang['Guests_P'],
  412.             'L_MEMBERS' => $lang['Members_P'],
  413.             'L_STATS' => $lang['Box_Stats'],
  414.             'L_USER_RECORD' => $lang['User_Record'],
  415.             'L_TOTAL_POSTS' => $lang['Total_Posts'],
  416.             'L_BIRTHDAYS' => $lang['Birthdays_P'],
  417.             'L_FORUM_LOCKED' => $lang['Forum_is_locked'],
  418.             'L_MODERATOR' => $lang['Moderators'],
  419.         'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],
  420.         'U_MARK_READ' => append_sid("index.$phpEx?mark=forums$mark"),
  421.         'L_ONLINE_MEMBERS' => $lang['Online_Members_P']) 
  422.             );
  423.         }
  424.     else
  425.     {
  426.     $template->assign_vars(array(
  427.         'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
  428.         'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
  429.         'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'), 
  430.  
  431.         'FORUM_IMG' => $images['forum'],
  432.         'FORUM_NEW_IMG' => $images['forum_new'],
  433.         'FORUM_LOCKED_IMG' => $images['forum_locked'],
  434.         // Start add - Last visit MOD
  435.         'USERS_TODAY_LIST' => $users_today_list,
  436.  
  437.         'L_USERS_LASTHOUR' =>($users_lasthour)?sprintf($lang['Users_lasthour_explain'],$users_lasthour):$lang['Users_lasthour_none_explain'],
  438.         'L_USERS_TODAY' =>$l_today_users,
  439.         // End add - Last visit MOD
  440.  
  441.         // Start add - Birthday MOD
  442.         'L_WHOSBIRTHDAY_WEEK' => ($board_config['birthday_check_day'] > 1) ? sprintf( (($birthday_week_list) ? $lang['Birthday_week'] : $lang['Nobirthday_week']), $board_config['birthday_check_day']).$birthday_week_list : '',
  443.         'L_WHOSBIRTHDAY_TODAY' => ($board_config['birthday_check_day']) ? ($birthday_today_list) ? $lang['Birthday_today'].$birthday_today_list : $lang['Nobirthday_today'] : '',
  444. // End add - Birthday MOD
  445.  
  446.         'L_FORUM' => $lang['Forum'],
  447.         'L_TOPICS' => $lang['Topics'],
  448.         'L_REPLIES' => $lang['Replies'],
  449.         'L_VIEWS' => $lang['Views'],
  450.         'L_POSTS' => $lang['Posts'],
  451.         'L_LASTPOST' => $lang['Last_Post'], 
  452.         'L_NO_NEW_POSTS' => $lang['No_new_posts'],
  453.         'L_NEW_POSTS' => $lang['New_posts'],
  454.         'L_NO_NEW_POSTS_LOCKED' => $lang['No_new_posts_locked'], 
  455.         'L_NEW_POSTS_LOCKED' => $lang['New_posts_locked'], 
  456.         'L_ONLINE_EXPLAIN' => $lang['Online_explain'], 
  457.         'L_LINKS' => $lang['Site_links'],
  458.         'U_LINKS' => append_sid("links.$phpEx"),
  459.         'U_LINKS_JS' => "links.js.$phpEx",
  460.         'U_SITE_LOGO' => $link_self_img,
  461.         'SITE_LOGO_WIDTH' => $site_logo_width,
  462.         'SITE_LOGO_HEIGHT' => $site_logo_height,
  463.         'L_MODERATOR' => $lang['Moderators'], 
  464.         'L_FORUM_LOCKED' => $lang['Forum_is_locked'],
  465.         'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'], 
  466.         //-- mod : categories hierarchy --------------------------------------------------------------------
  467. // here we added
  468. //    $mark
  469. //-- modify
  470.         'U_MARK_READ' => append_sid("index.$phpEx?mark=forums$mark"))
  471.     );
  472. }
  473. //-- mod : announces -------------------------------------------------------------------------------
  474. //-- add
  475.     // categories hierarchy v 2 compliancy
  476.     if (empty($viewcatkey) && ($viewcat > -1))
  477.     {
  478.         $viewcatkey = POST_CAT_URL . $viewcat;
  479.     }
  480.     else
  481.     {
  482.         if (empty($viewcatkey)) $viewcatkey = 'Root';
  483.     }
  484.     announces_from_forums($viewcatkey);
  485. //-- fin mod : announces ---------------------------------------------------------------------------
  486.  
  487.     //
  488.     // Okay, let's build the index
  489.     //
  490.     //-- mod : categories hierarchy --------------------------------------------------------------------
  491.  
  492. // don't display the board statistics
  493. if ( ($board_config['display_viewonline'] == 2) || ( ($viewcat < 0) && ($board_config['display_viewonline'] == 1) ) )
  494. {
  495.     $template->assign_block_vars('disable_viewonline', array());
  496. }
  497.  
  498. // display the index
  499. $display = display_index($viewcatkey);
  500. if ($plus_config['show_links'] == 1)
  501. {
  502.         $template->assign_block_vars('switch_show_links', array());
  503. }
  504. if ($plus_config['show_last_visit'] == 1)
  505. {
  506.         $template->assign_block_vars('switch_show_lastvisit', array());
  507. }
  508. if ( !$display )
  509. //-- fin mod : categories hierarchy ----------------------------------------------------------------
  510. {
  511.     message_die(GENERAL_MESSAGE, $lang['No_forums']);
  512. }
  513.  
  514. //
  515. // Generate the page
  516. //
  517. $template->pparse('body');
  518.  
  519. include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
  520.  
  521. ?>