function sn_autologin($abort = true) { global $config, $IsUserChecked; $lang = $GLOBALS['lang']; $time_now = $GLOBALS['time_now']; $IsUserChecked = false; if (!isset($_COOKIE[$config->COOKIE_NAME])) { return false; } $TheCookie = explode("/%/", $_COOKIE[$config->COOKIE_NAME]); $TheCookie[0] = intval($TheCookie[0]); $TheCookie[1] = mysql_real_escape_string($TheCookie[1]); $user = doquery("SELECT * FROM `{{users}}` WHERE `id` = '{$TheCookie[0]}' LIMIT 1;", '', true); if (!$user || md5("{$user['password']}--{$config->secret_word}") !== $TheCookie[2]) { setcookie($config->COOKIE_NAME, "", time() - 3600 * 25); if ($abort) { message($lang['err_cookie']); } return false; } sn_set_cookie($user, $TheCookie[3]); sys_user_options_unpack($user); $ip = sys_get_user_ip(); $user_agent = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']); doquery("UPDATE `{{users}}` SET `onlinetime` = '{$time_now}', `user_lastip` = '{$ip['client']}', `user_proxy` = '{$ip['proxy']}', `user_agent` = '{$user_agent}' WHERE `id` = '{$user['id']}' LIMIT 1;"); if (!$GLOBALS['skip_ban_check'] && $user['banaday']) { if ($user['banaday'] > $time_now) { $bantime = date(FMT_DATE_TIME, $user['banaday']); die("{$lang['sys_banned_msg']} {$bantime}"); } doquery("UPDATE {{users}} SET bana=0, `vacation` = '{$time_now}', banaday=0 WHERE id='{$user['id']}' LIMIT 1;"); } $IsUserChecked = is_array($user); return $user; }
function sys_log_hit() { if (!$GLOBALS['config']->game_counter || $GLOBALS['sys_stop_log_hit']) { return; } $GLOBALS['is_watching'] = true; $ip = sys_get_user_ip(); doquery("INSERT INTO {{counter}} (`time`, `page`, `url`, `user_id`, `ip`, `proxy`) VALUES ('{$GLOBALS['time_now']}', '{$_SERVER['PHP_SELF']}', '{$_SERVER['REQUEST_URI']}', '{$GLOBALS['user']['id']}', '{$ip['client']}', '{$ip['proxy']}');"); $GLOBALS['is_watching'] = false; }