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

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

function 
del_avatars($login '') {

    if (
file_exists(ROOTPATH '/upload/avatars/' $login '.gif')) {

        
unlink (ROOTPATH '/upload/avatars/' $login '.gif');
    }
    if (
file_exists(ROOTPATH '/upload/avatars/' $login '.jpg')) {

        
unlink (ROOTPATH '/upload/avatars/' $login '.jpg');
    }
    if (
file_exists(ROOTPATH '/upload/avatars/' $login '.png')) {

        
unlink (ROOTPATH '/upload/avatars/' $login '.png');
    }
    return 
true;
}

if (
$is_logged) {

    
$onpage = !empty($config['user_list']) ? $config['user_list'] : 10;

    switch (
$mod):
    default:

    if (!empty(
$_GET['select'])) {

        
$id num($_GET['select']);

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (
is_file(ROOTPATH '/images/avatars/' $id '.gif')) {

                if (
$uset['users_avatar'] != '/images/avatars/' $id '.gif') {

                    
$db->query("UPDATE ?_users SET `users_avatar` = ? WHERE `users_login` = ?;"'/images/avatars/' $id '.gif'$log);

                    
del_vars('users_avatars');
                    
$rows $db->select("SELECT `users_login`, `users_avatar` FROM ?_users");
                    
$arr  = array();
                    foreach(
$rows as $row$arr[$row['users_login']] = $row['users_avatar'];
                    
set_vars('users_avatars'$arr);
                    
del_avatars($log);

                    
$inSes->addMessage('Аватар успешно выбран!''ok');
                }
                else 
$inSes->addMessage('Ошибка! Вы уже выбрали это аватар!');
            }
            else 
$inSes->addMessage('Ошибка! Такого аватара не существует!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    
show_header('Галерея аватаров');

    echo 
'<div class="b"><b>Выбрать</b> | ';
    echo 
'<a href="' gen_uri('buy_avatars') . '">Купить</a> | ';
    echo 
'<a href="' gen_uri('load_avatars') . '">Загрузить</a><br /></div>';

    
$array_avators = array();
    
$globavatars glob(ROOTPATH '/images/avatars/*.gif');
    foreach(
$globavatars as $filename) {

        if (
basename($filename) == 'noavatar.gif' || basename($filename) == 'guest.gif') continue;
        
$array_avators[] = basename($filename);
    }

    
$total = @count($array_avators);

    if (
$total 0) {

        
$start = ($page 1) * $onpage;
        if (
$start 0$start 0
        if (
$start $total 1$start $total 1;
        
$stop $start $onpage;
        if (
$stop $total$stop $total;

        for (
$i $start$i $stop$i++) {

            
$aid = (int) str_replace('.gif'''$array_avators[$i]);
            echo 
'<div class="b"><img src="' $config['site_url'] . '/images/avatars/' $array_avators[$i] . '" alt="" /> ';
            echo 
'<a href="?select=' $aid '&amp;rnd=' $_SESSION['token'] . '">Выбрать</a><br /></div>';
        }

        echo 
show_pages('avatars'RND'p');

        echo 
'<div class="b">';
        echo 
'Выберите понравившийся вам аватар<br />';
        echo 
'Cейчас ваш аватар: ' user_avatars($log) . '<br /><br />';
        echo 
'Всего аваторов: <b>' $total '</b><br /></div>';
    }
    else {

        
show_error('К сожалению аватаров пока нет!');
    }

    break;
    case 
'buy_avatars':

    if (!empty(
$_GET['buy'])) {

        
$id num($_GET['buy']);

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (
is_file(ROOTPATH '/images/avatars2/' $id '.gif')) {

                if (
$uset['users_avatar'] != '/images/avatars2/' $id '.gif') {

                    if (
$uset['users_money'] >= $config['avatar_pay']) {

                        
$db->query("UPDATE ?_users SET `users_money` = (`users_money` - ?), `users_avatar` = ?
                                    WHERE `users_login` = ?;"
$config['avatar_pay'], '/images/avatars2/' $id '.gif'$log);

                        
del_vars('users_avatars');
                        
$rows $db->select("SELECT `users_login`, `users_avatar` FROM ?_users");
                        
$arr  = array();
                        foreach(
$rows as $row$arr[$row['users_login']] = $row['users_avatar'];
                        
set_vars('users_avatars'$arr);
                        
del_avatars($log);

                        
set_users_shop($log'Покупка аватара''avatar'$config['avatar_pay']);

                        
$inSes->addMessage('Аватар успешно куплен!<br />' .
                        
'C вашего счета списано ' moneys($config['avatar_pay']), 'ok');

                        
gen_red('buy_avatars');
                    }
                    else {
                        
$inSes->addMessage('Ошибка! Недостаточно средств на счету!');
                    }
                }
                else {
                    
$inSes->addMessage('Ошибка! Вы уже купили это аватар!');
                }
            }
            else {
                
$inSes->addMessage('Ошибка! Такого аватара не существует!');
            }
        }
        else {
            
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
        }
    }

    
show_header('Платные аватары');

    echo 
'<div class="b"><a href="' gen_uri('avatars') . '">Выбрать</a> | ';
    echo 
'<b>Купить</b> | ';
    echo 
'<a href="' gen_uri('load_avatars') . '">Загрузить</a><br /></div>';

    
$array_avators = array();
    
$globavatars glob(ROOTPATH '/images/avatars2/*.gif');
    foreach(
$globavatars as $filename) {

        
$array_avators[] = basename($filename);
    }

    
$total = @count($array_avators);

    if (
$total 0) {

        
$start = ($page 1) * $onpage;
        if (
$start 0$start 0
        if (
$start $total 1$start $total 1;
        
$stop $start $onpage;
        if (
$stop $total$stop $total;

        for (
$i $start$i $stop$i++) {

            
$aid = (int) str_replace('.gif'''$array_avators[$i]);
            echo 
'<div class="b"><img src="' $config['site_url'] . '/images/avatars2/' $array_avators[$i] . '" alt="" /> ';
            echo 
'<a href="?buy=' $aid '&amp;rnd=' $_SESSION['token'] . '">Выбрать</a><br /></div>';
        }

        echo 
show_pages('buy_avatars'RND'p');

        echo 
'<div class="b">';
        echo 
'Цена аватара ' moneys($config['avatar_pay']) . '<br />';
        echo 
'В наличии: ' moneys($uset['users_money']) . '<br />';
        echo 
'Купите понравившийся вам аватар<br />';
        echo 
'Cейчас ваш аватар: ' user_avatars($log) . '<br /><br />';
        echo 
'Всего аваторов: <b>' $total '</b><br /></div>';
    }
    else {

        
show_error('К сожалению, платных аватаров пока нет!');
    }

    break;
    case 
'load_avatars':

    if (!empty(
$_POST['submit'])) {

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (
is_uploaded_file($_FILES['avatar']['tmp_name'])) {

                
$avatarname check(strtolower($_FILES['avatar']['name']));
                
$avatarsize getimagesize($_FILES['avatar']['tmp_name']);
                
$ext        strtolower(substr(strrchr($avatarname'.'), 1));

                if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {

                    if (
$_FILES['avatar']['size'] > && $_FILES['avatar']['size'] <= $config['avatar_weight']) {

                        if (
$avatarsize[0] == $config['avatar_size'] && $avatarsize[1] == $config['avatar_size']) {

                            if (
$uset['users_money'] >= $config['avatar_upload']) {

                                
del_avatars($log); 

                                
move_uploaded_file($_FILES['avatar']['tmp_name'], ROOTPATH '/upload/avatars/' $log '.' $ext);

                                
chmodROOTPATH '/upload/avatars/' $log '.' $ext0644);

                                
$db->query("UPDATE ?_users SET `users_money` = (`users_money` - ?), `users_avatar` = ?
                                            WHERE `users_login` = ?;"
$config['avatar_upload'], '/upload/avatars/' $log '.' $ext$log);

                                
del_vars('users_avatars');
                                
$rows $db->select("SELECT `users_login`, `users_avatar` FROM ?_users");
                                
$arr  = array();
                                foreach(
$rows as $row$arr[$row['users_login']] = $row['users_avatar'];
                                
set_vars('users_avatars'$arr);

                                
set_users_shop($log'Загрузка аватара''upload_avatar'$config['avatar_upload']);

                                
$inSes->addMessage('Аватар успешно загружен!<br />' 
                                                   
'C вашего счета списано ' moneys($config['avatar_upload']), 'ok');

                                
gen_red('avatars'''RND);
                            }
                            else 
$inSes->addMessage('Ошибка! На вашем счете недостаточно средств!');
                        }
                        else 
$inSes->addMessage('Ошибка! Размер аватара должен быть ' $config['avatar_size'] . 'x' $config['avatar_size'] . ' px');
                    }
                    else 
$inSes->addMessage('Ошибка! Вес аватара должен быть не более чем ' size($config['avatar_weight']) . '!');
                }
                else 
$inSes->addMessage('Ошибка! Разрешается загружать аватары только в формате .gif, .jpg или .png');
            }
            else 
$inSes->addMessage('Ошибка! Не удалось загрузить аватар!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    
show_header('Загрузка аватара');

    echo 
'<div class="b"><a href="' gen_uri('avatars') . '">Выбрать</a> | ';
    echo 
'<a href="' gen_uri('buy_avatars') . '">Купить</a> | ';
    echo 
'<b>Загрузить</b><br /></div>';
    echo 
'<div class="b">В наличии: ' moneys($uset['users_money']) . '<br /></div>';

   if (
$uset['users_money'] >= $config['avatar_upload']) {

        
$form = new cmsForm(gen_uri('load_avatars''''rnd=' $_SESSION['token']), 'post'' enctype="multipart/form-data"');
        
$form->addFile('Прикрепить аватар:''avatar'' accept="image/gif"');
        echo 
$form->Submit('Загрузить''submit');
        unset(
$form);
    }
    else 
show_error('Недостаточное количество денег на счету для загрузки аватара!');

    echo 
'<div class="b">';
    echo 
'Cейчас ваш аватар: ' user_avatars($log) . '<br />';
    echo 
'Стоимость загрузки аватара составляет ' moneys($config['avatar_upload']) . '<br />';
    echo 
'Внимание! На загрузку аватаров установлены строгие ограничения<br />';
    echo 
'Размер аватара должен быть <b>' $config['avatar_size'] . 'x' $config['avatar_size'] . ' px</b>, ';
    echo 
'вес не более чем ' size($config['avatar_weight']) . '<br />';
    echo 
'Расширение аватаров в формате .gif, .jpg, .png (в нижнем регистре)<br /></div>';
    break;

    endswitch;
}
else {

    
show_header('Галерея аватаров');
    
show_login('Вы не авторизованы, чтобы изменить аватар, необходимо');
}

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