<?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');

$config['photoexprated'] = 72;

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

show_title('menu.png', 'Галерея сайта');
$config['newtitle'] = 'Галерея сайта';

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

    echo '<a href="#down"><img src="../images/img/downs.gif" alt="image" /></a> ';

    if (is_user()) {
        echo '<a href="index.php?act=album&amp;uz=' . $log . '&amp;' . SID . '">Мой альбом</a> / ';
    } 

    echo '<a href="index.php?act=addphoto&amp;' . SID . '">Добавить фото</a>';

    if (is_admin(array(101, 102, 103, 105))) {
        echo ' / <a href="' . ADMINDIR . 'gallery.php?start=' . $start . '&amp;' . SID . '">Управление</a>';
    } 
    echo '<br />';

    $total = DB :: $dbh -> querySingle("SELECT count(*) FROM `photo`;");

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

        $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` ORDER BY `photo_time` DESC LIMIT " . $start . ", " . $config['fotolist'] . ";");

        while ($data = $queryphoto -> fetch()) {
            if ($data['photo_rating'] > 0) {
                $data['photo_rating'] = '<span style="color:#00aa00">+' . $data['photo_rating'] . '</span>';
            } 
            if ($data['photo_rating'] < 0) {
                $data['photo_rating'] = '<span style="color:#ff0000">' . $data['photo_rating'] . '</span>';
            } 

            echo '<div class="b"><img src="../images/img/gallery.gif" alt="image" /> ';
            echo '<b><a href="index.php?act=showimg&amp;gid=' . $data['photo_id'] . '&amp;start=' . $start . '&amp;' . SID . '">' . $data['photo_title'] . '</a></b> (' . read_file(BASEDIR . 'gallery/pictures/' . $data['photo_link']) . ') (' . $data['photo_rating'] . ')</div><div>';

            echo '<a href="index.php?act=showimg&amp;gid=' . $data['photo_id'] . '&amp;start=' . $start . '&amp;' . SID . '"><img src="resize.php?dir=gallery/pictures&amp;name=' . $data['photo_link'] . '" alt="image" /></a>';

            echo '<br />' . bb_code($data['photo_text']) . '<br />';

            echo 'Добавлено: <a href="../pages/anketa.php?uz=' . $data['photo_user'] . '&amp;' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
            echo '<a href="index.php?act=comments&amp;gid=' . $data['photo_id'] . '&amp;' . SID . '">Комментарии</a> (' . $data['photo_comments'] . ')';
            echo '</div>';
        } 
        page_jumpnavigation('index.php?', $config['fotolist'], $start, $total);
        page_strnavigation('index.php?', $config['fotolist'], $start, $total);

        echo 'Всего фотографий: <b>' . $total . '</b><br /><br />';
    } else {
        show_error('Фотографий нет, будь первым!');
    } 

    echo '<a href="#up"><img src="../images/img/ups.gif" alt="Вверх" /></a> ';
    echo '<a href="top.php?' . SID . '">Топ фото</a> / ';
    echo '<a href="index.php?act=gallery&amp;' . SID . '">Все альбомы</a><br />';
    break;
# ###########################################################################################
# #                             Просмотр полной фотографии                                 ##
# ###########################################################################################
case 'showimg':

    $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
    $data = $queryphoto -> fetch();
    if (!empty($data)) {
        $config['newtitle'] = $data['photo_title'];

        if ($data['photo_rating'] > 0) {
            $data['photo_rating'] = '<span style="color:#00aa00">+' . $data['photo_rating'] . '</span>';
        } 
        if ($data['photo_rating'] < 0) {
            $data['photo_rating'] = '<span style="color:#ff0000">' . $data['photo_rating'] . '</span>';
        } 

        echo '<div class="b"><img src="../images/img/gallery.gif" alt="image" /> ';
        echo '<b>' . $data['photo_title'] . '</b> (' . read_file(BASEDIR . 'gallery/pictures/' . $data['photo_link']) . ')</div><div>';

        echo '<a href="' . BASEDIR . 'gallery/pictures/' . $data['photo_link'] . '"><img src="' . BASEDIR . 'gallery/pictures/' . $data['photo_link'] . '" alt="image" /></a>';
        echo '<br />' . bb_code($data['photo_text']) . '<br /><br />';

        echo 'Рейтинг: <a href="index.php?act=vote&amp;gid=' . $gid . '&amp;vote=down&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '"><img src="../images/img/thumb-down.gif" alt="Минус" /></a> <big><b>' . $data['photo_rating'] . '</b></big> <a href="index.php?act=vote&amp;gid=' . $gid . '&amp;vote=up&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '"><img src="../images/img/thumb-up.gif" alt="Плюс" /></a><br />';

        echo 'Добавлено: <a href="../pages/anketa.php?uz=' . $data['photo_user'] . '&amp;' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
        echo '<a href="index.php?act=comments&amp;gid=' . $data['photo_id'] . '&amp;' . SID . '">Комментарии</a> (' . $data['photo_comments'] . ')';
        echo '</div><br />';

        echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=album&amp;uz=' . $data['photo_user'] . '&amp;' . SID . '">В альбом</a><br />';
    } else {
        show_error('Ошибка! Данного изображения нет в базе');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">В галерею</a><br />';
    break;
# ###########################################################################################
# #                                       Оценка фотографии                                ##
# ###########################################################################################
case 'vote':

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

    if (is_user()) {
        if ($uid == $_SESSION['token']) {
            if ($vote == 'up' || $vote == 'down') {
                if ($vote == 'up') {
                    $score = 1;
                } else {
                    $score = -1;
                } 

                $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
                $data = $queryphoto -> fetch();

                if (!empty($data)) {
                    if ($log != $data['photo_user']) {
                        $queryrated = DB :: $dbh -> querySingle("SELECT `rated_id` FROM `ratedphoto` WHERE `rated_photo`=? AND `rated_user`=? LIMIT 1;", array($gid, $log));

                        if (empty($queryrated)) {
                            $expiresrated = SITETIME + 3600 * $config['photoexprated'];

                            DB :: $dbh -> query("DELETE FROM `ratedphoto` WHERE `rated_time`<?;", array(SITETIME));
                            DB :: $dbh -> query("INSERT INTO `ratedphoto` (`rated_photo`, `rated_user`, `rated_time`) VALUES (?, ?, ?);", array($gid, $log, $expiresrated));
                            DB :: $dbh -> query("UPDATE `photo` SET `photo_rating`=`photo_rating`+? WHERE `photo_id`=?", array($score, $gid));

                            echo '<b>Спасибо! Ваша оценка принята!</b><br />';
                            echo 'Рейтинг фотографии: ' . ($data['photo_rating'] + $score) . '<br /><br />';
                        } else {
                            show_error('Ошибка! Вы уже оценивали данную фотографии!');
                        } 
                    } else {
                        show_error('Ошибка! Нельзя голосовать за свою фотографии!');
                    } 
                } else {
                    show_error('Ошибка! Данной фотографии не существует!');
                } 
            } else {
                show_error('Ошибка! Необходимо проголосовать за или против фотографии!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 
    } else {
        show_login('Вы не авторизованы, для голосования за фотографии, необходимо');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=showimg&amp;gid=' . $gid . '&amp;' . SID . '">Вернуться</a><br />';
    break;
# ###########################################################################################
# #                                Просмотр по категориям                                  ##
# ###########################################################################################
case 'gallery':

    $config['newtitle'] = 'Альбомы пользователей';
    $config['photogroup'] = 10;

    $total = DB :: $dbh -> querySingle("select COUNT(DISTINCT `photo_user`) from `photo`");

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

        $queryphoto = DB :: $dbh -> query("SELECT COUNT(*) AS cnt, `photo_user` FROM `photo` GROUP BY `photo_user` ORDER BY cnt DESC LIMIT " . $start . ", " . $config['photogroup'] . ";");

        while ($data = $queryphoto -> fetch()) {
            echo '<img src="../images/img/gallery.gif" alt="image" /> ';
            echo '<b><a href="index.php?act=album&amp;uz=' . $data['photo_user'] . '&amp;' . SID . '">' . nickname($data['photo_user']) . '</a></b> (' . $data['cnt'] . ')<br />';
        } 

        page_jumpnavigation('index.php?act=gallery&amp;', $config['photogroup'], $start, $total);
        page_strnavigation('index.php?act=gallery&amp;', $config['photogroup'], $start, $total);

        echo 'Всего альбомов: <b>' . $total . '</b><br /><br />';
    } else {
        show_error('Фотографии еще не загружены!');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">Галерея</a><br />';
    break;
# ###########################################################################################
# #                               Просмотр по пользователям                                ##
# ###########################################################################################
case 'album':

    $config['newtitle'] = 'Список всех фотографий';

    $total = DB :: $dbh -> querySingle("SELECT count(*) FROM `photo` WHERE `photo_user`=?;", array($uz));

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

        $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_user`=? ORDER BY `photo_time` DESC LIMIT " . $start . ", " . $config['fotolist'] . ";", array($uz));

        $moder = ($log == $uz) ? 1 : 0;

        /**
         * if (!empty($moder)) {
         * echo '<form action="index.php?act=delphoto&amp;uz='.$uz.'&amp;start='.$start.'&amp;uid='.$_SESSION['token'].'&amp;'.SID.'" method="post">';
         * }
         */

        while ($data = $queryphoto -> fetch()) {
            echo '<div class="b"><img src="../images/img/gallery.gif" alt="image" /> ';
            echo '<b><a href="index.php?act=showimg&amp;gid=' . $data['photo_id'] . '&amp;start=' . $start . '&amp;' . SID . '">' . $data['photo_title'] . '</a></b> (' . read_file(BASEDIR . 'gallery/pictures/' . $data['photo_link']) . ')<br />';

            if (!empty($moder)) {
                // echo '<input type="checkbox" name="del[]" value="'.$data['photo_id'].'" /> ';
                echo '<a href="index.php?act=edit&amp;gid=' . $data['photo_id'] . '&amp;start=' . $start . '&amp;' . SID . '">Редактировать</a>';
            } 

            echo '</div><div>';
            echo '<a href="index.php?act=showimg&amp;gid=' . $data['photo_id'] . '&amp;start=' . $start . '&amp;' . SID . '"><img src="resize.php?dir=gallery/pictures&amp;name=' . $data['photo_link'] . '" alt="image" /></a>';

            echo '<br />' . $data['photo_text'] . '<br />';

            echo 'Добавлено: <a href="../pages/anketa.php?uz=' . $data['photo_user'] . '&amp;' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
            echo '<a href="index.php?act=comments&amp;gid=' . $data['photo_id'] . '&amp;' . SID . '">Комментарии</a> (' . $data['photo_comments'] . ')';
            echo '</div>';
        } 
        // if (!empty($moder)) {echo '<br /><input type="submit" value="Удалить выбранное" /></form>';}
        page_strnavigation('index.php?act=album&amp;uz=' . $uz . '&amp;', $config['fotolist'], $start, $total);

        echo 'Всего фотографий: <b>' . $total . '</b><br /><br />';
    } else {
        show_error('Фотографии еще не загружены!');
    } 

    echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=gallery&amp;' . SID . '">Альбомы</a><br />';
    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">Галерея</a><br />';
    break;
# ###########################################################################################
# #                                  Форма загрузки фото                                   ##
# ###########################################################################################
case 'addphoto':

    $config['newtitle'] = 'Добавление фотографии';

    if (is_user()) {
        echo '<div class="form">';
        echo '<form action="index.php?act=add&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post" enctype="multipart/form-data">';
        echo 'Прикрепить фото:<br /><input type="file" name="photo" /><br />';
        echo 'Название: <br /><input type="text" name="title" /><br />';
        echo 'Подпись к фото: <br /><textarea cols="25" rows="3" name="text"></textarea><br />';

        echo 'Закрыть комментарии: <input name="closed" type="checkbox" value="1" /><br />';

        echo '<input type="submit" value="Добавить" /></form></div><br />';

        echo 'Разрешается добавлять фотки с расширением jpg, jpeg, gif и png<br />';
        echo 'Весом не более ' . formatsize($config['filesize']) . ' и размером от 100 до ' . (int)$config['filefoto'] . ' px<br /><br />';
    } else {
        show_login('Вы не авторизованы, чтобы добавить фотографию, необходимо');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
    break;
# ###########################################################################################
# #                                   Загрузка фото                                        ##
# ###########################################################################################
case 'add':

    $config['newtitle'] = 'Результат добавления';

    $uid = check($_GET['uid']);
    $title = check($_POST['title']);
    $text = check($_POST['text']);
    $closed = (empty($_POST['closed'])) ? 0 : 1;

    if (is_user()) {
        if ($uid == $_SESSION['token']) {
            if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
                if (utf_strlen($title) >= 5 && utf_strlen($title) < 50) {
                    if (utf_strlen($text) >= 5 && utf_strlen($text) < 1000) {
                        $photoname = check(strtolower($_FILES['photo']['name']));
                        $photosize = getimagesize($_FILES['photo']['tmp_name']);
                        $ext = strrchr($photoname, '.');

                        if ($ext == '.jpg' || $ext == '.jpeg' || $ext == '.gif' || $ext == '.png') {
                            if ($_FILES['photo']['size'] > 0 && $_FILES['photo']['size'] <= $config['filesize']) {
                                if ($photosize[0] <= $config['filefoto'] && $photosize[1] <= $config['filefoto'] && $photosize[0] >= 100 && $photosize[1] >= 100) {
                                    if (is_quarantine($log)) {
                                        if (is_flood($log)) {
                                            $text = no_br($text);
                                            $text = antimat($text);
                                            $text = smiles($text);

                                            DB :: $dbh -> query("INSERT INTO `photo` (`photo_user`, `photo_title`, `photo_text`, `photo_link`, `photo_time`, `photo_closed`) VALUES (?, ?, ?, ?, ?, ?);", array($log, $title, $text, '', SITETIME, $closed));

                                            $lastid = DB :: $dbh -> lastInsertId();
                                            $link = $lastid . $ext;

                                            DB :: $dbh -> query("UPDATE `photo` SET `photo_link`=? WHERE `photo_id`=?", array($link, $lastid));

                                            move_uploaded_file($_FILES['photo']['tmp_name'], BASEDIR . 'gallery/pictures/' . $link);
                                            chmod(BASEDIR . 'gallery/pictures/' . $link, 0666);

                                            $_SESSION['note'] = 'Фотография успешно загружена!';
                                            header ("Location: index.php?" . SID);
                                            exit;
                                        } else {
                                            show_error('Антифлуд! Вы слишком часто добавляете фотографии!');
                                        } 
                                    } else {
                                        show_error('Карантин! Вы не можете добавлять фото в течении ' . round($config['karantin'] / 3600) . ' часов!');
                                    } 
                                } else {
                                    show_error('Ошибка! Размер изображение должен быть от 100 до ' . $config['filefoto'] . 'px');
                                } 
                            } else {
                                show_error('Ошибка! Вес изображения должен быть не более ' . formatsize($config['filesize']));
                            } 
                        } else {
                            show_error('Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!');
                        } 
                    } else {
                        show_error('Слишком длинное или короткое описание (Необходимо от 5 до 1000 символов)!');
                    } 
                } else {
                    show_error('Слишком длинное или короткое название (Необходимо от 5 до 50 символов)!');
                } 
            } else {
                show_error('Ошибка! Не удалось загрузить изображение!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 
    } else {
        show_login('Вы не авторизованы, чтобы добавить фотографию, необходимо');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=addphoto&amp;' . SID . '">Вернуться</a><br />';
    break;
# ###########################################################################################
# #                                 Редактирование фото                                    ##
# ###########################################################################################
case 'edit':

    if (is_user()) {
        $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? AND `photo_user`=? LIMIT 1;", array($gid, $log));
        $photo = $queryphoto -> fetch();

        if (!empty($photo)) {
            $photo['photo_text'] = nosmiles($photo['photo_text']);
            $photo['photo_text'] = str_replace('<br />', "\r\n", $photo['photo_text']);

            echo '<div class="form">';
            echo '<form action="index.php?act=change&amp;gid=' . $gid . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
            echo 'Название: <br /><input type="text" name="title" value="' . $photo['photo_title'] . '" /><br />';
            echo 'Подпись к фото: <br /><textarea cols="25" rows="3" name="text">' . $photo['photo_text'] . '</textarea><br />';

            echo 'Закрыть комментарии: ';
            $checked = ($photo['photo_closed'] == 1) ? ' checked="checked"' : '';
            echo '<input name="closed" type="checkbox" value="1"' . $checked . ' /><br />';

            echo '<input type="submit" value="Изменить" /></form></div><br />';
        } else {
            show_error('Ошибка! Фотография удалена или вы не автор этой фотографии!');
        } 
    } else {
        show_login('Вы не авторизованы, чтобы редактировать фотографию, необходимо');
    } 

    echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=album&amp;uz=' . $uz . '&amp;start=' . $start . '&amp;' . SID . '">Альбом</a><br />';
    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">Галерея</a><br />';
    break;
# ###########################################################################################
# #                                 Изменение описания                                     ##
# ###########################################################################################
case 'change':

    $uid = check($_GET['uid']);
    $title = check($_POST['title']);
    $text = check($_POST['text']);
    $closed = (empty($_POST['closed'])) ? 0 : 1;

    if ($uid == $_SESSION['token']) {
        if (is_user()) {
            $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? AND `photo_user`=? LIMIT 1;", array($gid, $log));
            $photo = $queryphoto -> fetch();

            if (!empty($photo)) {
                if (utf_strlen($title) >= 5 && utf_strlen($title) < 50) {
                    if (utf_strlen($text) >= 5 && utf_strlen($text) < 1000) {
                        $text = no_br($text);
                        $text = antimat($text);
                        $text = smiles($text);

                        DB :: $dbh -> query("UPDATE `photo` SET `photo_title`=?, `photo_text`=?, `photo_closed`=? WHERE `photo_id`=?;", array($title, $text, $closed, $gid));

                        $_SESSION['note'] = 'Фотография успешно отредактирована!';
                        header ("Location: index.php?act=album&uz=$uz&start=$start&" . SID);
                        exit;
                    } else {
                        show_error('Ошибка! Слишком длинное или короткое описание!');
                    } 
                } else {
                    show_error('Ошибка! Слишком длинное или короткое название!');
                } 
            } else {
                show_error('Ошибка! Фотография удалена или вы не автор этой фотографии!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 
    } else {
        show_login('Вы не авторизованы, чтобы редактировать фотографию, необходимо');
    } 

    echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=edit&amp;gid=' . $gid . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">Галерея</a><br />';
    break;
# ###########################################################################################
# #                                 Добавление комментариев                                ##
# ###########################################################################################
case 'comments':

    $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
    $photo = $queryphoto -> fetch();

    if (!empty($photo)) {
        $config['newtitle'] = 'Комментарии - ' . $photo['photo_title'];

        echo '<img src="../images/img/gallery.gif" alt="image" /> <b>' . $photo['photo_title'] . '</b><br /><br />';

        echo '<a href="#down"><img src="../images/img/downs.gif" alt="image" /></a> ';
        echo '<a href="index.php?act=comments&amp;gid=' . $gid . '&amp;rand=' . mt_rand(100, 999) . '&amp;' . SID . '">Обновить</a><hr />';

        $total = DB :: $dbh -> querySingle("SELECT count(*) FROM `commphoto` WHERE `commphoto_gid`=?;", array($gid));

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

            $is_admin = is_admin(array(101, 102, 103, 105));
            if ($is_admin) {
                echo '<form action="index.php?act=delcomm&amp;gid=' . $gid . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
            } 

            $querycomm = DB :: $dbh -> query("SELECT * FROM `commphoto` WHERE `commphoto_gid`=? ORDER BY `commphoto_time` DESC LIMIT " . $start . ", " . $config['postgallery'] . ";", array($gid));

            while ($data = $querycomm -> fetch()) {
                echo '<div class="b">';

                if ($is_admin) {
                    echo '<input type="checkbox" name="del[]" value="' . $data['commphoto_id'] . '" /> ';
                } 

                echo user_avatars($data['commphoto_user']);

                echo '<b><a href="../pages/anketa.php?uz=' . $data['commphoto_user'] . '&amp;' . SID . '">' . nickname($data['commphoto_user']) . '</a></b> ' . user_title($data['commphoto_user']) . user_online($data['commphoto_user']);

                echo '<small> (' . date_fixed($data['commphoto_time']) . ')</small></div>';

                echo '<div>' . bb_code($data['commphoto_text']) . '<br />';
                echo '<span class="data">(' . $data['commphoto_brow'] . ', ' . $data['commphoto_ip'] . ')</span></div>';
            } 

            if ($is_admin) {
                echo '<br /><input type="submit" value="Удалить выбранное" /></form>';
            } 

            page_jumpnavigation('index.php?act=comments&amp;gid=' . $gid . '&amp;', $config['postgallery'], $start, $total);
            page_strnavigation('index.php?act=comments&amp;gid=' . $gid . '&amp;', $config['postgallery'], $start, $total);
        } else {
            show_error('Комментариев еще нет!');
        } 

        if (is_user()) {
            if (empty($photo['photo_closed'])) {
                echo '<div class="form">';
                echo '<form action="index.php?act=addcomm&amp;gid=' . $gid . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
                echo '<b>Сообщение:</b><br />';
                echo '<textarea cols="25" rows="3" name="msg"></textarea><br />';
                echo '<input type="submit" value="Написать" /></form></div><br />';

                echo '<a href="#up"><img src="../images/img/ups.gif" alt="image" /></a> ';
                echo '<a href="../pages/pravila.php?' . SID . '">Правила</a> / ';
                echo '<a href="../pages/smiles.php?' . SID . '">Смайлы</a> / ';
                echo '<a href="../pages/tegi.php?' . SID . '">Теги</a><br /><br />';
            } else {
                show_error('Комментирование данной фотографии закрыто!');
            } 
        } else {
            show_login('Вы не авторизованы, чтобы добавить сообщение, необходимо');
        } 

        echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=album&amp;uz=' . $photo['photo_user'] . '&amp;' . SID . '">Альбом</a><br />';
    } else {
        show_error('Ошибка! Данного изображение не существует!');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?' . SID . '">Галерея</a><br />';
    break;
# ###########################################################################################
# #                                   Запись комментариев                                  ##
# ###########################################################################################
case 'addcomm':

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

    $config['newtitle'] = 'Добавление комментария';

    if (is_user()) {
        if ($uid == $_SESSION['token']) {
            if (utf_strlen($msg) >= 5 && utf_strlen($msg) < 1000) {
                $queryphoto = DB :: $dbh -> query("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
                $data = $queryphoto -> fetch();

                if (!empty($data)) {
                    if (empty($data['photo_closed'])) {
                        if (is_quarantine($log)) {
                            if (is_flood($log)) {
                                $msg = no_br($msg);
                                $msg = antimat($msg);
                                $msg = smiles($msg);

                                DB :: $dbh -> query("INSERT INTO `commphoto` (`commphoto_gid`, `commphoto_text`, `commphoto_user`, `commphoto_time`, `commphoto_ip`, `commphoto_brow`) VALUES (?, ?, ?, ?, ?, ?);", array($gid, $msg, $log, SITETIME, $ip, $brow));

                                DB :: $dbh -> query("DELETE FROM `commphoto` WHERE `commphoto_gid`=? AND `commphoto_time` < (SELECT MIN(`commphoto_time`) FROM (SELECT `commphoto_time` FROM `commphoto` WHERE `commphoto_gid`=? ORDER BY `commphoto_time` DESC LIMIT " . $config['maxpostgallery'] . ") AS del);", array($gid, $gid));

                                DB :: $dbh -> query("UPDATE `photo` SET `photo_comments`=`photo_comments`+1 WHERE `photo_id`=?;", array($gid));
                                DB :: $dbh -> query("UPDATE `users` SET `users_allcomments`=`users_allcomments`+1, `users_point`=`users_point`+1, `users_money`=`users_money`+5 WHERE `users_login`=?", array($log));

                                $_SESSION['note'] = 'Сообщение успешно добавлено!';
                                header("location: index.php?act=comments&gid=$gid&" . SID);
                                exit;
                            } else {
                                show_error('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!');
                            } 
                        } else {
                            show_error('Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!');
                        } 
                    } else {
                        show_error('Ошибка! Комментирование данной фотографии запрещено!');
                    } 
                } else {
                    show_error('Ошибка! Данного изображения не существует!');
                } 
            } else {
                show_error('Ошибка! Слишком длинное или короткое сообщение!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 
    } else {
        show_login('Вы не авторизованы, чтобы добавить сообщение, необходимо');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=comments&amp;gid=' . $gid . '&amp;' . SID . '">Вернуться</a><br />';
    echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?' . SID . '">В галерею</a><br />';
    break;
# ###########################################################################################
# #                                 Удаление комментариев                                  ##
# ###########################################################################################
case 'delcomm':

    $uid = check($_GET['uid']);
    if (isset($_POST['del'])) {
        $del = intar($_POST['del']);
    } else {
        $del = 0;
    } 

    if (is_admin(array(101, 102, 103, 105))) {
        if ($uid == $_SESSION['token']) {
            if (!empty($del)) {
                $del = implode(',', $del);

                $delcomments = DB :: $dbh -> exec("DELETE FROM commphoto WHERE commphoto_id IN (" . $del . ") AND commphoto_gid=" . $gid . ";");
                DB :: $dbh -> query("UPDATE photo SET photo_comments=photo_comments-? WHERE photo_id=?;", array($delcomments, $gid));

                $_SESSION['note'] = 'Выбранные сообщения успешно удалены!';
                header ("Location: index.php?act=comments&gid=$gid&start=$start&" . SID);
                exit;
            } else {
                show_error('Ошибка! Отстутствуют выбранные сообщения для удаления!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 
    } else {
        show_error('Ошибка! Удалять сообщения могут только модераторы!');
    } 

    echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=comments&amp;gid=' . $gid . '&amp;' . SID . '">Вернуться</a><br />';
    break;
# ###########################################################################################
# #                                   Удаление фотографий                                  ##
# ###########################################################################################
/**
 * case 'delphoto':
 * 
 * $uid = check($_GET['uid']);
 * if (isset($_POST['del'])) {$del = intar($_POST['del']);} else {$del = 0;}
 * 
 * if (is_user()){
 * if ($uid==$_SESSION['token']){
 * if (!empty($del)){
 * 
 * $del = implode(',', $del);
 * 
 * if (is_writeable(BASEDIR.'gallery/pictures')){
 * 
 * $querydel = DB::$dbh->query("SELECT `photo_id`, `photo_link` FROM `photo` WHERE `photo_id` IN (".$del.") AND `photo_user`=?;", array($log));
 * $arr_photo = $querydel->fetchAll();
 * 
 * if (count($arr_photo)>0){ 
 * foreach ($arr_photo as $delete){
 * DB::$dbh->query("DELETE FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($delete['photo_id']));
 * DB::$dbh->query("DELETE FROM `commphoto` WHERE `commphoto_gid`=?;", array($delete['photo_id']));
 * if (file_exists(BASEDIR.'gallery/pictures/'.$delete['photo_link'])) {unlink(BASEDIR.'gallery/pictures/'.$delete['photo_link']);}
 * } 
 * 
 * $_SESSION['note'] = 'Выбранные фотографии успешно удалены!';
 * header ("Location: index.php?act=album&start=$start&".SID); exit;
 * 
 * } else {show_error('Ошибка! Данных фотографий не существует или вы не автор этих фотографий!');}
 * } else {show_error('Ошибка! Не установлены атрибуты доступа на дирекоторию с фотографиями!');}
 * } else {show_error('Ошибка! Отсутствуют выбранные фотографии!');}
 * } else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
 * } else {show_login('Вы не авторизованы, чтобы удалять фотографии, необходимо');}
 * 
 * echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=album&amp;start='.$start.'&amp;'.SID.'">Вернуться</a><br />';
 * break;
 */

default:
    header("location: index.php?" . SID);
    endswitch;

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

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

    ?>