Файл: foto/inc/user_show_foto.php
Строк: 267
<?php
if (!isset($user) && !isset($_GET['id_user'])) {
exit(header("Location: /foto/"));
}
if (isset($user)) {
$ank['id'] = $user['id'];
}
if (isset($_GET['id_user'])) {
$ank['id'] = intval($_GET['id_user']);
}
$ank = get_user($ank['id']);
if (!$ank) {
header("Location: /foto/?" . SID);
exit;
}
$gallery['id'] = intval($_GET['id_gallery']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery` WHERE `id` = '$gallery[id]' AND `id_user` = '$ank[id]' LIMIT 1"), 0) == 0) {
header("Location: /foto/$ank[id]/?" . SID);
exit;
}
$gallery = mysql_fetch_assoc(mysql_query("SELECT * FROM `gallery` WHERE `id` = '$gallery[id]' AND `id_user` = '$ank[id]' LIMIT 1"));
$foto['id'] = intval($_GET['id_foto']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_foto` WHERE `id` = '$foto[id]' LIMIT 1"), 0) == 0) {
header("Location: /foto/$ank[id]/$gallery[id]/?" . SID);
exit;
}
$foto = mysql_fetch_assoc(mysql_query("SELECT * FROM `gallery_foto` WHERE `id` = '$foto[id]' LIMIT 1"));
$set['title'] = nick($ank['id'], 'text', 0) . ' - ' . output_text($gallery['name']) . ' - ' . output_text($foto['name']); // заголовок страницы
include_once '../sys/inc/thead.php';
title();
if (user_access('foto_foto_edit') && $ank['level'] > $user['level'] || isset($user) && $ank['id'] == $user['id']) {
include 'inc/gallery_show_foto_act.php';
}
if (isset($user) && $user['id'] != $ank['id'] && $user['balls'] >= 10 && $user['rating'] >= 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_rating` WHERE `id_user` = '$user[id]' AND `id_foto` = '$foto[id]'"), 0) == 0) {
if (isset($_GET['rating']) && $_GET['rating'] == 'down') {
#Себе
rating :: minus($user['id'], (0.05), 1, null, 'foto_minus');
//обнуляем что б и автору добавить рейтинга
$_SESSION['rating'] = null;
#Автору
rating :: minus($ank['id'], (0.05), 1, null, 'foto_minus');
//Ставим анти флуд
$_SESSION['rating'] = time() + 60;
mysql_query("UPDATE `gallery_foto` SET `rating` = '" . ($foto['rating'] - 1) . "' WHERE `id` = '$foto[id]' LIMIT 1", $db);
mysql_query("INSERT INTO `gallery_rating` (`id_user`, `id_foto`) values('$user[id]', '$foto[id]')", $db);
msg(lang('Ваш отрицательный отзыв принят'));
$foto = mysql_fetch_assoc(mysql_query("SELECT * FROM `gallery_foto` WHERE `id` = $foto[id] LIMIT 1"));
} elseif (isset($_GET['rating']) && $_GET['rating'] == 'up') {
#Себе
rating :: add($user['id'], (0.03), 1, null, 'foto');
//обнуляем что б и автору добавить рейтинга
$_SESSION['rating'] = null;
#Автору
rating :: add($ank['id'], (0.03), 1, null, 'foto');
//Ставим анти флуд
$_SESSION['rating'] = time() + 60;
mysql_query("UPDATE `gallery_foto` SET `rating` = '" . ($foto['rating'] + 1) . "' WHERE `id` = '$foto[id]' LIMIT 1", $db);
mysql_query("INSERT INTO `gallery_rating` (`id_user`, `id_foto`) values('$user[id]', '$foto[id]')", $db);
msg(lang('Ваш положительный отзыв принят'));
$foto = mysql_fetch_assoc(mysql_query("SELECT * FROM `gallery_foto` WHERE `id` = $foto[id] LIMIT 1"));
}
}
if (isset($_POST['msg']) && isset($user)) {
$msg = $_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit'] == 1) {
$msg = translit($msg);
}
$mat = antimat($msg);
if ($mat) {
$err[] = lang('В тексте сообщения обнаружен мат') . $mat;
}
if (strlen2($msg) > 1024) {
$err = lang('Сообщение слишком длинное');
} elseif (strlen2($msg) < 2) {
$err = lang('Короткое сообщение');
} elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_komm` WHERE `id_foto` = '$foto[id]' AND `id_user` = '$user[id]' AND `msg` = '" . my_esc($msg) . "' LIMIT 1"), 0) != 0) {
$err = 'Ваше сообщение повторяет предыдущее';
} elseif (!isset($err)) {
if ($ank['id'] != $user['id']) {
mysql_query("INSERT INTO `jurnal` (`id_user`, `id_kont`, `msg`, `time`, `type`) values('0', '$ank[id]', '$user[nick] оставил [url=/foto/$ank[id]/$gallery[id]/$foto[id]/?page=end]комментарий к вашему фото[/url]', '$time', 'my_foto')");
}
mysql_query("INSERT INTO `gallery_komm` (`id_foto`, `id_user`, `time`, `msg`) values('$foto[id]', '$user[id]', '$time', '" . my_esc($msg) . "')");
mysql_query("UPDATE `user` SET `balls` = '" . ($user['balls'] + 1) . "' WHERE `id` = '$user[id]' LIMIT 1");
msg(lang('Сообщение успешно добавлено'));
}
}
if (user_access('foto_komm_del') && isset($_GET['delete']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_komm` WHERE `id`='" . intval($_GET['delete']) . "' AND `id_foto`='$foto[id]' LIMIT 1"), 0) != 0) {
mysql_query("DELETE FROM `gallery_komm` WHERE `id`='" . intval($_GET['delete']) . "' LIMIT 1");
admin_log('Фотогалерея', 'Фотографии', "Удаление комментария к фото [url=/id$ank[id]]$ank[nick][/url]");
msg(lang('Комментарий успешно удален'));
}
err();
aut();
?>
<script type="text/javascript" src="/sys/js/lightBox/refresh_st.js"></script>
<script type="text/javascript" src="/sys/js/lightBox/refresh_st_0.js"></script>
<link rel="stylesheet" href="/sys/js/lightBox/lightBox.css" type="text/css" media="screen" />
<script src="/sys/js/lightBox/lightBox.js" type="text/javascript"></script>
<script type="text/javascript">
window.addEvent('domready', function () {
$$('.popup_text').each(function (item) {
item.getParent('li').getElement('a').store('title', item.get('html'));
});
});
</script>
<?php
echo "<div class='list-group-item'>n";
echo '<li><a js="fiera_lightBox[1]" class="image" href="/ImgType?imgLink=' . base64_encode('files/foto/' . $foto['id'] . '.png') . '&width=500&height=500&ImgType=0" width=""><img src="/ImgType?imgLink=' . base64_encode('files/foto/' . $foto['id'] . '.png') . '&width=150&height=150&ImgType=0"></a>
<div class="popup_text"> ' . lang('Описание') . ': ' . ( $foto['opis'] != null ? output_text($foto['opis']) : false ) . '</div>
</li></a><br />';
include_once H . 'sys/inc/downloadfile.php';
if (isset($_GET['DownloadFile'])) {
exit(DownloadFile(H . $_GET['DownloadFile'], $_SERVER['SERVER_NAME'] . '_Фото_' . $foto['id'] . '_' . $ank['nick'] . '.png', ras_to_mime('png')));
}
if ($foto['opis'] != null) {
echo output_text($foto['opis']) . "<br />n";
}
echo "<a class='btn btn-secondary' href='?DownloadFile=/files/foto/$foto[id].png' title='" . lang('Скачать оригинал') . "'><span class='fa fa-download fa-fw'></span> ";
echo lang('Скачать оригинал');
echo " <font color='green'>" . size_file(filesize(H . 'files/foto/' . $foto['id'] . '.png')) . "</font>";
echo "</a><br />";
echo "<span class='fa fa-bar-chart fa-fw'></span> " . lang('Рейтинг') . ": ";
if (isset($user) && $user['id'] != $ank['id'] && $user['balls'] >= 10 && $user['rating'] >= 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_rating` WHERE `id_user` = '$user[id]' AND `id_foto` = '$foto[id]'"), 0) == 0) {
echo "<a href="?id=$foto[id]&rating=down" title="Отдать отрицательный голос"><span class='fa fa-thumbs-o-down'></span></a> ";
}
echo "<span class="label label-default">$foto[rating]</span>";
if (isset($user) && $user['id'] != $ank['id'] && $user['balls'] >= 10 && $user['rating'] >= 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_rating` WHERE `id_user` = '$user[id]' AND `id_foto` = '$foto[id]'"), 0) == 0) {
echo " <a href="?id=$foto[id]&rating=up" title="Отдать положительный голос"><span class='fa fa-thumbs-o-up'></span></a>";
}
echo "</div>n";
if ($user['id'] != $ank['id'] and $ank['group_access'] == 0 and $user['group_access'] == 0) {
if (!isset($_GET['Block'])) {
echo "<span class='ank_span' style='float:right'>";
echo "<a href='?Block'> " . lang('Жалоба на фотографию') . "</a><br />";
echo "</span>";
}
//Жалоба
if (isset($_POST['Block'])) {
$msg = lang('Новая жалоба фото от пользователя') . ' [url=/' . $ank['mylink'] . ']' . nick($ank['id'], null, 0) . '[/url]';
$msg .= my_esc($_POST['prich']) . ' [url=/foto/' . $ank['id'] . '/' . $gallery['id'] . '/' . $foto['id'] . '/][color=red]LINK[/color][/url]';
$msg .= lang('Жалоба подана от') . ' : [url=/' . $user['mylink'] . ']' . nick($user['id'], null, 0) . '[/url] ';
$c_v = strlen2($msg);
if ($c_v < 100) {
$_SESSION['message'] = lang('Нужно указать причину подробнее');
exit(header("Location: /" . $ank['mylink'] . '?Block'));
}
if ($c_v > 5000) {
$_SESSION['message'] = lang('Причина слишком большая');
exit(header("Location: ?Block"));
}
query("INSERT INTO `jurnal_system` (`time` ,`type` ,`read` ,`id_user`,`msg`,`id_kont`) VALUES ( '" . time() . "', 'spam_foto', '0', '" . $ank['id'] . "','" . $msg . "','0');");
$_SESSION['message'] = lang('Успешно');
//Удаляем кэш
cache_delete::user($ank['id']);
exit(header('Location: ?'));
}
//Форма блокировки
if (isset($_GET['Block'])) {
echo "<div class='list-group-item'><form action='' method='post'>";
echo lang('Причина') . " <textarea name='prich' class='form_a'></textarea>";
echo "<input class='form_a_bottom' name='Block' type='submit' value='" . lang('Отправить') . "' /> <a href='/" . $ank['mylink'] . "'>" . lang('Отмена') . "</a>";
echo "</form></div>";
}
}
if (user_access('foto_foto_edit') && $ank['level'] < $user['level'] || isset($user) && $ank['id'] == $user['id']) {
if (isset($_GET['avatars']) AND $ank['id'] == $user['id']) {
//загружаем класс для работы с изображениями
require_once H . "sys/classes/ImgType.class.php";
@unlink(H . "files/avatars/$user[id].png");
//класс для работы с файлом изображения
$image = new ImgType();
//сам файл
$image->load(H . "files/foto/{$foto['id']}.png");
//размеры
$image->resizeToWidth(1000);
//сохраняем под ...
$image->save(H . 'files/avatars/' . $user['id'] . '.png');
$_SESSION['message'] = lang('Аватар установлен');
exit(header('Location: ?'));
}
include 'inc/gallery_show_foto_form.php';
}
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_komm` WHERE `id_foto` = '$foto[id]'"), 0);
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
if ($k_post == 0) {
echo "<div class = 'alert alert-info'>";
echo "<span class='fa fa-info-circle fa-fw'></span> " . lang('Нет комментариев');
echo "</div>";
}
$q = mysql_query("SELECT * FROM `gallery_komm` WHERE `id_foto` = '$foto[id]' ORDER BY `id` ASC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_assoc($q)) {
$ank2 = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '$post[id_user]' LIMIT 1"));
echo "<div class='list-group-item'>";
echo "<table><tr><td class='icon14'>";
avatar($ank2['id'], '40');
echo " </td><td class = 'null'>n";
if (user_access('foto_komm_del')) {
echo " <div style='float:right;' title='Удалить комментарий'><a href='?delete=$post[id]'><span class='fa fa-trash-o'></span></a></div> ";
}
echo nick($ank2['id']);
echo " <span title='" . date::time($post['time']) . "'><small>" . date::timek($post['time']) . " </small></span>";
echo "<br />";
echo output_text($post['msg']);
echo "</td></tr></table></div>n";
}
if ($k_page > 1) {
str('?', $k_page, $page);
} // Вывод страниц
if (isset($user)) {
panel_form :: head();
echo "<form method='post' class="list-group-item" name='message' action='?'>n";
echo lang('Сообщение') . ":<br /><textarea class='form-control' name="msg"></textarea>n";
if ($user['set_translit'] == 1) {
echo "<label class='c-input c-checkbox'><input type="checkbox" name="translit" value="1" /><span class='c-indicator'></span> " . lang('Транслит') . "</label><br />n";
}
echo "<button class='btn btn-success'>" . lang('Отправить') . "</button>n";
echo "</form>";
panel_form :: foot();
}
echo "<div class="list-group-item">n";
echo "<a href='/foto/$ank[id]/$gallery[id]/'><span class='fa fa-arrow-left fa-fw'></span> " . lang('К фотографиям') . "</a><br />n";
echo "<a href='/foto/$ank[id]/'><span class='fa fa-arrow-left fa-fw'></span> " . lang('К фотоальбомам') . "</a>";
echo "</div>n";
include_once '../sys/inc/tfoot.php';
exit;
?>