diff options
| author | David King <imkingdavid@gmail.com> | 2012-08-20 09:09:53 -0400 |
|---|---|---|
| committer | David King <imkingdavid@gmail.com> | 2012-08-20 09:09:53 -0400 |
| commit | 310c9069328172a7c0cb890d96b5eb4d14523e78 (patch) | |
| tree | 8a64fcb4ee4e1321e803aef6c79b12895e1d01d5 /phpBB/viewonline.php | |
| parent | 8c62c33f2a8ab48f05938d55c80b1bf37f9a37d5 (diff) | |
| parent | b567175c8d49b774e48fe7cf632d96babb434076 (diff) | |
| download | forums-310c9069328172a7c0cb890d96b5eb4d14523e78.tar forums-310c9069328172a7c0cb890d96b5eb4d14523e78.tar.gz forums-310c9069328172a7c0cb890d96b5eb4d14523e78.tar.bz2 forums-310c9069328172a7c0cb890d96b5eb4d14523e78.tar.xz forums-310c9069328172a7c0cb890d96b5eb4d14523e78.zip | |
Merge remote-tracking branch 'nickvergessen/feature/php-events-4' into develop
Diffstat (limited to 'phpBB/viewonline.php')
| -rw-r--r-- | phpBB/viewonline.php | 42 |
1 files changed, 36 insertions, 6 deletions
diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index 48362a9d67..15884a41d8 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -121,13 +121,30 @@ if (!$show_guests) } // Get user list -$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id - FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s - WHERE u.user_id = s.session_user_id +$sql_ary = array( + 'SELECT' => 'u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id', + 'FROM' => array( + USERS_TABLE => 'u', + SESSIONS_TABLE => 's', + ), + 'WHERE' => 'u.user_id = s.session_user_id AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) . - ((!$show_guests) ? ' AND s.session_user_id <> ' . ANONYMOUS : '') . ' - ORDER BY ' . $order_by; -$result = $db->sql_query($sql); + ((!$show_guests) ? ' AND s.session_user_id <> ' . ANONYMOUS : ''), + 'ORDER_BY' => $order_by, +); + +/** +* Modify the SQL query for getting the user data to display viewonline list +* +* @event core.viewonline_modify_sql +* @var array sql_ary The SQL array +* @var bool show_guests Do we display guests in the list +* @since 3.1-A1 +*/ +$vars = array('sql_ary', 'show_guests'); +extract($phpbb_dispatcher->trigger_event('core.viewonline_modify_sql', compact($vars))); + +$result = $db->sql_query($db->sql_build_query('SELECT', $sql_ary)); $prev_id = $prev_ip = $user_list = array(); $logged_visible_online = $logged_hidden_online = $counter = 0; @@ -320,6 +337,19 @@ while ($row = $db->sql_fetchrow($result)) break; } + /** + * Overwrite the location's name and URL, which are displayed in the list + * + * @event core.viewonline_overwrite_location + * @var array on_page File name and query string + * @var array row Array with the users sql row + * @var string location Page name to displayed in the list + * @var string location_url Page url to displayed in the list + * @since 3.1-A1 + */ + $vars = array('on_page', 'row', 'location', 'location_url'); + extract($phpbb_dispatcher->trigger_event('core.viewonline_overwrite_location', compact($vars))); + $template->assign_block_vars('user_row', array( 'USERNAME' => $row['username'], 'USERNAME_COLOUR' => $row['user_colour'], |
