<?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');
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&uz=' . $log . '&' . SID . '">Мой альбом</a> / ';
}
echo '<a href="index.php?act=addphoto&' . SID . '">Добавить фото</a>';
if (is_admin(array(101, 102, 103, 105))) {
echo ' / <a href="' . ADMINDIR . 'gallery.php?start=' . $start . '&' . 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&gid=' . $data['photo_id'] . '&start=' . $start . '&' . 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&gid=' . $data['photo_id'] . '&start=' . $start . '&' . SID . '"><img src="resize.php?dir=gallery/pictures&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'] . '&' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
echo '<a href="index.php?act=comments&gid=' . $data['photo_id'] . '&' . 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&' . 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&gid=' . $gid . '&vote=down&uid=' . $_SESSION['token'] . '&' . SID . '"><img src="../images/img/thumb-down.gif" alt="Минус" /></a> <big><b>' . $data['photo_rating'] . '</b></big> <a href="index.php?act=vote&gid=' . $gid . '&vote=up&uid=' . $_SESSION['token'] . '&' . SID . '"><img src="../images/img/thumb-up.gif" alt="Плюс" /></a><br />';
echo 'Добавлено: <a href="../pages/anketa.php?uz=' . $data['photo_user'] . '&' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
echo '<a href="index.php?act=comments&gid=' . $data['photo_id'] . '&' . SID . '">Комментарии</a> (' . $data['photo_comments'] . ')';
echo '</div><br />';
echo '<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?act=album&uz=' . $data['photo_user'] . '&' . 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&gid=' . $gid . '&' . SID . '">Вернуться</a><br />';
break;
# ###########################################################################################
# # Просмотр по категориям ##
# ###########################################################################################
case 'gallery':
$config['newtitle'] = 'Альбомы пользователей';
$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&uz=' . $data['photo_user'] . '&' . SID . '">' . nickname($data['photo_user']) . '</a></b> (' . $data['cnt'] . ')<br />';
}
page_jumpnavigation('index.php?act=gallery&', $config['photogroup'], $start, $total);
page_strnavigation('index.php?act=gallery&', $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&uz='.$uz.'&start='.$start.'&uid='.$_SESSION['token'].'&'.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&gid=' . $data['photo_id'] . '&start=' . $start . '&' . 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&gid=' . $data['photo_id'] . '&start=' . $start . '&' . SID . '">Редактировать</a> / ';
echo '<a href="index.php?act=delphoto&gid=' . $data['photo_id'] . '&start=' . $start . '&uid=' . $_SESSION['token'] . '&' . SID . '">Удалить</a>';
}
echo '</div><div>';
echo '<a href="index.php?act=showimg&gid=' . $data['photo_id'] . '&start=' . $start . '&' . SID . '"><img src="resize.php?dir=gallery/pictures&name=' . $data['photo_link'] . '" alt="image" /></a>';
echo '<br />' . $data['photo_text'] . '<br />';
echo 'Добавлено: <a href="../pages/anketa.php?uz=' . $data['photo_user'] . '&' . SID . '">' . nickname($data['photo_user']) . '</a> (' . date_fixed($data['photo_time']) . ')<br />';
echo '<a href="index.php?act=comments&gid=' . $data['photo_id'] . '&' . SID . '">Комментарии</a> (' . $data['photo_comments'] . ')';
echo '</div>';
}
// if (!empty($moder)) {echo '<br /><input type="submit" value="Удалить выбранное" /></form>';}
page_strnavigation('index.php?act=album&uz=' . $uz . '&', $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&' . 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&uid=' . $_SESSION['token'] . '&' . 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 . '&' . 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&' . 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&gid=' . $gid . '&start=' . $start . '&uid=' . $_SESSION['token'] . '&' . 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&uz=' . $uz . '&start=' . $start . '&' . 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&gid=' . $gid . '&start=' . $start . '&' . 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&gid=' . $gid . '&rand=' . mt_rand(100, 999) . '&' . 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&gid=' . $gid . '&start=' . $start . '&uid=' . $_SESSION['token'] . '&' . 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'] . '&' . 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&gid=' . $gid . '&', $config['postgallery'], $start, $total);
page_strnavigation('index.php?act=comments&gid=' . $gid . '&', $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&gid=' . $gid . '&uid=' . $_SESSION['token'] . '&' . 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/rules.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&uz=' . $photo['photo_user'] . '&' . 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&gid=' . $gid . '&' . 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()) {
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&gid=' . $gid . '&' . SID . '">Вернуться</a><br />';
break;
# ###########################################################################################
# # Удаление фотографий ##
# ###########################################################################################
case 'delphoto':
$uid = check($_GET['uid']);
if (is_user()) {
if ($uid == $_SESSION['token']) {
if (is_writeable(BASEDIR . 'gallery/pictures')) {
$querydel = DB :: $dbh -> queryfetch("SELECT `photo_id`, `photo_link`, `photo_comments` FROM `photo` WHERE `photo_id`=? AND `photo_user`=? LIMIT 1;", array($gid, $log));
if (!empty($querydel)) {
if (empty($querydel['photo_comments'])) {
DB :: $dbh -> query("DELETE FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($querydel['photo_id']));
DB :: $dbh -> query("DELETE FROM `commphoto` WHERE `commphoto_gid`=?;", array($querydel['photo_id']));
if (file_exists(BASEDIR . 'gallery/pictures/' . $querydel['photo_link'])) {
unlink(BASEDIR . 'gallery/pictures/' . $querydel['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&start=' . $start . '&' . 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&start='.$start.'&'.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');
?>