// View or edit? if ($panther_user['id'] != $id && !in_array($section, array('rep_received', 'rep_given', 'view')) && (!$panther_user['is_admmod'] || !$panther_user['is_admin'] && ($panther_user['g_mod_edit_users'] == '0' || $user['g_id'] == PANTHER_ADMIN || $user['g_moderator'] == '1')) || $section == 'view') { $user_personal = array(); if ($panther_config['o_users_online'] == '1') { require PANTHER_ROOT . 'lang/' . $panther_user['language'] . '/online.php'; $data = array(':id' => $id); $ps = $db->select('online', 'currently', $data, 'user_id=:id'); $online = $ps->fetch(); if ($online['currently'] == NULL || $online['currently'] == '') { $icon = 'status_offline'; $status = $lang_online['user is offline']; $location = $lang_online['not online']; } else { $icon = 'status_online'; $status = $lang_online['user is online']; $location = generate_user_location($online['currently']); } } $user_personal[] = array('title' => $lang_common['Username']); $user_personal[] = array('data' => colourize_group($user['username'], $user['g_id']), 'raw' => true, 'icon' => $panther_config['o_image_dir'] . $icon . '.png', 'icon_title' => $status); $user_title_field = get_title($user); $user_personal[] = array('title' => $lang_common['Title']); $user_personal[] = array('data' => $panther_config['o_censoring'] == '1' ? censor_words($user_title_field) : $user_title_field); if ($user['realname'] != '') { $user_personal[] = array('title' => $lang_profile['Realname']); $user_personal[] = array('data' => $panther_config['o_censoring'] == '1' ? censor_words($user['realname']) : $user['realname']); } if ($user['location'] != '') { $user_personal[] = array('title' => $lang_profile['Location']); $user_personal[] = array('data' => $panther_config['o_censoring'] == '1' ? censor_words($user['location']) : $user['location']); }
$start_from = $panther_user['disp_posts'] * ($p - 1); ($hook = get_extensions('online_before_header')) ? eval($hook) : null; $page_title = array($panther_config['o_board_title'], $lang_online['viewing online']); define('PANTHER_ACTIVE_PAGE', 'online'); require PANTHER_ROOT . 'header.php'; $bots = $online = array(); $ps = $db->run('SELECT o.user_id, o.ident, o.currently, o.logged, u.group_id FROM ' . $db->prefix . 'online AS o INNER JOIN ' . $db->prefix . 'users AS u ON o.user_id=u.id WHERE o.idle=0'); foreach ($ps as $panther_user_online) { if (strpos($panther_user_online['ident'], '[Bot]') !== false) { $name = explode('[Bot]', $panther_user_online['ident']); if (empty($bots[$name[1]])) { $bots[$name[1]] = 1; } else { ++$bots[$name[1]]; } foreach ($bots as $online_name => $online_id) { $ident = $online_name . ' [Bot]'; } } else { if ($panther_user_online['user_id'] == 1) { $ident = $lang_common['Guest']; } else { $ident = $panther_user_online['ident']; } } $online[] = array('username' => colourize_group($ident, $panther_user_online['group_id'], $panther_user_online['user_id']), 'location' => generate_user_location($panther_user_online['currently']), 'last_active' => format_time_difference($panther_user_online['logged'], $lang_online)); } $tpl = load_template('online.tpl'); echo $tpl->render(array('pagination' => paginate($num_pages, $p, $panther_url['online']), 'lang_online' => $lang_online, 'lang_common' => $lang_common, 'users_online' => $online, 'num_pages' => $num_pages)); ($hook = get_extensions('online_after_display')) ? eval($hook) : null; require PANTHER_ROOT . 'footer.php';
foreach ($ps as $user_data) { $total = 0; $forums = array(); foreach ($panther_forums as $cur_forum) { $forum_moderators = $cur_forum['moderators'] != '' ? unserialize($cur_forum['moderators']) : array(); if (!isset($perms[$panther_user['g_id'] . '_' . $cur_forum['id']])) { $perms[$panther_user['g_id'] . '_' . $cur_forum['id']] = $perms['_']; } if (in_array($user_data['id'], $forum_moderators) && ($perms[$panther_user['g_id'] . '_' . $cur_forum['id']]['read_forum'] == '1' || is_null($perms[$panther_user['g_id'] . '_' . $cur_forum['id']]['read_forum']))) { $forums[] = array('forum_id' => $cur_forum['id'], 'forum_name' => $cur_forum['forum_name']); ++$total; } } $moderators[$user_data['id']] = array('username' => colourize_group($user_data['username'], $user_data['group_id'], $user_data['id']), 'total' => $total, 'forums' => $forums); if ($panther_config['o_users_online'] == '1') { $moderators[$user_data['id']]['location'] = generate_user_location($user_data['currently'], $lang_online, $user_data['username']); } } $tpl = load_template('leaders.tpl'); echo $tpl->render(array('lang_online' => $lang_online, 'lang_common' => $lang_common, 'global_moderators' => $global_moderators, 'administrators' => $administrators, 'moderators' => $moderators, 'action' => panther_link($panther_url['forum_noid']), 'panther_config' => $panther_config, 'location' => panther_link($panther_url['forum'], array("'+this.options[this.selectedIndex].value)+'", 'forum-name')))); require PANTHER_ROOT . 'footer.php'; } else { message($lang_common['Bad request'], false, '404 Not Found'); } } } } } } } }