Просмотр файла input.php

Размер файла: 3.47Kb
<?php
#---------------------------------------------#
#      ********* RotorCMS *********           #
#           Author  :  Vantuz                 #
#            Email  :  [email protected]     #
#             Site  :  http://visavi.net      #
#              ICQ  :  36-44-66               #
#            Skype  :  vantuzilla             #
#---------------------------------------------#
require_once ('includes/start.php');
require_once ('includes/functions.php');
require_once ('includes/header.php');

$act = (isset($_GET['act'])) ? check($_GET['act']) : 'index';
$domain = check_string($config['home']);

switch ($act):
############################################################################################
##                                       Авторизация                                      ##
############################################################################################
case 'index':

	$login = (isset($_REQUEST['login'])) ? check(utf_lower($_REQUEST['login'])) : '';
	$pass = (isset($_REQUEST['pass'])) ? md5(md5(trim($_REQUEST['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, '/', $domain);
					setcookie('cookpar', md5($pass.$config['keypass']), time() + 3600 * 24 * 365, '/', $domain, null, true);
				}

				$_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']));
				}

				notice('Вы успешно авторизованы!');
				redirect('/index.php');
			}
		}
	}

	notice('Ошибка авторизации. Неправильный логин или пароль!');
	redirect('/pages/login.php');
break;
############################################################################################
##                                           Выход                                        ##
############################################################################################
case 'exit':

	$_SESSION = array();
	setcookie('cookpar', '', time() - 3600, '/', $domain, null, true);
	setcookie(session_name(), '', time() - 3600, '/', '');
	session_destroy();

	redirect('/index.php');
break;

default:
	redirect('/index.php');
endswitch;
?>