<?php
#-----------------------------------------------------#
# ********* ROTORCMS ********* #
# Made by : VANTUZ #
# E-mail : [email protected] #
# Site : http://pizdec.ru #
# WAP-Site : http://visavi.net #
# ICQ : 36-44-66 #
# Вы не имеете право вносить изменения в код скрипта #
# для его дальнейшего распространения #
#-----------------------------------------------------#
require_once ('includes/start.php');
require_once ('includes/functions.php');
require_once ('includes/header.php');
if (isset($_GET['act'])) {
$act = check($_GET['act']);
} else {
$act = 'index';
}
switch ($act):
############################################################################################
## Авторизация ##
############################################################################################
case 'index':
if (isset($_POST['login'])) {
$login = check(utf_lower($_POST['login']));
} else {
$login = check(utf_lower($_GET['login']));
}
if (isset($_POST['pass'])) {
$pass = md5(md5($_POST['pass']));
} else {
$pass = md5(md5($_GET['pass']));
}
if (!empty($_POST['cookietrue']) || !empty($_GET['login'])) {
$cookietrue = 1;
}
if (!empty($login) && !empty($pass)) {
$udata = DB::run() -> queryFetch("SELECT `users_login`, `users_pass` FROM `users` WHERE LOWER(`users_login`)=? OR LOWER(`users_nickname`)=? LIMIT 1;", array($login, $login));
if (!empty($udata)) {
if ($pass == $udata['users_pass']) {
if (!empty($cookietrue)) {
setcookie("cooklog", $udata['users_login'], time() + 3600 * 24 * 365, '/', '');
setcookie("cookpar", md5($pass.$config['keypass']), time() + 3600 * 24 * 365, '/', '');
}
$_SESSION['log'] = $udata['users_login'];
$_SESSION['par'] = md5($config['keypass'].$pass);
$_SESSION['my_ip'] = $ip;
DB::run() -> query("UPDATE `users` SET `users_visits`=`users_visits`+1, `users_timelastlogin`=? WHERE `users_login`=?", array(SITETIME, $udata['users_login']));
$authorization = DB::run() -> querySingle("SELECT `login_id` FROM `login` WHERE `login_user`=? AND `login_time`>? LIMIT 1;", array($udata['users_login'], SITETIME-30));
if (empty($authorization)) {
DB::run() -> query("INSERT INTO `login` (`login_user`, `login_ip`, `login_brow`, `login_time`, `login_type`) VALUES (?, ?, ?, ?, ?);", array($udata['users_login'], $ip, $brow, SITETIME, 1));
DB::run() -> query("DELETE FROM `login` WHERE `login_user`=? AND `login_time` < (SELECT MIN(`login_time`) FROM (SELECT `login_time` FROM `login` WHERE `login_user`=? ORDER BY `login_time` DESC LIMIT 50) AS del);", array($udata['users_login'], $udata['users_login']));
}
$_SESSION['note'] = 'Вы успешно авторизованы!';
redirect($config['home'].'/index.php?'.SID);
}
}
}
$_SESSION['note'] = 'Ошибка авторизации. Неправильный логин или пароль!';
redirect($config['home'].'/pages/login.php');
break;
############################################################################################
## Авторизация через VK ##
############################################################################################
case 'vk':
## Данные которые надо заменить на свои !!! ##
$client_id = '4128424'; // ID приложения
$client_secret = '69irHh9DVWKKcRBYsdKL'; // Защищённый ключ
$redirect_uri = 'http://site.ru/input.php?act=vk'; // Адрес сайта
## Дальше ничего не трогать !!! ##
$url = 'http://oauth.vk.com/authorize';
$params = array(
'client_id' => $client_id,
'redirect_uri' => $redirect_uri,
'response_type' => 'code'
);
if (isset($_GET['code'])) {
$result = false;
$params = array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
);
$token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
if (isset($token['access_token'])) {
$params = array(
'uids' => $token['user_id'],
'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_medium',
'access_token' => $token['access_token']
);
$userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
if (isset($userInfo['response'][0]['uid'])) {
$userInfo = $userInfo['response'][0];
$result = true;
}
}
if ($result) {
$reglogin = DB::run() -> querySingle("SELECT `users_id` FROM `users` WHERE lower(`users_login`)=? LIMIT 1;", array(strtolower($userInfo['uid'])));
if (empty($reglogin)) {
$mail = $userInfo['uid'].'@mail.ru';
$password = generate_password(rand(6,8));
DB::run() -> query("INSERT INTO `users` (`users_login`, `users_pass`, `users_email`, `users_joined`, `users_level`, `users_gender`, `users_newprivat`, `users_themes`, `users_postguest`, `users_postnews`, `users_postprivat`, `users_postforum`, `users_themesforum`, `users_postboard`, `users_timezone`, `users_showtime`, `users_point`, `users_money`, `users_timelastlogin`, `users_confirmreg`, `users_nickname`, `users_navigation`,`users_picture`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", array($userInfo['uid'], md5(md5($password)), $mail, SITETIME, 107, $userInfo['sex'], 1, $config['themes'], $config['bookpost'], $config['postnews'], $config['privatpost'], $config['forumpost'], $config['forumtem'], $config['boardspost'], $config['timezone'], $config['showtime'], 0, 1000, SITETIME, $config['regkeys'], $userInfo['first_name'] . ' ' . $userInfo['last_name'], $config['navigation'], $userInfo['uid'].'.jpg'));
$textpriv = 'Добро пожаловать,' . $userInfo['first_name'] . ' ' . $userInfo['last_name'] . '!<br />Теперь Вы полноправный пользователь сайта, ваш пароль '.$password.' и временный mail '.$mail.', они пригодятся вам для изменеия настроек.<br />Перед посещением сайта рекомендуем вам ознакомиться с [url='.$config['home'].'/pages/rules.php?'.SID.']правилами сайта[/url], это поможет Вам избежать неприятных ситуаций.<br />Желаем приятно провести время.<br />С уважением, администрация сайта';
DB::run() -> query("INSERT INTO `inbox` (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`) VALUES (?, ?, ?, ?);", array($userInfo['uid'], $config['nickname'], $textpriv, SITETIME));
save_usermail();
}
$regpass = DB::run() -> queryFetch('SELECT `users_pass` FROM `users` WHERE `users_login` = '.$userInfo['uid'].' LIMIT 1');
setcookie("cooklog", $userInfo['uid'], time() + 3600 * 24 * 365, '/', '');
setcookie("cookpar", md5($regpass['users_pass'].$config['keypass']), time() + 3600 * 24 * 365, '/', '');
copy($userInfo['photo_medium'], 'upload/photos/'.$userInfo['uid'].'.jpg');
$_SESSION['note'] = 'Вы успешно авторизованы!';
$_SESSION['log'] = $userInfo['uid'];
$_SESSION['par'] = md5($config['keypass'].$regpass['users_pass']);
$_SESSION['my_ip'] = $ip;
redirect($config['home'].'/index.php');
}
}
break;
############################################################################################
## Выход ##
############################################################################################
case 'exit':
$_SESSION = array();
setcookie('cookpar', '', 0, '/', '');
setcookie(session_name(), '', 0, '/', '');
session_unset();
session_destroy();
redirect($config['home'].'/index.php');
break;
default:
redirect($config['home'].'/index.php');
endswitch;
?>