View file gallery/index.php

File size: 35.43Kb
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  [email protected]         #
#                 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">';
        echo '<div class="img">';

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

        echo user_avatars($data['commphoto_user']) . '</div>';

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

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

        if (is_admin() || empty($config['anonymity'])) {
          echo '<span class="data">(' . $data['commphoto_brow'] . ', ' . $data['commphoto_ip'] . ')</span>';
        } 

        echo '</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');

  ?>