Вход Регистрация
Файл: 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 !== OR $birth_month !== OR $birth_year !== 0) {
                if (
$birth_day === OR $birth_month === 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);
    }    
}
Онлайн: 0
Реклама