Вход Регистрация
Файл: sys/inc/user.php
Строк: 52
<?php
    
/* *
     * Dcms-Fiera 3x
     */
$sessIdUser = isset($_SESSION['id_user']) ? $_SESSION['id_user'] : 0;

if (
$sessIdUser) {
    if (
$db->query('SELECT COUNT(*) FROM `user` WHERE `id`=?i', [$sessIdUser])->el() == 1) {
        
$user = get_user($sessIdUser);
        include_once 
H . 'sys/inc/shif.php';


        if (empty(
$_COOKIE['pass']) or empty($_COOKIE['id_user'])) {
            
setcookie('id_user', $user['id'], time()+60*60*24*365);
            
setcookie('pass', cookie_encrypt($user['pass'], $user['id']), time()+60*60*24*365);
        }

        
$timeactiv = time() - $user['date_last'];
        if (
$timeactiv < 120) {
            
$sqlup['timeactiv'] = ', `time`=`time`+' . $timeactiv;
            unset(
$nevtimeactiv, $timeactiv);
        } else {
            
$sqlup['timeactiv'] = '';
        }

        if (
$webbrowser) { # для web темы
          
if (is_dir(H . 'style/themes/' . $user['set_them2'])) {
              
$set['set_them'] = $user['set_them2'];
              
$sqlup['setthem'] = '';
          } else {
              
$sqlup['setthem'] = ', `set_them2`="' . $set['set_them'] . '"';
          }
        } else {
            if (
is_dir(H . 'style/themes/' . $user['set_them'])) {
                
$set['set_them'] = $user['set_them'];
                
$sqlup['setthem'] = '';
            } else {
                
$sqlup['setthem'] = ', `set_them`="' . $set['set_them'] . '"';
            }
        }
     
// перенесено из thead.php
    
if ($set['title'] != null) {
        
$url_title = ', `url_title`="' . $set['title'] . '"';
    } else {
        
$url_title = '';
    }
    
//
     
$where = $sqlup['timeactiv'] . $sqlup['setthem'] . $url_title;

        if (isset(
$ip2['add'])) {
            
$sqlup['ip'] = ip2long($ip2['add']);
        } else {
            
$sqlup['ip'] = 0;
        }
        if (isset(
$ip2['cl'])) {
            
$sqlup['ip_cl'] = ip2long($ip2['cl']);
        } else {
            
$sqlup['ip_cl'] = 0;
        }
        if (isset(
$ip2['xff'])) {
            
$sqlup['ip_xff'] = ip2long($ip2['xff']);
        } else {
            
$sqlup['ip_xff'] = 0;
        }
        if (
$ua) {
            
$sqlup['ua'] = $ua;
        } else {
            
$sqlup['ua'] = 'unknown';
        }

        
$sqlup['url'] = $_SERVER['REQUEST_URI'];
        
$hash = md5(md5($ip.md5($ua).$user['id']));
        
$pattern = 'UPDATE `user` SET `hash`=?, `date_last`=?i, `level`=?, `ip`=?i, `ip_cl`=?i, `ip_xff`=?i, `ua`=?, `url`=?, `sess`=? ?q  WHERE `id`=?i LIMIT ?i';
        
$data = [$hash, $time, $user['level'], $sqlup['ip'], $sqlup['ip_cl'], $sqlup['ip_xff'], $sqlup['ua'], $sqlup['url'], $sess, $where, $user['id'], 1];
        
$db->query($pattern, $data);
        
$user['type_input'] = 'session';

        unset(
$sqlup);
    }
} elseif (!isset(
$input_page) && isset($_COOKIE['id_user'], $_COOKIE['pass']) && $_COOKIE['id_user'] && $_COOKIE['pass']) {
    exit(
header('Location: /login.php?return=' . urlencode($_SERVER['REQUEST_URI']) . '&'));
}

// если аккаунт не активирован
if (isset($user['activation']) && $user['activation'] != null) {
    
$err[] = 'Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email, указанный при регистрации';
    unset(
$user);
}

if (isset(
$user)) {
    
//записываем посещание реферов
    
if (isset($user['type_input'], $ref['host'], $_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 (!
$db->query('SELECT COUNT(*) FROM `user_ref` WHERE `id_user`=?i AND `url`=?',
                        [
$user['id'], $ref['host']])->el()) {
            
$db->query('INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`)
VALUES (?i, ?i, ?, ?)'
, [time(), $user['id'], $user['type_input'], $ref['host']]);
        } else {
            
$db->query('UPDATE `user_ref` SET `time`=?i WHERE `id_user`=?i AND `url`=?',
                     [
time(), $user['id'], $ref['host']]);
        }
    }
    
// указываем число пунктов на страницу
    
if ($user['set_p_str'] != null) {
        
$set['p_str'] = $user['set_p_str'];
    }
    
// большие или маленткие иконки (вероятно будет удалено)
    
$set['set_show_icon'] = $user['set_show_icon'];

    
// бан пользователя
    
if (!isset($banpage)) {
        if (
$db->query('SELECT COUNT(*) FROM `ban` WHERE `id_user`=?i AND (`time`>?i OR `view`=?)',
                 [
$user['id'], time(), '0'])->el()) {
            exit(
header('Location: /ban.php?'));
        }
    }
} else {
    
// если веб тема то включаем ту что в админки указана
    
if ($webbrowser) {
        
$set['set_them']=$set['set_them2'];
    }
    
// записываем гостей
    
$sc = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : '/';
    if (
$ip && $ua) {
        if (
$db->query('SELECT COUNT(*) FROM `guests` WHERE `ip`=?i AND `ua`=? LIMIT ?i',
                        [
$iplong, $ua, 1])->el() == 1) {
            
$pattern = 'UPDATE `guests` SET `date_last`=?i, `url`=?, `pereh`=`pereh`+1 WHERE `ip`=?i AND `ua`=? LIMIT ?i';
            
$data = [time(), $sc, $iplong, $ua, 1];
            
$db->query($pattern, $data);
        } else {
            
$db->query("INSERT INTO `guests` (`ip`, `ua`, `date_aut`, `date_last`, `url`)
VALUES (?i, ?, ?i, ?i, ?)"
, [$iplong, $ua, time(), time(), $sc]);
        }
    }

    unset(
$access); // че за херня :-)?
}

//    Показ ошибок
if (isset($user) &&  $user['group_access'] > 1 && $set['show_err_php'] == 1) {
    
error_reporting(E_ALL);
    
ini_set('display_errors', true);
}

//    Включаем режим если гость кидаем на авторизацию
if (!isset($user) && $set['guest_select'] == 1 && !isset($show_all)) {
    exit(
header('Location: /aut.php'));
}

// Загрузка дополнительных плагинов
$Search = glob(H . 'sys/user_inc/*.php');
foreach (
$Search as $load_plugins) {
    
sort($Search);
    include_once 
$load_plugins;
}
Онлайн: 2
Реклама