diff options
Diffstat (limited to 'phpBB/admin')
| -rw-r--r-- | phpBB/admin/admin_index.php | 204 | ||||
| -rw-r--r-- | phpBB/admin/index.php | 5 |
2 files changed, 208 insertions, 1 deletions
diff --git a/phpBB/admin/admin_index.php b/phpBB/admin/admin_index.php new file mode 100644 index 0000000000..42196e1448 --- /dev/null +++ b/phpBB/admin/admin_index.php @@ -0,0 +1,204 @@ +<?php +/*************************************************************************** + * admin_index + * ------------------- + * begin : Thursday, Jul 23, 2001 + * copyright : (C) 2001 The phpBB Group + * email : support@phpbb.com + * + * $Id$ + * + * + ***************************************************************************/ + +/*************************************************************************** + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * + ***************************************************************************/ + +if($setmodules == 1) +{ + $filename = basename(__FILE__); + $module['General']['overview'] = "$filename"; + + return; +} + +if(!$from_index) +{ + $phpbb_root_path = "./../"; + include($phpbb_root_path . 'extension.inc'); + include($phpbb_root_path . 'common.'.$phpEx); +} + +// +// Start session management +// +$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length); +init_userprefs($userdata); +// +// End session management +// + +// +// Check user permissions +// +if( !$userdata['session_logged_in'] ) +{ + header("Location: ../login.$phpEx?forward_page=/admin"); +} +else if( $userdata['user_level'] != ADMIN ) +{ + message_die(GENERAL_MESSAGE, "You are not authorised to administer this board"); +} + + +$template->set_filenames(array("body" => "admin/admin_index_body.tpl")); + + +// Get users online information. +$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, s.session_page, s.session_logged_in, s.session_time, s.session_ip + FROM " . USERS_TABLE . " u, " . SESSIONS_TABLE . " s + WHERE u.user_id = s.session_user_id + AND s.session_time >= " . (time()-300) . " + ORDER BY s.session_time DESC"; +if(!$result = $db->sql_query($sql)) +{ + message_die(GENERAL_ERROR, "Couldn't obtain user/online information.", "", __LINE__, __FILE__, $sql); +} +$onlinerow = $db->sql_fetchrowset($result); + +$sql = "SELECT forum_name, forum_id + FROM " . FORUMS_TABLE; +if($forums_result = $db->sql_query($sql)) +{ + while($forumsrow = $db->sql_fetchrow($forums_result)) + { + $forum_data[$forumsrow['forum_id']] = $forumsrow['forum_name']; + } +} +else +{ + message_die(GENERAL_ERROR, "Couldn't obtain user/online forums information.", "", __LINE__, __FILE__, $sql); +} + +$online_count = $db->sql_numrows($result); +if($online_count) +{ + $count = 0; + + for($i = 0; $i < $online_count; $i++) + { + if($onlinerow[$i]['user_id'] != ANONYMOUS) + { + if($onlinerow[$i]['session_logged_in']) + { + $username = $onlinerow[$i]['username']; + } + else + { + $username = $onlinerow[$i]['username']; + } + } + else + { + $username = $lang['Anonymous']; + } + + if($onlinerow[$i]['session_page'] < 1) + { + switch($onlinerow[$i]['session_page']) + { + case PAGE_INDEX: + $location = $lang['Forum_index']; + $location_url = "index.$phpEx"; + break; + case PAGE_POSTING: + $location = $lang['Posting_message']; + $location_url = "index.$phpEx"; + break; + case PAGE_LOGIN: + $location = $lang['Logging_on']; + $location_url = "index.$phpEx"; + break; + case PAGE_SEARCH: + $location = $lang['Searching_forums']; + $location_url = "search.$phpEx"; + break; + case PAGE_PROFILE: + $location = $lang['Viewing_profile']; + $location_url = "index.$phpEx"; + break; + case PAGE_VIEWONLINE: + $location = $lang['Viewing_online']; + $location_url = "viewonline.$phpEx"; + break; + case PAGE_VIEWMEMBERS: + $location = $lang['Viewing_member_list']; + $location_url = "memberlist.$phpEx"; + break; + case PAGE_PRIVMSGS: + $location = $lang['Viewing_priv_msgs']; + $location_url = "privmsg.$phpEx"; + break; + case PAGE_FAQ: + $location = $lang['Viewing_FAQ']; + $location_url = "faq.$phpEx"; + break; + default: + $location = $lang['Forum_index']; + $location_url = "index.$phpEx"; + } + } + else + { + $location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $onlinerow[$i]['session_page']); + $location = $forum_data[$onlinerow[$i]['session_page']]; + } + + if(!($count % 2)) + { + $row_color = "#" . $theme['td_color1']; + } + else + { + $row_color = "#" . $theme['td_color2']; + } + $count++; + + $ip_address = decode_ip($onlinerow[$i]['session_ip']); + $host_name = gethostbyaddr($ip_address); + $ip_address = $ip_address . " ($host_name)"; + + $template->assign_block_vars("userrow", array( + "ROW_COLOR" => $row_color, + "USERNAME" => $username, + "LOGGED_ON" => $logged_on, + "LASTUPDATE" => create_date($board_config['default_dateformat'], $onlinerow[$i]['session_time'], $board_config['default_timezone']), + "LOCATION" => $location, + "IPADDRESS" => $ip_address, + "U_USER_PROFILE" => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $onlinerow[$i]['user_id']), + "U_FORUM_LOCATION" => append_sid($location_url)) + ); + } +} +$template->assign_vars(array("L_USERNAME" => $lang['Username'], + "L_LOCATION" => $lang['Location'], + "L_LAST_UPDATE" => $lang['Last_updated'], + "L_IPADDRESS" => $lang['IP_Address'])); + + + +$template->pparse("body"); + +if(!$from_index) +{ + include('page_footer_admin.'.$phpEx); +} + +?>
\ No newline at end of file diff --git a/phpBB/admin/index.php b/phpBB/admin/index.php index 466e803895..67a905e401 100644 --- a/phpBB/admin/index.php +++ b/phpBB/admin/index.php @@ -101,7 +101,10 @@ elseif( $HTTP_GET_VARS['pane'] == 'right' ) $template_header = "admin/page_header.tpl"; include('page_header_admin.'.$phpEx); - + + $from_index = 1; + include('admin_index.'.$phpEx); + include('page_footer_admin.'.$phpEx); } |
