Вход Регистрация
Файл: adultscript-2.0.3-pro/files/modules/user/helpers/login.php
Строк: 67
<?php
defined
('_VALID') or die('Restricted Access!');
class 
VHelper_user_login
{
    public static function 
login($username$password$remember 0$cookie false$url null)
    {
        
$db        VF::factory('database');
        
$where    = ($cookie
            ? 
"MD5(u.username) = '".$db->escape($username)."'"
            
"u.username = '".$db->escape($username)."'";
        
        
$db->query("SELECT u.user_id, u.group_id, u.username, u.password, u.email, u.name, u.gender, u.birth_date,
                           u.country, u.city, u.zip, u.avatar, u.login_date, u.verified, u.status,
                           p.start_date, p.end_date, p.credit, p.status as pstatus
                    FROM #__user AS u
                    LEFT JOIN #__user_premium AS p ON (p.user_id = u.user_id)
                    WHERE "
.$where."
                    LIMIT 1"
);
        if (
$db->affected_rows()) {
              
$user   $db->fetch_assoc();
            
$passed    false;
            
            if (!
$cookie && VHash::check($password$user['password'])) {
                  
$passed true;
            } elseif (
$cookie && $password == $user['password']) {
                
$passed true;
            }
            
            if (
$passed) {
                
$status = (int) $user['status'];
                if (
$status === 0) {
                      return 
__('account-suspended');
                } elseif (
$status === 2) {
                      return 
__('account-approve');
                } elseif (
$user['verified'] == '0' && VCfg::get('user.user_confirm')) {
                      return 
__('account-confirm');
                } else {
                    
$date                   date('Y-m-d h:i:s');
                    
$time                   time();
                    
$ip                        VServer::ip(true);
                    
$user_id                = (int) $user['user_id'];

                    
$_SESSION['user_id']    = (int) $user_id;
                    
$_SESSION['group_id']   = (int) $user['group_id'];
                    
$_SESSION['username']   = $user['username'];
                    
$_SESSION['email']      = $user['email'];
                    
$_SESSION['name']       = $user['name'];
                    
$_SESSION['gender']     = $user['gender'];
                    
$_SESSION['birth_date'] = $user['birth_date'];
                    
$_SESSION['avatar']     = $user['avatar'];
                    
$_SESSION['country']    = $user['country'];
                    
$_SESSION['city']       = $user['city'];
                    
$_SESSION['zip']        = $user['zip'];
                    
$_SESSION['login_date'] = $user['login_date'];
                    
$_SESSION['verified']   = (int) $user['verified'];
                    
$_SESSION['status']     = $status;
                    
$_SESSION['credit']     = $user['credit'];
                    
$_SESSION['start_date'] = $user['start_date'];
                    
$_SESSION['end_date']   = $user['end_date'];
                    
$_SESSION['pstatus']    = $user['pstatus'];
                    
$_SESSION['message']    = __('welcome').' '.$user['username'].'!';
                    
                    if (
VModule::enabled('premium')) {
                          
$system VCfg('payment.system');
                        if (
$system == 'subscription' && $user['group_id'] == VAuth::get_group_id('Premium')) {
                            
$end_time   strtotime($user['end_date']);
                            if (
$end_time $time OR empty($user['pstatus'])) {
                                
$group_id   VAuth::get_group_id('Registered');
                                
$db->query("UPDATE #__user
                                            SET group_id = "
.$group_id."
                                            WHERE user_id = "
.$user_id."
                                            LIMIT 1"
);

                                
$_SESSION['group_id'] = $group_id;
                            }
                                    
                            
$db->query("SELECT user_id
                                        FROM #__user_premium_ips
                                        WHERE user_id = "
.(int) $user_id."
                                        AND ip = "
.$ip."
                                        LIMIT 1"
);
                            if (!
$db->affected_rows()) {
                                
$db->query("INSERT INTO #__user_premium_ips
                                            SET user_id = "
.(int) $user_id.",
                                                ip = "
.$ip);
                            }
                        }
                    }
                            
                    if (
VCfg::get('user.user_points') == '1') {
                        
VHelper::load('module.user.points');
                        
VHelper_user_points::add((int) $_SESSION['user_id'], 'login');
                    }
                            
                    if (isset(
$remember) && $remember == '1') {
                        
VCookie::set('username'md5($user['username']), (30*86400));
                        
VCookie::set('password'$user['password'], (30*86400));
                    }
                    
                    
$db->query("UPDATE #__user
                                SET login_ip = "
.$ip.",
                                    login_date = '"
.$date."',
                                    online = "
.$time."
                                WHERE user_id = "
.$_SESSION['user_id']."
                                LIMIT 1"
);
                                
                    return 
true;
                  }
            }
        }
        
        return 
__('login-failed');
    }
}
Онлайн: 3
Реклама