Вход Регистрация
Файл: core/modules/login.php
Строк: 60
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (
$is_logged) {

    
$inSes->addMessage('Ошибка! Вы уже авторизованы', 'info');

    
redirect(gen_users($uset['uid'], 'start', '', RND));
}

if (!empty(
$_REQUEST['login'])) {

    
$row   = array();
    
$_user = !empty($_REQUEST['login']) ? check($_REQUEST['login']) : '';
    
$_pswd = !empty($_REQUEST['pass'])  ? check($_REQUEST['pass'])  : '';

    if (!empty(
$_user) && !empty($_pswd)) {

        if (@
count(explode('@', $_user)) != 2) {

            
$row = $db->selectRow("SELECT * FROM ?_users WHERE `users_login` = ? AND `users_pass` = MD5(MD5(?)) LIMIT 1;", $_user, $_pswd);
        }
        else {

            
$row = $db->selectRow("SELECT * FROM ?_users WHERE `users_email` = ? AND `users_pass` = MD5(MD5(?)) LIMIT 1;", $_user, $_pswd);
        }

        if (!empty(
$row) && is_array($row)) {

            
$_md5p = md5($_pswd); /* !!! Не изменять !!! */

            
$_uip  = substr(str_replace('.', '', $_SERVER['REMOTE_ADDR']), 0, 5);

            if (!empty(
$_POST['remember']) && $_POST['remember'] == 1) {

                
$inSes->setCookie('cooklog', $_user);
                
$inSes->setCookie('cookpar', $_md5p);
                
$inSes->setCookie('cookip', $_uip);
            }

            
$inSes->setCookie('cookname', $row['users_login']);

            
$_SESSION[SP]['log'] = $_user;
            
$_SESSION[SP]['par'] = $_md5p;
            
$_SESSION[SP]['uip'] = $_uip;

            
$db->query("UPDATE ?_users SET `users_visits` = (`users_visits` + 1), `users_timelastlogin` = ?
                        WHERE `users_id` = ? LIMIT 1"
, SITE_TIME, $row['users_id']);

            if (!empty(
$row['users_keypasswd']) || !empty($row['users_timepasswd'])) {

                
$db->query("UPDATE ?_users SET `users_keypasswd` = '', `users_timepasswd` = 0
                            WHERE `users_id` = ? LIMIT 1"
, $row['users_id']);
            }

            
del_vars('users_visit'); // Удаление кеша

            
if (!empty($config['allow_save_logs'])) { // Запись авторизаций

                
$db->query("INSERT INTO ?_users_login (`login_user`, `login_ip`, `login_brow`, `login_time`) 
                            VALUES (?, ?, ?, ?);"
, $_user, $ip, $brow, SITE_TIME);

                
$db->query("DELETE FROM ?_users_login WHERE `login_user` = ? AND `login_time` < (SELECT MIN(`login_time`) FROM (SELECT `login_time` FROM ?_users_login WHERE `login_user` = ? ORDER BY `login_time` DESC LIMIT 50) AS `del`);", $_user, $_user);

                
$_SESSION[SP]['show_login'] = 1;
            }

            
$inSes->addMessage(WelCome($_user) . ' Вы успешно авторизованы!', 'ok');

            
redirect(gen_users($row['users_id'], 'start', '', RND));
        }
        else {

            
// Save Log

            
$inSes->addMessage('Ошибка! Неправильный логин или пароль!');
            
gen_red('login', '', RND);
        }
    }
    else {

        
$inSes->addMessage('Ошибка! Неправильный логин или пароль!');
        
gen_red('login', '', RND);
    }
}

show_header('Авторизация');

$cookname = !empty($_COOKIE[CP]['cookname']) ? check($_COOKIE[CP]['cookname']) : '';

$form = new cmsForm(gen_uri('/login', '', RND));
$form->addText('Логин:', 'login', $cookname);
$form->addPassword('Пароль:', 'pass', '');
if (!empty(
$config['allow_cookies'])) $form->addCheckBox(array('', ' Запомнить меня'), 'remember');
$form->addHidden('auth', 1);
echo 
$form->Submit('Войти');
unset(
$form);

echo 
'<div class="bl text">Вы можете сделать закладку для быстрого входа, она будет иметь вид:<br />';
echo 
$config['site_url'] . '/' . gen_uri('login') . '?login=ВАШ_ЛОГИН&amp;pass=ВАШ_ПАРОЛЬ</div>';

echo 
'<div class="link"><a href="' . gen_uri('reg', '', RND) . '">Регистрация</a></div>';
echo 
'<div class="link"><a href="' . gen_uri('forgot', '', RND) . '">Забыли пароль?</a></div>';

?>
Онлайн: 0
Реклама