<?
/*
=============================================
Движок: SHCMS Engine
=============================================
Название файла: Авторизация
=============================================
Official website: http://shcms.ru
=============================================
*/
define('SHCMS', true);
include_once'../system/inc/system_core.php';
$shcmsengine['title'] = Lang::get('Авторизация на сайте');
include_once'../template/head.php';
if(!$m_engine['act_aut']) {
engine::errors(Lang::get("Авторизация временно отключено"));
include_once'../template/foot.php';
exit;
}
if(isset($user_id)){
header("Refresh:1; url=/index.php");
exit();
}
if(isset($_POST['submit'])) {
$submit = $_POST['submit'];
}
if(isset($submit)) {
if($_POST['login']) {
$login_aut = trim($_POST['login']);
}
if($_POST['email']) {
$email_aut = trim($_POST['email']) ;}
if($_POST['id']) {
$id_aut = trim($_POST['id']);
}
if($_REQUEST['password']) {
$password_aut = $_REQUEST['password'];
}
$user_mem = isset($_POST['save_co']) ? 1 : 0;
$user_code = isset($_POST['code']) ? trim($_POST['code']) : NULL;
if($m_engine['id_aut'] == 1)
{
if (!$id_aut)
{
engine::errors(Lang::get('Введите ID'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
}
elseif($m_engine['id_aut'] == 2)
{
if (!$email_aut)
{
engine::errors(Lang::get('Введите Email'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
}
elseif($m_engine['id_aut'] == 0)
{
if (!$login_aut)
{
engine::errors(Lang::get('Введите логин'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
}
if (($login_aut || $id) && !$password_aut)
{
engine::errors(Lang::get('Введите пороль'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
if ($login_aut && (strlen($login_aut) < 2 || strlen($login_aut) > 20))
{
engine::errors(Lang::get('Длина логина не должно превышать больше 20 символов'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
if ($password_aut && (strlen($password_aut) < 3 || strlen($password_aut) > 15))
{
engine::errors(Lang::get('Длина пороля не должно превышать больше 15 символов'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
/*
--------------------------------------
Капча. Разрещено отображать и скрывать
--------------------------------------
*/
if($m_engine['captcha_aut'] == 1)
{
if(isset($_POST['kod']))
{
$antibot = isset($_POST['kod']) ? trim($_POST['kod']) : '';
if (empty($antibot) || strlen($antibot) < 3)
{
engine::errors(Lang::get('Код безопастности не введен!'));
header('Refresh: 1; url=authorization.php?' . $conservation . '&' );
include_once'../template/foot.php';
exit();
}
elseif ($antibot != $_SESSION['code'])
{
engine::errors(Lang::get('Код безопасности не соответствует отображённому'));
header('Refresh: 1; url=authorization.php?' . $conservation . '&' );
include_once'../template/foot.php';
exit();
}
unset($_SESSION['code']);
}
}
/*
---------------------
Авторизация по ID
---------------------
*/
if($m_engine['id_aut'] == 1)
{
$sql = $id ? "`id` = '$id'" : "`id`='" . engine::rus_lat(strtolower($id_aut)) ."'";
}
/*
---------------------
Авторизация по Email
---------------------
*/
elseif($m_engine['id_aut'] == 2)
{
$sql = $id ? "`id` = '$id'" : "`email`='" . engine::rus_lat(strtolower($email_aut)) ."'";
}
/*
---------------------
Авторизация по Login
---------------------
*/
elseif($m_engine['id_aut'] == 0)
{
$sql = $id ? "`id` = '$id'" : "`login`='" . engine::rus_lat(strtolower($login_aut)) ."'";
}
$shcms_aut = mysql_query("SELECT * FROM `users` WHERE $sql LIMIT 1");
if (mysql_num_rows($shcms_aut))
{
$user = mysql_fetch_array($shcms_aut);
if (md5(md5($password_aut)) == $user['password'])
{
if ($_POST['save_co'] == 1) {
$COOKIE_ID = base64_encode($user['id']);
$COOKIE_PASS = md5($password_aut);
setcookie("COOKIE_ID", $COOKIE_ID, time() + 3600 * 24 * 365);
setcookie("COOKIE_PASS", $COOKIE_PASS, time() + 3600 * 24 * 365);
}
$_SESSION['SESSION_ID'] = $user['id'];
$_SESSION['SESSION_PASS'] = md5(md5($password_aut));
mysql_query("UPDATE `users` SET `browsers`='".engine::browser()."',`sestime` = '".time()."', `datelast` = ".time().",`ip` = '$vi_shcms',`os` = '$get_OS' WHERE `id` = '".$user['id']."' LIMIT 1");
mysql_query("INSERT INTO `logs_aut` (`user_id`,`port`,`ip`,`method`,`time`) VALUES ('$user[id]','$server_port','$vi_shcms','$method_logs','".time()."')");
if ($user['lastdate'] < (time() - 3600))
{
engine::correct(Lang::get('Вы успешно авторизованы'));
header("Refresh: 1; url=/index.php");
include_once'../template/foot.php';
exit();
}
}
else
{
engine::errors(Lang::get('Ошибка авторизации'));
header("Refresh: 1; url=?");
include_once'../template/foot.php';
exit();
}
}
else
{
engine::errors(Lang::get('Вы ввели неправильный логин и пороль'));
header('Refresh: 1; url=authorization.php?' . $conservation . '&' );
include_once'../template/foot.php';
exit();
}
}
else {
echo '<div class="maintitle mainrazd">'.Lang::get('Авторизация на сайте').'</div><div class="maintext">';
$form = new form('?');
if($m_engine['id_aut'] == 1){
$form->input(Lang::get('ID:'),'id','text',$id_aut,true,false,20);
}
elseif($m_engine['id_aut'] == 2){
$form->input(Lang::get('Email:'),'email','text',$email_aut,true,false,20);
}
elseif($m_engine['id_aut'] == 0){
$form->input(Lang::get('Логин:'),'login','text',$login_aut,true,false,20);
}
$form->input(Lang::get('Пароль:'),'password','password',false,true,false,20);
$form->input(false,'save_co','checkbox',1,true,false,false,Lang::get('Запомнить'));
$form->captcha('captcha_aut');
$form->submit(Lang::get('Войти'),'submit');
$form->finish();
echo '</div>';
echo '<div class="maintext">'.Lang::get('Если вы забыли пороль:').' <a href="flogged.php">'.Lang::get('Восстановить пороль').'</a></div>';
echo '<div class="maintext">'.Lang::get('Если у вас нет аккаунта:').' <a href="registration.php">'.Lang::get('Создать аккаунт').'</a></div>';
}
include_once'../template/foot.php';
?>