<?php //login.php v5.0.5 setlocale(LC_ALL, 'ru_RU'); require_once 'config.php'; require_once 'lib5.php'; require_once OLIB_PATH . '/class.session.php'; require_once OLIB_PATH . '/class.cache.php'; define('USER_NAME', 'REMOTE_USER'); $tpl =& initFastTemplate(); $cache = new Cache(); $ses = new Session(true); $tpl->assign('MESSAGE', $ses->msg()); if ($ses->url()) { $target_url = $ses->url(); } else { $target_url = '/'; } if (isset($_POST['USERNAME']) || isset($_SERVER[USER_NAME])) { $ses->dispose('uid'); $usr = new User5(isset($_POST['USERNAME']) ? $_POST['USERNAME'] : $_SERVER[USER_NAME]); if ($usr->count > 0) { if (isset($_SERVER[USER_NAME]) || $_POST['PASS'] && strlen($_POST['PASS']) > 0 && $usr->checkPass($_POST['PASS'])) { $ses->uid($usr->samaccountname); $ses->login($usr->samaccountname); $ses->valueOf('cn', $usr->cn); $tar = array(); if ($usr->directreports) { $tar = $usr->fullName2account($usr->directreports); } else { $tar[] = $usr->samaccountname;
$prev_user_ids = array(); $prev_session_ips = array(); if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) { $time_out = time() - 300; $sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip" . get_user_table_field(", u.", "user_id") . get_user_table_field(", u.", "user_level") . get_user_table_field(", u.", "user_name") . get_user_table_field(", u.", "user_invisible") . "\n FROM " . SESSIONS_TABLE . " s\n LEFT JOIN " . USERS_TABLE . " u ON (" . get_user_table_field("u.", "user_id") . " = s.session_user_id)\n WHERE s.session_lastaction >= {$time_out}\n ORDER BY " . get_user_table_field("u.", "user_id") . " ASC, s.session_ip ASC"; $result = $site_db->query($sql); while ($row = $site_db->fetch_array($result)) { if ($row['session_user_id'] != GUEST && (isset($row[$user_table_fields['user_id']]) && $row[$user_table_fields['user_id']] != GUEST)) { if (!isset($prev_user_ids[$row['session_user_id']])) { $is_invisible = isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1 ? 1 : 0; $invisibleuser = $is_invisible ? "*" : ""; $username = isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1 ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']]; if (!$is_invisible || $user_info['user_level'] == ADMIN) { $user_online_list .= $user_online_list != "" ? ", " : ""; $user_profile_link = !empty($url_show_profile) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH . "member.php?action=showprofile&" . URL_USER_ID . "=" . $row['session_user_id']; $user_online_list .= "<a href=\"" . $site_sess->url($user_profile_link) . "\">" . $username . "</a>" . $invisibleuser; } !$is_invisible ? $num_visible_online++ : $num_invisible_online++; $num_registered_online++; } $prev_user_ids[$row['session_user_id']] = 1; } else { if (!isset($prev_session_ips[$row['session_ip']])) { $num_guests_online++; } } $prev_session_ips[$row['session_ip']] = 1; } $num_total_online = $num_registered_online + $num_guests_online; //$num_invisible_online = $num_registered_online - $num_visible_online; $site_template->register_vars(array("num_total_online" => $num_total_online, "num_invisible_online" => $num_invisible_online, "num_registered_online" => $num_registered_online, "num_guests_online" => $num_guests_online, "user_online_list" => $user_online_list, "lang_user_online" => str_replace('{num_total_online}', $num_total_online, $lang['user_online']), "lang_user_online_detail" => str_replace(array('{num_registered_online}', '{num_invisible_online}', '{num_guests_online}'), array($num_registered_online, $num_invisible_online, $num_guests_online), $lang['user_online_detail'])));
$prev_user_ids = array(); $prev_session_ips = array(); if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) { $time_out = time() - 300; $sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip" . get_user_table_field(", u.", "user_id") . get_user_table_field(", u.", "user_level") . get_user_table_field(", u.", "user_name") . get_user_table_field(", u.", "user_invisible") . "\n FROM " . SESSIONS_TABLE . " s\n LEFT JOIN " . USERS_TABLE . " u ON (" . get_user_table_field("u.", "user_id") . " = s.session_user_id)\n WHERE s.session_lastaction >= {$time_out}\n ORDER BY " . get_user_table_field("u.", "user_id") . " ASC, s.session_ip ASC"; $result = $site_db->query($sql); while ($row = $site_db->fetch_array($result)) { if ($row['session_user_id'] != GUEST && (isset($row[$user_table_fields['user_id']]) && $row[$user_table_fields['user_id']] != GUEST)) { if (!isset($prev_user_ids[$row['session_user_id']])) { $is_invisible = isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1 ? 1 : 0; $invisibleuser = $is_invisible ? "*" : ""; $username = isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1 ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']]; if (!$is_invisible || $user_info['user_level'] == ADMIN) { $user_online_list .= $user_online_list != "" ? ", " : ""; $user_profile_link = !empty($url_show_profile) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH . "member.php?action=showprofile&" . URL_USER_ID . "=" . $row['session_user_id']; $user_online_list .= "<a href=\"" . $site_sess->url($user_profile_link) . "\">" . str_replace(array("{", "}"), array("{", "}"), $username) . "</a>" . $invisibleuser; } !$is_invisible ? $num_visible_online++ : $num_invisible_online++; $num_registered_online++; } $prev_user_ids[$row['session_user_id']] = 1; } else { if (!isset($prev_session_ips[$row['session_ip']])) { $num_guests_online++; } } $prev_session_ips[$row['session_ip']] = 1; } $num_total_online = $num_registered_online + $num_guests_online; //$num_invisible_online = $num_registered_online - $num_visible_online; $site_template->register_vars(array("num_total_online" => $num_total_online, "num_invisible_online" => $num_invisible_online, "num_registered_online" => $num_registered_online, "num_guests_online" => $num_guests_online, "user_online_list" => $user_online_list, "lang_user_online" => str_replace('{num_total_online}', $num_total_online, $lang['user_online']), "lang_user_online_detail" => str_replace(array('{num_registered_online}', '{num_invisible_online}', '{num_guests_online}'), array($num_registered_online, $num_invisible_online, $num_guests_online), $lang['user_online_detail'])));