Вход Регистрация
Файл: core/modules/users_avatars.php
Строк: 178
<?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="blocks"><table><tr>';
    echo 
'<td style="width:33%"><span>Выбрать</span></td>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('buy_avatars', '', RND) . '">Купить</a></td>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('upload_avatars', '', RND) . '">Загрузить</a></td>';
    echo 
'</tr></table></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="bl">';
            echo 
'<img src="' . $config['site_url'] . '/images/avatars/' . $array_avators[$i] . '" class="ava" alt="" /> ';
            echo 
'<a href="?select=' . $aid . '&amp;rnd=' . $_SESSION['token'] . '">Выбрать</a><br /></div>';
        }

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

        echo 
'<div class="bl">';
        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);

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

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

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

    echo 
'<div class="blocks"><table><tr>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('avatars', '', RND) . '">Выбрать</a></td>';
    echo 
'<td style="width:33%"><span>Купить</span></td>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('upload_avatars', '', RND) . '">Загрузить</a></td>';
    echo 
'</tr></table></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="bl">';
            echo 
'<img src="' . $config['site_url'] . '/images/avatars2/' . $array_avators[$i] . '" class="ava" alt="" /> ';
            echo 
'<a href="?buy=' . $aid . '&amp;rnd=' . $_SESSION['token'] . '">Выбрать</a><br /></div>';
        }

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

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

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

    break;
    case 
'upload_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'] > 0 && $_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);

                                
chmod( ROOTPATH . '/upload/avatars/' . $log . '.' . $ext, 0644);

                                
$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);

                                
$inSes->addMessage('Аватар успешно загружен!<br />' . 
                                                   
'C вашего счета списано ' . num2name($config['avatar_upload'], $config['money_name']), '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="blocks"><table><tr>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('avatars', '', RND) . '">Выбрать</a></td>';
    echo 
'<td style="width:33%"><a href="' . gen_uri('buy_avatars', '', RND) . '">Купить</a></td>';
    echo 
'<td style="width:33%"><span>Загрузить</span></td>';
    echo 
'</tr></table></div>';

    echo 
'<div class="bl">В наличии: ' . num2name($uset['users_money'], $config['money_name']) . '<br /></div>';

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

        
$form = new cmsForm(gen_uri('upload_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="bl">';
    echo 
'Cейчас ваш аватар: ' . user_avatars($log) . '<br />';
    echo 
'Стоимость загрузки аватара составляет ' . num2name($config['avatar_upload'], $config['money_name']) . '<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;

    echo 
show_link(gen_uri('setting', '', RND), 'Назад');
}
else {

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

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