<?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/header.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="album.php?act=photo&'.SID.'">фото</a>, <a href="comments.php?act=comments&'.SID.'">комментарии</a> / ';
}
echo 'Все: <a href="album.php?'.SID.'">альбомы</a>, <a href="comments.php?'.SID.'">комментарии</a>';
if (is_admin()) {
echo ' / <a href="'.ADMINDIR.'gallery.php?start='.$start.'&'.SID.'">Управление</a>';
}
echo '<br />';
$total = DB::run() -> querySingle("SELECT count(*) FROM `photo`;");
if ($total > 0) {
if ($start >= $total) {
$start = last_page($total, $config['fotolist']);
}
$page = floor(1 + $start / $config['fotolist']);
$config['newtitle'] = 'Галерея сайта (Стр. '.$page.')';
$queryphoto = DB::run() -> query("SELECT * FROM `photo` ORDER BY `photo_time` DESC LIMIT ".$start.", ".$config['fotolist'].";");
while ($data = $queryphoto -> fetch()) {
echo '<div class="b"><img src="../images/img/gallery.gif" alt="image" /> ';
echo '<b><a href="index.php?act=view&gid='.$data['photo_id'].'&start='.$start.'&'.SID.'">'.$data['photo_title'].'</a></b> ('.read_file(BASEDIR.'upload/pictures/'.$data['photo_link']).') ('.format_num($data['photo_rating']).')</div><div>';
echo '<a href="index.php?act=view&gid='.$data['photo_id'].'&start='.$start.'&'.SID.'">'.resize_image('upload/pictures/', $data['photo_link'], $config['previewsize'], $data['photo_title']).'</a><br />';
if (!empty($data['photo_text'])){
echo bb_code($data['photo_text']).'<br />';
}
echo 'Добавлено: '.profile($data['photo_user']).' ('.date_fixed($data['photo_time']).')<br />';
echo '<a href="index.php?act=comments&gid='.$data['photo_id'].'&'.SID.'">Комментарии</a> ('.$data['photo_comments'].') ';
echo '<a href="index.php?act=end&gid='.$data['photo_id'].'&'.SID.'">»</a>';
echo '</div>';
}
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=addphoto&'.SID.'">Добавить фото</a><br />';
break;
############################################################################################
## Просмотр полной фотографии ##
############################################################################################
case 'view':
$data = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
if (!empty($data)) {
$config['newtitle'] = $data['photo_title'];
echo '<div class="b"><img src="../images/img/gallery.gif" alt="image" /> ';
echo '<b>'.$data['photo_title'].'</b> ('.read_file(BASEDIR.'upload/pictures/'.$data['photo_link']).')';
if ($data['photo_user'] == $log) {
echo '<br /><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>';
echo '<div><a href="'.BASEDIR.'upload/pictures/'.$data['photo_link'].'"><img src="'.BASEDIR.'upload/pictures/'.$data['photo_link'].'" alt="image" /></a><br />';
if (!empty($data['photo_text'])){
echo bb_code($data['photo_text']).'<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>'.format_num($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 'Добавлено: '.profile($data['photo_user']).' ('.date_fixed($data['photo_time']).')<br />';
echo '<a href="index.php?act=comments&gid='.$data['photo_id'].'&'.SID.'">Комментарии</a> ('.$data['photo_comments'].') ';
echo '<a href="index.php?act=end&gid='.$data['photo_id'].'&'.SID.'">»</a>';
echo '</div><br />';
echo '<img src="../images/img/reload.gif" alt="image" /> <a href="album.php?act=photo&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') {
$score = ($vote == 'up') ? 1 : -1;
$data = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
if (!empty($data)) {
if ($log != $data['photo_user']) {
$queryrated = DB::run() -> 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::run() -> query("DELETE FROM `ratedphoto` WHERE `rated_time`<?;", array(SITETIME));
DB::run() -> query("INSERT INTO `ratedphoto` (`rated_photo`, `rated_user`, `rated_time`) VALUES (?, ?, ?);", array($gid, $log, $expiresrated));
DB::run() -> query("UPDATE `photo` SET `photo_rating`=`photo_rating`+? WHERE `photo_id`=?;", array($score, $gid));
$_SESSION['note'] = 'Ваша оценка принята! Рейтинг фотографии: '.format_num($data['photo_rating'] + $score);
redirect("index.php?act=view&gid=$gid&".SID);
} 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=view&gid='.$gid.'&'.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="5" 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['fileupfoto'].' 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 = (!empty($_POST['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) <= 1000) {
$photosize = getimagesize($_FILES['photo']['tmp_name']);
$ext = strtolower(substr(strrchr($_FILES['photo']['name'], '.'), 1));
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {
if ($_FILES['photo']['size'] > 0 && $_FILES['photo']['size'] <= $config['filesize']) {
if ($photosize[0] <= $config['fileupfoto'] && $photosize[1] <= $config['fileupfoto'] && $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::run() -> 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::run() -> lastInsertId();
DB::run() -> query("UPDATE `photo` SET `photo_link`=? WHERE `photo_id`=?;", array($lastid.'.'.$ext, $lastid));
// ------------------------------------------------------//
include_once (BASEDIR.'includes/upload.php');
$handle = new upload($_FILES['photo']);
if ($handle -> uploaded) {
$handle -> file_new_name_body = $lastid;
$handle -> image_resize = true;
$handle -> image_ratio = true;
$handle -> image_ratio_no_zoom_in = true;
$handle -> image_y = $config['filefoto'];
$handle -> image_x = $config['filefoto'];
$handle -> file_overwrite = true;
if (!empty($config['copyfoto'])) {
$handle -> image_watermark = BASEDIR.'images/img/watermark.png';
$handle -> image_watermark_position = 'BR';
}
$handle -> process(BASEDIR.'upload/pictures/');
if ($handle -> processed) {
$handle -> clean();
$_SESSION['note'] = 'Фотография успешно загружена!';
redirect("index.php?".SID);
} else {
show_error('Ошибка! '.$handle -> error);
}
} else {
show_error('Ошибка! Не удалось загрузить изображение!');
}
} else {
show_error('Антифлуд! Вы слишком часто добавляете фотографии!');
}
} else {
show_error('Карантин! Вы не можете добавлять фото в течении '.round($config['karantin'] / 3600).' часов!');
}
} else {
show_error('Ошибка! Размер изображения должен быть от 100 до '.$config['fileupfoto'].' px');
}
} else {
show_error('Ошибка! Вес изображения должен быть не более '.formatsize($config['filesize']));
}
} else {
show_error('Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!');
}
} else {
show_error('Слишком длинное описание (Необходимо до 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()) {
$photo = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? AND `photo_user`=? LIMIT 1;", array($gid, $log));
if (!empty($photo)) {
$photo['photo_text'] = yes_br(nosmiles($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="5" 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="album.php?act=photo&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 = (!empty($_POST['text'])) ? check($_POST['text']) : '';
$closed = (empty($_POST['closed'])) ? 0 : 1;
if ($uid == $_SESSION['token']) {
if (is_user()) {
$photo = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? AND `photo_user`=? LIMIT 1;", array($gid, $log));
if (!empty($photo)) {
if (utf_strlen($title) >= 5 && utf_strlen($title) <= 50) {
if (utf_strlen($text) <= 1000) {
$text = no_br($text);
$text = antimat($text);
$text = smiles($text);
DB::run() -> query("UPDATE `photo` SET `photo_title`=?, `photo_text`=?, `photo_closed`=? WHERE `photo_id`=?;", array($title, $text, $closed, $gid));
$_SESSION['note'] = 'Фотография успешно отредактирована!';
redirect("album.php?act=photo&uz=$uz&start=$start&".SID);
} else {
show_error('Ошибка! Слишком длинное описание (Необходимо до 1000 символов)!');
}
} else {
show_error('Ошибка! Слишком длинное или короткое название!');
}
} else {
show_error('Ошибка! Фотография удалена или вы не автор этой фотографии!');
}
} else {
show_login('Вы не авторизованы, чтобы редактировать фотографию, необходимо');
}
} else {
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
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':
$photo = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
if (!empty($photo)) {
$config['newtitle'] = 'Комментарии - '.$photo['photo_title'];
echo '<img src="../images/img/gallery.gif" alt="image" /> <b><a href="index.php?act=view&gid='.$photo['photo_id'].'&'.SID.'">'.$photo['photo_title'].'</a></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::run() -> querySingle("SELECT count(*) FROM `commphoto` WHERE `commphoto_gid`=?;", array($gid));
if ($total > 0) {
if ($start >= $total) {
$start = last_page($total, $config['postgallery']);
}
$is_admin = is_admin();
if ($is_admin) {
echo '<form action="index.php?act=delcomm&gid='.$gid.'&start='.$start.'&uid='.$_SESSION['token'].'&'.SID.'" method="post">';
}
$querycomm = DB::run() -> query("SELECT * FROM `commphoto` WHERE `commphoto_gid`=? ORDER BY `commphoto_time` ASC LIMIT ".$start.", ".$config['postgallery'].";", array($gid));
while ($data = $querycomm -> fetch()) {
echo '<div class="b">';
echo '<div class="img">'.user_avatars($data['commphoto_user']).'</div>';
if ($is_admin) {
echo '<span class="imgright"><input type="checkbox" name="del[]" value="'.$data['commphoto_id'].'" /></span>';
}
echo '<b>'.profile($data['commphoto_user']).'</b> <small>('.date_fixed($data['commphoto_time']).')</small><br />';
echo user_title($data['commphoto_user']).' '.user_online($data['commphoto_user']).'</div>';
if ($log == $data['commphoto_user'] && $data['commphoto_time'] + 600 > SITETIME) {
echo '<div class="right"><a href="index.php?act=editcomm&gid='.$gid.'&cid='.$data['commphoto_id'].'&start='.$start.'&'.SID.'">Редактировать</a></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 '<span class="imgright"><input type="submit" value="Удалить выбранное" /></span></form>';
}
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 '<textarea id="markItUp" cols="25" rows="5" 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/tags.php?'.SID.'">Теги</a><br /><br />';
} else {
show_error('Комментирование данной фотографии закрыто!');
}
} else {
show_login('Вы не авторизованы, чтобы добавить комментарий, необходимо');
}
echo '<img src="../images/img/reload.gif" alt="image" /> <a href="album.php?act=photo&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) {
$data = DB::run() -> queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
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::run() -> 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::run() -> 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::run() -> query("UPDATE `photo` SET `photo_comments`=`photo_comments`+1 WHERE `photo_id`=?;", array($gid));
DB::run() -> 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'] = 'Комментарий успешно добавлен!';
redirect("index.php?act=end&gid=$gid&".SID);
} 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 'editcomm':
$cid = abs(intval($_GET['cid']));
if (is_user()) {
$comm = DB::run() -> queryFetch("SELECT `commphoto`.*, `photo`.`photo_closed` FROM `commphoto` LEFT JOIN `photo` ON `commphoto`.`commphoto_gid`=`photo`.`photo_id` WHERE `commphoto_id`=? AND `commphoto_user`=? LIMIT 1;", array($cid, $log));
if (!empty($comm)) {
if (empty($comm['photo_closed'])) {
if ($comm['commphoto_time'] + 600 > SITETIME) {
$comm['commphoto_text'] = yes_br(nosmiles($comm['commphoto_text']));
echo '<img src="../images/img/edit.gif" alt="image" /> <b>'.nickname($comm['commphoto_user']).'</b> <small>('.date_fixed($comm['commphoto_time']).')</small><br /><br />';
echo '<div class="form">';
echo '<form action="index.php?act=changecomm&gid='.$comm['commphoto_gid'].'&cid='.$cid.'&start='.$start.'&uid='.$_SESSION['token'].'&'.SID.'" method="post">';
echo '<textarea id="markItUp" cols="25" rows="5" name="msg" id="msg">'.$comm['commphoto_text'].'</textarea><br />';
echo '<input type="submit" value="Редактировать" /></form></div><br />';
} else {
show_error('Ошибка! Редактирование невозможно, прошло более 10 минут!!');
}
} 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.'&start='.$start.'&'.SID.'">Вернуться</a><br />';
break;
############################################################################################
## Редактирование комментария ##
############################################################################################
case 'changecomm':
$uid = check($_GET['uid']);
$cid = abs(intval($_GET['cid']));
$msg = check($_POST['msg']);
if (is_user()) {
if ($uid == $_SESSION['token']) {
if (utf_strlen($msg) >= 5 && utf_strlen($msg) <= 1000) {
$comm = DB::run() -> queryFetch("SELECT `commphoto`.*, `photo`.`photo_closed` FROM `commphoto` LEFT JOIN `photo` ON `commphoto`.`commphoto_gid`=`photo`.`photo_id` WHERE `commphoto_id`=? AND `commphoto_user`=? LIMIT 1;", array($cid, $log));
if (!empty($comm)) {
if (empty($comm['photo_closed'])) {
if ($comm['commphoto_time'] + 600 > SITETIME) {
$msg = no_br($msg);
$msg = antimat($msg);
$msg = smiles($msg);
DB::run() -> query("UPDATE `commphoto` SET `commphoto_text`=? WHERE `commphoto_id`=?;", array($msg, $cid));
$_SESSION['note'] = 'Комментарий успешно отредактирован!';
redirect("index.php?act=comments&gid=$gid&start=$start&".SID);
} else {
show_error('Ошибка! Редактирование невозможно, прошло более 10 минут!');
}
} 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=editcomm&gid='.$gid.'&cid='.$cid.'&start='.$start.'&'.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::run() -> exec("DELETE FROM commphoto WHERE commphoto_id IN (".$del.") AND commphoto_gid=".$gid.";");
DB::run() -> query("UPDATE photo SET photo_comments=photo_comments-? WHERE photo_id=?;", array($delcomments, $gid));
$_SESSION['note'] = 'Выбранные комментарии успешно удалены!';
redirect("index.php?act=comments&gid=$gid&start=$start&".SID);
} 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.'upload/pictures')) {
$querydel = DB::run() -> 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::run() -> query("DELETE FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($querydel['photo_id']));
DB::run() -> query("DELETE FROM `commphoto` WHERE `commphoto_gid`=?;", array($querydel['photo_id']));
unlink_image('upload/pictures/', $querydel['photo_link']);
$_SESSION['note'] = 'Фотография успешно удалена!';
redirect("album.php?act=photo&start=$start&".SID);
} 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="album.php?act=photo&start='.$start.'&'.SID.'">Вернуться</a><br />';
break;
############################################################################################
## Переадресация на последнюю страницу ##
############################################################################################
case 'end':
$query = DB::run() -> queryFetch("SELECT `photo_comments` FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
if (!empty($query)) {
$end = last_page($query['photo_comments'], $config['postgallery']);
redirect("index.php?act=comments&gid=$gid&start=$end&".SID);
} else {
show_error('Ошибка! Комментарий к данному изображению не существует!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?'.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.'upload/pictures')){
*
* $querydel = DB::run()->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::run()->query("DELETE FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($delete['photo_id']));
* DB::run()->query("DELETE FROM `commphoto` WHERE `commphoto_gid`=?;", array($delete['photo_id']));
* if (file_exists(BASEDIR.'upload/pictures/'.$delete['photo_link'])) {unlink(BASEDIR.'upload/pictures/'.$delete['photo_link']);}
* }
*
* $_SESSION['note'] = 'Выбранные фотографии успешно удалены!';
* redirect("index.php?act=album&start=$start&".SID);
*
* } 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:
redirect("index.php?".SID);
endswitch;
include_once ('../themes/footer.php');
?>