Файл: sys/inc/user.php
Строк: 69
<?php
if (isset($_SESSION['id_user']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$_SESSION[id_user]' LIMIT 1"), 0) == 1) {
$user = get_user($_SESSION['id_user']);
mysql_query("UPDATE `user` SET `date_last` = '$time' WHERE `id` = '$user[id]' LIMIT 1");
$user['type_input'] = 'session';
} elseif (!isset($input_page) && isset($_COOKIE['id_user']) && isset($_COOKIE['pass']) && $_COOKIE['id_user'] && $_COOKIE['pass']) {
header("Location: /login.php?return=" . urlencode($_SERVER['REQUEST_URI']) . "&$passgen");
exit;
}
if (isset($user['activation']) && $user['activation'] != NULL) { // если аккаунт не активирован
$err[] = 'Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email, указанный при регистрации';
unset($user);
}
if (isset($user)) {
$tmp_us = mysql_fetch_assoc(mysql_query("SELECT `level` FROM `user_group` WHERE `id` = '$user[group_access]' LIMIT 1"));
$user['level'] = $tmp_us['level'];
// Добавление отсутствующих полей
if (!isset($user['activation'])) {
mysql_query('ALTER TABLE `user` ADD `activation` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `sess`');
}
if (isset($user['type_input']) && isset($_SERVER['HTTP_REFERER']) && !preg_match('#' . preg_quote($_SERVER['HTTP_HOST']) . '#', $_SERVER['HTTP_REFERER']) && preg_match('#^https?://#i', $_SERVER['HTTP_REFERER']) && $ref = @parse_url($_SERVER['HTTP_REFERER'])) {
if (isset($ref['host'])) {
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user_ref` WHERE `id_user` = '$user[id]' AND `url` = '" . mysql_real_escape_string($ref['host']) . "'"), 0) == 0) {
mysql_query("INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`) VALUES ('$time', '$user[id]', '$user[type_input]', '" . mysql_real_escape_string($ref['host']) . "')");
} else {
mysql_query("UPDATE `user_ref` SET `time` = '$time' WHERE `id_user` = '$user[id]' AND `url` = '" . mysql_real_escape_string($ref['host']) . "'");
}
}
}
if (!isset($user['autorization'])) {
mysql_query("ALTER TABLE `user` ADD `autorization` SET( '0', '1' ) NOT NULL DEFAULT '0'");
}
if (!isset($user['ip_cl'])) {
mysql_query("ALTER TABLE `user` ADD `ip_cl` BIGINT( 20 ) NOT NULL AFTER `ip` , ADD `ip_xff` BIGINT( 20 ) NOT NULL AFTER `ip_cl`");
}
if ($user['set_time_chat']) {
$set['time_chat'] = (int) $user['set_time_chat'];
}
if ($user['set_p_str']) {
$set['p_str'] = (int) $user['set_p_str'];
}
if (IS_WEB) { // для web темы
if (is_dir(H . 'style/themes/' . $user['set_them2'])) {
$set['set_them'] = $user['set_them2'];
} else {
mysql_query("UPDATE `user` SET `set_them2` = '$set[set_them2]' WHERE `id` = '$user[id]' LIMIT 1");
}
} else {
if (is_dir(H . 'style/themes/' . $user['set_them'])) {
$set['set_them'] = $user['set_them'];
} else {
mysql_query("UPDATE `user` SET `set_them` = '$set[set_them]' WHERE `id` = '$user[id]' LIMIT 1");
}
}
if (isset($user) && isset($_GET['sort']) && ($_GET['sort'] == '0' || $_GET['sort'] == '1')) {
mysql_query("update `user` set `sort` = '$_GET[sort]' where `id` = '$user[id]' limit 1");
header('Location: ' . htmlspecialchars($_SERVER['HTTP_REFERER']));
}
if (isset($user)) {
$sort = ($user['sort'] == 1 ? ' ASC ' : ' DESC ');
} else {
$sort = 'DESC';
}
if (isset($user) && $user['sort'] == 1) {
$pageEnd = 'end';
} else {
$pageEnd = '1';
}
// бан пользователя
if (!isset($banpage) && mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user[id]' AND (`time` > '$time' OR `view` = '0')"), 0)) {
header('Location: /ban.php?' . SID);
exit;
}
if (isset($ip2['add'])) {
mysql_query("UPDATE `user` SET `ip` = " . ip2long($ip2['add']) . " WHERE `id` = '$user[id]' LIMIT 1");
} else {
mysql_query("UPDATE `user` SET `ip` = null WHERE `id` = '$user[id]' LIMIT 1");
}
if (isset($ip2['cl'])) {
mysql_query("UPDATE `user` SET `ip_cl` = " . ip2long($ip2['cl']) . " WHERE `id` = '$user[id]' LIMIT 1");
} else {
mysql_query("UPDATE `user` SET `ip_cl` = null WHERE `id` = '$user[id]' LIMIT 1");
}
if (isset($ip2['xff'])) {
mysql_query("UPDATE `user` SET `ip_xff` = " . ip2long($ip2['xff']) . " WHERE `id` = '$user[id]' LIMIT 1");
} else {
mysql_query("UPDATE `user` SET `ip_xff` = null WHERE `id` = '$user[id]' LIMIT 1");
}
if ($ua) {
mysql_query("UPDATE `user` SET `ua` = '" . mysql_real_escape_string($ua) . "' WHERE `id` = '$user[id]' LIMIT 1");
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `notification_set` WHERE `id_user` = '$user[id]'"), 0) == 0) {
mysql_query("INSERT INTO `notification_set` (`id_user`) VALUES ('$user[id]')");
}
mysql_query("UPDATE `user` SET `url` = '" . mysql_real_escape_string($_SERVER['SCRIPT_NAME']) . "' WHERE `id` = '$user[id]' LIMIT 1");
mysql_query("UPDATE `user` SET `sess` = '$sess' WHERE `id` = '$user[id]' LIMIT 1");
if (isset($sess{32})) {
$collision_q = mysql_query("SELECT * FROM `user` WHERE `sess` = '$sess' AND `id` <> '$user[id]'");
while ($collision = mysql_fetch_assoc($collision_q)) {
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user_collision` WHERE `id_user` = '$user[id]' AND `id_user2` = '$collision[id]' OR `id_user2` = '$user[id]' AND `id_user` = '$collision[id]'"), 0) == 0) {
mysql_query("INSERT INTO `user_collision` (`id_user`, `id_user2`, `type`) values('$user[id]', '$collision[id]', 'sess')");
}
}
}
} else {
if (IS_WEB) {
$set['set_them'] = $set['set_them2'];
}
if ($ip && $ua) {
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `guests` WHERE `ip` = '$iplong' AND `ua` = '" . mysql_real_escape_string($ua) . "' LIMIT 1"), 0) == 1) {
$guests = mysql_fetch_assoc(mysql_query("SELECT * FROM `guests` WHERE `ip` = '$iplong' AND `ua` = '" . mysql_real_escape_string($ua) . "' LIMIT 1"));
mysql_query("UPDATE `guests` SET `date_last` = '$time', `url` = '" . mysql_real_escape_string($_SERVER['SCRIPT_NAME']) . "', `pereh` = '" . ($guests['pereh'] + 1) . "' WHERE `ip` = '$iplong' AND `ua` = '" . mysql_real_escape_string($ua) . "' LIMIT 1");
} else {
mysql_query("INSERT INTO `guests` (`ip`, `ua`, `date_aut`, `date_last`, `url`) VALUES ('$iplong', '" . mysql_real_escape_string($ua) . "', '" . time() . "', '" . time() . "', '" . mysql_real_escape_string($_SERVER['SCRIPT_NAME']) . "')");
}
}
unset($access);
}
if (!isset($user) || $user['level'] == 0) {
@error_reporting(0);
@ini_set('display_errors', false);
if (function_exists('set_time_limit')) {
set_time_limit(20);
}
}
if (!isset($user) && $set['guest_select'] == '1' && !isset($show_all)) {
header("Location: /aut.php");
exit;
}