Вход Регистрация
Файл: adultscript-2.0.3-pro/files/modules/user/components/profile.php
Строк: 125
<?php
defined
('_VALID') or die('Restricted Access!');
class 
VComponent_user_profile extends VModule_user
{
    public function 
__construct()
    {
        
parent::__construct();
    }
    
    public function 
render()
    {
        
VAuth::check('Registered');
        
        
$errors        = array();
        
$messages    = array();
        
$user_id     = (int) $_SESSION['user_id'];
        
$locked        = $this->is_locked($user_id);
        
$countries  = VCountry::get();
        
        if (
$locked) {
            
$errors[] = __('account-locked');
        }
        
        if (isset(
$_POST['submit-profile-edit']) && !$locked) {
            
$filter = VF::factory('filter');
            
$name           = $filter->get('name');
            
$birth_day      = $filter->get('Date_day', 'INTEGER');
            
$birth_month    = $filter->get('Date_month', 'INTEGER');
            
$birth_year     = $filter->get('Date_year', 'INTEGER');
            
$gender         = $filter->get('gender');
            
$relation       = $filter->get('relation');
            
$interested     = $filter->get('interested');
            
$country        = $filter->get('country');
            
$city           = $filter->get('city');
            
$zip            = $filter->get('zip');
            
$website        = $filter->get('website');
            
$company        = $filter->get('company');
            
$school         = $filter->get('school');
            
$occupation     = $filter->get('occupation');
            
$about          = $filter->get('about');
            
$hobbies        = $filter->get('hobbies');
            
$movies         = $filter->get('movies');
            
$music          = $filter->get('music');
            
$books          = $filter->get('books');
            
$turn_on        = $filter->get('turn_on');
            
$turn_off       = $filter->get('turn_off');

            
$birth_date = (isset($_SESSION['birth_date'])) ? $_SESSION['birth_date'] : '0000-00-00';
            if (
$birth_day !== 0 OR $birth_month !== 0 OR $birth_year !== 0) {
                if (
$birth_day === 0 OR $birth_month === 0 OR $birth_year === 0) {
                    
$errors[] = __('birthdate-imcomplete');
                } else {
                    if (!
checkdate($birth_month, $birth_day, $birth_year)) {
                        
$errors[] = __('birthdate-invalid');
                    } else {
                        
$birth_date = $birth_year.'-'.sprintf('%02d', $birth_month).'-'.sprintf('%02d', $birth_day);
                    }
                }
            }
            
            if (
$website != '') {
                if (!
VValid::url($website)) {
                      
$errors[] = __('website-invalid');
                }
            }

            if (
$gender != 'hidden') {
                if (!
in_array($gender, array('male', 'female'))) {
                      
$errors[] = __('gender-invalid');
                }
            }
            
            if (
$relation != 'hidden') {
                if (!
in_array($relation, array('single', 'taken', 'open'))) {
                      
$errors[] = __('relation-invalid');
                }
            }
            
            if (
$interested != 'hidden') {
                if (!
in_array($interested, array('boys', 'girls', 'boys+girls'))) {
                      
$errors[] = __('interested-invalid');
                }
            }
            
            if (
$country != '') {
                
$country = (isset($countries[$country])) ? $countries[$country] : '';
                if (
$country == '') {
                      
$errors[] = __('country-invalid');
                }
            }

            if (!
$errors) {
                
$this->db->query("UPDATE #__user
                            SET name = '"
.$this->db->escape($name)."',
                                birth_date = '"
.$this->db->escape($birth_date)."',
                                gender = '"
.$this->db->escape($gender)."',
                                relation = '"
.$this->db->escape($relation)."',
                                interested = '"
.$this->db->escape($interested)."',
                                country = '"
.$this->db->escape($country)."',
                                city = '"
.$this->db->escape($city)."',
                                zip = '"
.$this->db->escape($zip)."'
                            WHERE user_id = "
.$user_id."
                            LIMIT 1"
);
                
$this->db->query("UPDATE #__user_profile
                            SET about = '"
.$this->db->escape($about)."',
                                website = '"
.$this->db->escape($website)."',
                                occupation = '"
.$this->db->escape($occupation)."',
                                school = '"
.$this->db->escape($school)."',
                                company = '"
.$this->db->escape($company)."',
                                hobbies = '"
.$this->db->escape($hobbies)."',
                                movies = '"
.$this->db->escape($movies)."',
                                music = '"
.$this->db->escape($music)."',
                                books = '"
.$this->db->escape($books)."',
                                turn_on = '"
.$this->db->escape($turn_on)."',
                                turn_off = '"
.$this->db->escape($turn_off)."'
                            WHERE user_id = "
.$user_id."
                            LIMIT 1"
);
                            
                
$_SESSION['name']       = $name;
                
$_SESSION['birth_date'] = $birth_date;
                
$_SESSION['gender']     = $gender;
                
$_SESSION['country']    = $country;
                
$_SESSION['city']       = $city;
                
$_SESSION['zip']        = $zip;

                
$messages[] = __('profile-success');
            }
        }

        
$this->db->query("SELECT u.user_id, u.username, u.email, u.name, u.gender, u.relation, u.interested,
                           u.birth_date, u.country, u.city, u.zip, up.about, up.website, up.hobbies,
                           up.occupation, up.school, up.company, up.movies, up.music, up.books,
                           up.turn_on, up.turn_off
                    FROM #__user AS u
                    LEFT JOIN #__user_profile AS up ON (up.user_id = u.user_id)
                    WHERE u.user_id = "
.$user_id."
                    LIMIT 1"
);
        if (!
$this->db->affected_rows()) {
            throw new 
VException('Failed to load user data!');
        }
                  
        
$this->tpl->menu        = 'home';
        
$this->tpl->submenu         = 'user-profile';
        
$this->tpl->colmenu        = 'account';
        
        
$this->tpl->title        = __('profile-title');
        
$this->tpl->meta_title    = __('profile-meta-title');
        
        
$this->tpl->errors        = $errors;
        
$this->tpl->messages    = $messages;
        
$this->tpl->user        = $this->db->fetch_assoc();
        
$this->tpl->countries    = $countries;
        
        
$this->tpl->load(array('header', 'user_profile', 'footer'));
        
$this->tpl->display();
    }

    private function 
is_locked($user_id)
    {
        
$this->db->query("SELECT locked FROM #__user WHERE user_id = ".$user_id." LIMIT 1");
        if (
$this->db->affected_rows()) {
            return (bool) 
$this->db->fetch_field('locked');
        }

        
VModule::load('error', true);
    }    
}
Онлайн: 2
Реклама