<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#	
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/' . $config['themes'] . '/index.php');

if (isset($_GET['act'])) {
    $act = check($_GET['act']);
} else {
    $act = 'index';
} 
if (isset($_GET['start'])) {
    $start = abs(intval($_GET['start']));
} else {
    $start = 0;
} 

show_title('site.png', 'Галерея аватаров');
$config['newtitle'] = 'Галерея аватаров';

if (is_user()) {
    switch ($act):
    # ###########################################################################################
    # #                                    Главная страница                                    ##
    # ###########################################################################################
    case "index":

        echo '<b>Выбрать</b> | <a href="avatars.php?act=buy&amp;' . SID . '">Купить</a> | <a href="avatars.php?act=load&amp;' . SID . '">Загрузить</a><br /><br />';

        $total = DB :: $dbh -> querySingle("SELECT count(*) FROM `avatars` WHERE `avatars_cats`=?;", array(1));

        if ($total > 0) {
            if ($start >= $total) {
                $start = 0;
            } 

            $queryav = DB :: $dbh -> query("SELECT * FROM `avatars` WHERE `avatars_cats`=? ORDER BY `avatars_id` ASC LIMIT " . $start . ", " . $config['avlist'] . ";", array(1));

            while ($data = $queryav -> fetch()) {
                echo '<img src="../images/avatars/' . $data['avatars_name'] . '" alt="" /> 
<a href="avatars.php?act=select&amp;id=' . $data['avatars_id'] . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">Выбрать</a><br />';
            } 

            page_strnavigation('avatars.php?', $config['avlist'], $start, $total);

            echo 'Выберите понравившийся вам аватар<br />';
            echo 'Cейчас ваш аватар: ' . user_avatars($log) . '<br /><br />';
            echo 'Всего аваторов: <b>' . $total . '</b><br /><br />';
        } else {
            show_error('В данной категории аватаров нет!');
        } 
        break;
    # ###########################################################################################
    # #                                    Выбор аватара                                       ##
    # ###########################################################################################
    case "select":

        $uid = check($_GET['uid']);
        $id = abs(intval($_GET['id']));

        if ($uid == $_SESSION['token']) {
            $queryav = DB :: $dbh -> querySingle("SELECT `avatars_name` FROM `avatars` WHERE `avatars_cats`=? AND `avatars_id`=?  LIMIT 1;", array(1, $id));
            if (!empty($queryav)) {
                if ($udata['users_avatar'] != 'images/avatars/' . $queryav) {
                    DB :: $dbh -> query("UPDATE `users` SET `users_avatar`=? WHERE `users_login`=?;", array('images/avatars/' . $queryav, $log));

                    save_avatar();

                    if (file_exists(BASEDIR . 'gallery/avatars/' . $log . '.gif')) {
                        unlink (BASEDIR . 'gallery/avatars/' . $log . '.gif');
                    } 

                    echo 'Аватар успешно выбран!<br /><br />';
                } else {
                    show_error('Ошибка! Вы уже выбрали это аватар!');
                } 
            } else {
                show_error('Ошибка! Такого аватара не существует!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="avatars.php?' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                                    Платные аватары                                     ##
    # ###########################################################################################
    case "buy":

        echo '<a href="avatars.php?' . SID . '">Выбрать</a> | <b>Купить</b> | <a href="avatars.php?act=load&amp;' . SID . '">Загрузить</a><br /><br />';

        $total = DB :: $dbh -> querySingle("SELECT count(*) FROM `avatars` WHERE `avatars_cats`=?;", array(2));

        if ($total > 0) {
            if ($start >= $total) {
                $start = 0;
            } 

            $queryav = DB :: $dbh -> query("SELECT * FROM `avatars` WHERE `avatars_cats`=? ORDER BY `avatars_id` ASC LIMIT " . $start . ", " . $config['avlist'] . ";", array(2));

            while ($data = $queryav -> fetch()) {
                echo '<img src="../images/avatars2/' . $data['avatars_name'] . '" alt="" /> 
<a href="avatars.php?act=addbuy&amp;id=' . $data['avatars_id'] . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">Купить</a><br />';
            } 

            page_strnavigation('avatars.php?act=buy&amp;', $config['avlist'], $start, $total);

            echo 'Цена аватара ' . moneys($config['avatarpay']) . '<br />';
            echo 'В наличии: ' . moneys($udata['users_money']) . '<br />';
            echo 'Купите понравившийся вам аватар<br />';
            echo 'Cейчас ваш аватар: ' . user_avatars($log) . '<br /><br />';
            echo 'Всего аваторов: <b>' . $total . '</b><br /><br />';
        } else {
            echo '<img src="../images/img/reload.gif" alt="image" /> <b>В данной категории аватаров нет!</b><br />';
        } 
        break;
    # ###########################################################################################
    # #                                    Покупка аватара                                     ##
    # ###########################################################################################
    case "addbuy":

        $uid = check($_GET['uid']);
        $id = abs(intval($_GET['id']));

        if ($uid == $_SESSION['token']) {
            $queryav = DB :: $dbh -> querySingle("SELECT `avatars_name` FROM `avatars` WHERE `avatars_cats`=? AND `avatars_id`=?  LIMIT 1;", array(2, $id));
            if (!empty($queryav)) {
                if ($udata['users_avatar'] != 'images/avatars2/' . $queryav) {
                    if ($udata['users_money'] >= $config['avatarpay']) {
                        DB :: $dbh -> query("UPDATE `users` SET `users_money`=`users_money`-?, `users_avatar`=? WHERE `users_login`=?;", array($config['avatarpay'], 'images/avatars2/' . $queryav, $log));

                        save_avatar();

                        if (file_exists(BASEDIR . 'gallery/avatars/' . $log . '.gif')) {
                            unlink (BASEDIR . 'gallery/avatars/' . $log . '.gif');
                        } 

                        echo 'Аватар успешно куплен!<br />';
                        echo 'C вашего счета списано ' . moneys($config['avatarpay']) . '<br /><br />';
                    } else {
                        show_error('Ошибка! Недостаточно средств на счету!');
                    } 
                } else {
                    show_error('Ошибка! Вы уже купили это аватар!');
                } 
            } else {
                show_error('Ошибка! Такого аватара не существует!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="avatars.php?act=buy&amp;' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                              Подготовка к загрузке аватара                             ##
    # ###########################################################################################
    case "load":

        echo '<a href="avatars.php?' . SID . '">Выбрать</a> | <a href="avatars.php?act=buy&amp;' . SID . '">Купить</a> | <b>Загрузить</b><br /><br />';

        echo 'В наличии: ' . moneys($udata['users_money']) . '<br /><br />';

        if ($udata['users_point'] >= $config['avatarpoints']) {
            if ($udata['users_money'] >= $config['avatarupload']) {
                echo '<div class="form">';
                echo '<form action="avatars.php?act=addload&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post" enctype="multipart/form-data">';
                echo 'Прикрепить аватар:<br />';
                echo '<input type="file" name="avatar" /><br />';
                echo '<input type="submit" value="Загрузить" /></form></div><br />';
            } else {
                show_error('Недостаточное количество денег на счету для загрузки аватара!');
            } 
        } else {
            show_error('Недостаточное количество актива, необходимо набрать более ' . points($config['avatarpoints']) . '!');
        } 

        echo 'Cейчас ваш аватар: ' . user_avatars($log) . '<br />';
        echo 'Стоимость загрузки аватара составляет ' . moneys($config['avatarupload']) . '<br />';
        echo 'Внимание! На загрузку аватаров установлены строгие ограничения<br />';
        echo 'Загружать аватары могут только пользователи у которых более ' . points($config['avatarpoints']) . '<br />';
        echo 'Размер аватара должен быть ' . $config['avatarsize'] . '*' . $config['avatarsize'] . ' px, вес не более чем ' . formatsize($config['avatarweight']) . '<br />';
        echo 'Расширение аватаров в формате .gif (в нижнем регистре)<br /><br />';
        break;
    # ###########################################################################################
    # #                                    Загрузка аватара                                    ##
    # ###########################################################################################
    case "addload":

        $uid = check($_GET['uid']);

        if ($uid == $_SESSION['token']) {
            if (is_uploaded_file($_FILES['avatar']['tmp_name'])) {
                $avatarname = check(strtolower($_FILES['avatar']['name']));
                $avatarsize = getimagesize($_FILES['avatar']['tmp_name']);

                if (strrchr($avatarname, '.') == '.gif') {
                    if ($_FILES['avatar']['size'] > 0 && $_FILES['avatar']['size'] <= $config['avatarweight']) {
                        if ($avatarsize[0] == $config['avatarsize'] && $avatarsize[1] == $config['avatarsize']) {
                            if ($udata['users_point'] >= $config['avatarpoints']) {
                                if ($udata['users_money'] >= $config['avatarupload']) {
                                    move_uploaded_file($_FILES['avatar']['tmp_name'], BASEDIR . 'gallery/avatars/' . $log . '.gif');
                                    chmod(BASEDIR . 'gallery/avatars/' . $log . '.gif', 0666);

                                    DB :: $dbh -> query("UPDATE `users` SET `users_money`=`users_money`-?, `users_avatar`=? WHERE `users_login`=?;", array($config['avatarupload'], 'gallery/avatars/' . $log . '.gif', $log));

                                    save_avatar();

                                    echo 'Аватар успешно загружен!<br />';
                                    echo 'C вашего счета списано ' . moneys($config['avatarupload']) . '<br /><br />';
                                } else {
                                    show_error('Ошибка! На вашем счете недостаточно средств!');
                                } 
                            } else {
                                show_error('Ошибка! Недостаточное количество актива, необходимо набрать более ' . points($config['avatarpoints']) . '!');
                            } 
                        } else {
                            show_error('Ошибка! Размер аватара должен быть ' . $config['avatarsize'] . '*' . $config['avatarsize'] . ' px');
                        } 
                    } else {
                        show_error('Ошибка! Вес аватара должен быть не более чем ' . formatsize($config['avatarweight']) . '!');
                    } 
                } else {
                    show_error('Ошибка! Разрешается загружать аватары только в формате .gif');
                } 
            } else {
                show_error('Ошибка! Не удалось загрузить аватар!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="avatars.php?act=load&amp;' . SID . '">Вернуться</a><br />';
        break;

    default:
        header("location: avatars.php?" . SID);
        exit;
        endswitch;
    } else {
    show_login('Вы не авторизованы, чтобы изменить аватар, необходимо');
} 

echo '<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';

include_once"../themes/" . $config['themes'] . "/foot.php";

?>