Util::memcacheFlush(); } else { $error = Session::update_user_light($conn, $login, $login_method, $user_name, $email, $company, $department, $language, $first_login, $is_admin, $tzone); if ($error == 0) { Util::memcacheFlush(); if ($is_my_profile && $language != $_SESSION['_user_language']) { $_SESSION['_user_language'] = $language; ossim_set_lang($language); $language_changed = TRUE; } $tzone_diff = Session::get_timezone($tzone); if ($is_my_profile && $_SESSION['_timezone'] != $tzone_diff) { $_SESSION['_timezone'] = $tzone_diff; $tzone_changed = TRUE; } Session_activity::force_user_logout($conn, $login); } else { $msg = 'unknown_error'; } } // Change Pass if ($error == 0 && $login_method != 'ldap' && !empty($pass1) && !empty($pass2)) { //Set new pass Session::change_pass($conn, $login, $pass1, NULL); Session::log_pass_history($login, hash('sha256', $pass1)); // Note: session_start will show an alert here. Calling to expire when back to users.php if (method_exists('Session_activity', 'expire_my_others_sessions')) { $exp_user = $login; } } // Special case LDAP
if ($user->get_id() == $my_session) { $me = "style='font-weight: bold;'"; $action = "<img class='info_logout dis_logout' src='../pixmaps/menu/logout.gif' alt='" . $user->get_login() . "' title='" . $user->get_login() . "'/>"; } else { $action = "<a onclick=\"logout('" . $user->get_id() . "');\">\n\t\t\t\t\t\t\t <img class='info_logout' src='../pixmaps/menu/logout.gif' alt='" . _('Logout') . " " . $user->get_login() . "' title='" . _('Logout') . " " . $user->get_login() . "'/>\n\t\t\t\t\t\t\t </a>"; $me = NULL; } $_country_aux = $geoloc->get_country_by_host($conn, $user->get_ip()); $s_country = strtolower($_country_aux[0]); $s_country_name = $_country_aux[1]; $geo_code = get_country($s_country); $flag = !empty($geo_code) ? "<img src='" . $geo_code . "' border='0' align='top'/>" : ''; $logon_date = gmdate('Y-m-d H:i:s', Util::get_utc_unixtime($user->get_logon_date()) + 3600 * Util::get_timezone()); $activity_date = Util::get_utc_unixtime($user->get_activity()); $background = Session_activity::is_expired($activity_date) ? 'background:#FFD8D6;' : ''; $expired = Session_activity::is_expired($activity_date) ? "<span style='color:red'>(" . _('Expired') . ")</span>" : ""; $agent = explode('###', $user->get_agent()); if ($agent[1] == 'av report scheduler') { $agent = array('AV Report Scheduler', 'wget'); } $host = @array_shift(Asset_host::get_name_by_ip($conn, $user->get_ip())); $host = $host == '' ? $user->get_ip() : $host; echo " <tr id='" . $user->get_id() . "'>\n\t\t\t\t\t\t\t\t\t<td class='ops_user' {$me}><img class='user_icon' src='" . get_user_icon($user->get_login(), $pro) . "' alt='" . _('User icon') . "' title='" . _('User icon') . "' align='absmiddle'/> " . $user->get_login() . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_ip'>" . $user->get_ip() . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_host'>" . $host . $flag . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_agent'><a title='" . htmlentities($agent[1]) . "' class='info_agent'>" . htmlentities($agent[0]) . "</a></td>\n\t\t\t\t\t\t\t\t\t<td class='ops_id'>" . $user->get_id() . " {$expired}</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_logon'>" . $logon_date . "</td>\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<td class='ops_activity'>" . _(TimeAgo($activity_date, gmdate('U'))) . "</td>\n\t\t\t\t\t\t\t\t\t<td class='ops_actions'>{$action}</td>\t\n\t\t\t\t\t\t\t\t</tr>"; } } ?> </tbody> </table> </div> </div>
require_once 'av_init.php'; require_once 'languages.inc'; Session::useractive('../session/login.php'); $conf = $GLOBALS['CONF']; /* Connect to db */ $db = new ossim_db(); $conn = $db->connect(); // Expire session $action = REQUEST('action'); if ($action == 'expire_session') { if (!Token::verify('tk_f_users', GET('token'))) { Token::show_error(); exit; } if (Session::userAllowed($user_id) > 1) { Session_activity::expire_my_others_sessions($conn, $user_id); } } /* Version */ $pro = Session::is_pro(); //Timezone $tzlist = timezone_identifiers_list(4095); sort($tzlist); //Login method list $lm_list = array('ldap' => _('LDAP'), 'pass' => _('PASSWORD')); //Entities and Templates $noentities = 0; $notemplates = 0; if ($pro) { $entity_list = Session::get_entities_to_assign($conn); if (count($entity_list) < 1) {
} /* Logout */ $action = REQUEST('action'); ossim_valid($action, OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _('Action')); if ($action == 'logout') { $c_user = Session::get_session_user(); if (!empty($c_user)) { $infolog = array($c_user, intval(REQUEST('timeout')) == 1 ? _('- Timeout expired') : ''); Log_action::log(2, $infolog); /* Logout from API - If there are more than one user with the same login in the system, we don't remove API cookie () */ //Update admin info list($db, $conn) = Ossim_db::get_conn_db(); $sa_list = Session_activity::get_list($conn, "WHERE login = '******'"); $db->close(); if (count($sa_list) == 1) { $client = new Alienvault_client(); $client->auth()->logout(); } } Session::logout(); exit; } /**************************************************** **************** Configuration Data **************** ****************************************************/ $conf = $GLOBALS['CONF']; if (!$conf) { $conf = new Ossim_conf();
} if (is_array($users_list) && !empty($users_list)) { foreach ($users_list as $k => $v) { $users[] = is_object($v) ? $v->get_login() : $v["login"]; } $where = "WHERE login in ('" . implode("','", $users) . "')"; } } else { $where = "WHERE login = '******'"; } $allowed_users = Session_activity::get_list($dbconn, $where . " ORDER BY activity desc"); foreach ($allowed_users as $user) { if ($user->get_id() == $id) { $flag_delete = true; break; } } if ($flag_delete) { $res1 = Session_activity::delete($id); $res2 = Session_activity::delete_session($id); } if ($res1 && $res2) { $data['status'] = 'OK'; $data['data'] = _("Logout successfully"); } else { $data['status'] = 'error'; $data['data'] = _("Logout unsuccessfully"); } $db->close($dbconn); echo json_encode($data); exit;
} $threshold_a = $host->get_threshold_a(); $threshold_c = $host->get_threshold_c(); $os = $host->get_os($conn); $mac = $host->get_mac_address($conn); $mac_vendor = $host->get_mac_vendor($conn); $coordinates = $host->get_coordinates(); $latitude = $coordinates['lat']; $longitude = $coordinates['lon']; $zoom = $coordinates['zoom']; $icon = $host->get_imgtag(); if (empty($latitude) || empty($longitude)) { $gi = geoip_open("/usr/share/geoip/GeoLiteCity.dat", GEOIP_STANDARD); $record = geoip_record_by_addr($gi, $ip); if (is_null($record)) { $record = geoip_record_by_addr($gi, Session_activity::getRealIpAddr()); } if (!is_null($record)) { $city = $record->city; $country = $record->country_name; $latitude = $record->latitude; $longitude = $record->longitude; } geoip_close($gi); } $num_sensors = count($sensors); } } /* services update */ if (GET('update') == 'services') { $conf = $GLOBALS["CONF"];