Файл: zc/file.php
Строк: 117
<?php
include '../system/sys.php';
include '../system/funcs.php';
if (!isset ($us)) {
header ('location:/');
exit;
}
if (!isset ($_GET['id'])) {
header ('location: /zc');
exit;
}
$query = DB :: $dbs -> query ("SELECT * FROM `zc_f` WHERE (`id`=?)", array ((int) $_GET['id']));
if ($query -> rowCount ()==0) {
header ('location: /zc');
exit;
}
$f = $query -> fetch ();
$u = DB :: $dbs -> queryFetch ("SELECT * FROM `us` WHERE (`id`='" . $f['us'] . "')");
$query = DB::$dbs->query ("SELECT * FROM `zc_kat` WHERE (`id`='" . $f['id_kat'] . "')");
if ($query -> rowCount ()==0) {
header ('location:/zc');
exit;
}
$kat = $query -> fetch ();
$query = DB :: $dbs -> query ("SELECT * FROM `zc_pk` WHERE (`id`='" . $f['id_pk'] . "')");
if ($query -> rowCount ()==0) {
header ('location:/zc');
exit;
}
$pk = $query -> fetch ();
H ($f['name'],'<a href="/zc" style="color:white;">ЗЦ</a> / <a href="/zc/pk' . $pk['id'] . '" style="color:white;">' . $pk['name'] . '</a> / ' . $f['name']);
if (empty ($f['dop'])) {
if ($kat['mod']!=$us['id']) {
header ('location: /zc');
exit;
}
echo '<b>Файл на модерации!</b><br/>';
if (isset ($_GET['dop'])) {
if ($_GET['dop'] == 'da') {
DB :: $dbs -> query ("UPDATE `zc_f` SET `dop`='da' WHERE (`id`='" . $f['id'] . "')");
DB :: $dbs -> query ("INSERT INTO `action` (`value`,`t`,`us`) VALUES ('Ваш [url=/zc/file" . $f['id'] . "]файл[/url] успешно прошел модерацию!', '" . time () . "', '" . $f['us'] . "')");
}
elseif ($_GET['dop'] == 'net') {
DB :: $dbs -> query ("UPDATE `zc_f` SET `dop`='net' WHERE (`id`='" . $f['id'] . "')");
DB :: $dbs -> query ("INSERT INTO `action` (`value`,`t`,`us`) VALUES ('Ваш файл не прошел модерацию!', '" . time () . "', '" . $f['us'] . "')");
}
header ('location: /zc/file' . $f['id']);
}
echo '- <a href="/zc/file.php?id=' . $f['id'] . '&dop=da">Принять</a>';
echo ' | ';
echo '<a href="/zc/file.php?id=' . $f['id'] . '&dop=net">Отклонить</a><br/>';
echo '<br/>';
}
//
if ($f['us'] == $us['id'] || $kat['mod']==$us['id']) {
echo '<div class="list1"><small>';
echo '<a href="/zc/file.php?id=' . $f['id'] . '&redk">Редактировать</a>';
echo ' | <a href="/zc/file.php?id=' . $f['id'] . '&add_scr">Добавить скриншот</a>';
//
if ($kat['mod']==$us['id']) {
echo ' | <a href="/zc/file.php?id=' . $f['id'] . '&del">Удалить</a>';
// Удаление файла
if (isset ($_GET['del'])) {
DB :: $dbs -> query ("DELETE FROM `zc_f` WHERE (`id`='" . $f['id'] . "')");
DB :: $dbs -> query ("DELETE FROM `zc_komm` WHERE (`id_f`='" . $f['id'] . "')");
DB :: $dbs -> query ("DELETE FROM `zc_vote` WHERE (`id_file`='" . $f['id'] . "')");
DB :: $dbs -> query ("DELETE FROM `zc_scr` WHERE (`id_f`='" . $f['id'] . "')");
//
if (file_exists ($_SERVER['DOCUMENT_ROOT'] . '/files/zc/' . $f['filename'])) {
unlink ($_SERVER['DOCUMENT_ROOT'] . '/files/zc/' . $f['filename']);
}
header ('location: /zc');
exit;
}
}
echo '</small></div>';
if (isset ($_GET['del_scr'])) {
$query = DB :: $dbs -> query ("SELECT * FROM `zc_scr` WHERE (`id_f`='" . $f['id'] . "') AND (`id`=?)", array (intval ($_GET['del_scr'])));
if ($query -> rowCount () == 0) {
header ('location: /zc/file.php?id=' . $f['id']);
exit;
}
$scr = $query -> fetch ();
DB :: $dbs -> query ("DELETE FROM `zc_scr` WHERE (`id`='" . $scr['id'] . "')");
if (file_exists ($_SERVER['DOCUMENT_ROOT'] . '/files/zc_scr/' . $scr['filename'])) {
unlink ($_SERVER['DOCUMENT_ROOT'] . '/files/zc_scr/' . $scr['filename']);
}
header ('location: /zc/file.php?id=' . $f['id']);
}
}
// Редактирование
if (isset ($_GET['redk'])) {
if ($f['us'] != $us['id'] && $kat['mod']!=$us['id']) {
header ('location: /zc/file' . $f['id']);
exit;
}
echo '<div class="list1">';
echo '<form action="/zc/file.php?id=' . $f['id'] . '&redk&save" method="post">';
echo 'Название:<br/><input name="name" value="' . $f['name'] . '"/><br/>';
echo 'Описание:<br/><textarea name="opis">' . $f['opis'] . '</textarea><br/>';
if ($us['reit']!=0) {
echo 'Рейтинг для скачивания:<br/>';
echo '<input name="reit" value="' . $f['reit'] . '"/><br/>';
}
echo '<input type="submit" value="Сохранить"/>';
echo '</form>';
echo '</div>';
echo '<div class="list1"><a href="/zc/file.php?id=' . $f['id'] . '">К файлу</a></div>';
if (isset ($_GET['save'])) {
$_POST['name'] = htmlspecialchars (addslashes (trim ($_POST['name'])));
$_POST['opis'] = htmlspecialchars (addslashes (trim ($_POST['opis'])));
if (empty ($_POST['name'])) {
echo '<div class="list1"><b style="color:red;">Вы не ввели название..</b></div>';
}
elseif (empty ($_POST['opis'])) {
echo '<div class="list1"><b style="color:red;">Вы не ввели описание..</b></div>';
}
else {
if (!isset ($_POST['reit'])) {
$_POST['reit']=0;
}
else {
if ($_POST['reit']<0) {
$_POST['reit']=0;
}
if ($_POST['reit']>$us['reit']) {
$_POST['reit']=$us['reit'];
}
}
DB :: $dbs -> query ("UPDATE `zc_f` SET `name`=?,`opis`=?, `reit`=? WHERE (`id`='" . $f['id'] . "')", array ($_POST['name'], $_POST['opis'], $_POST['reit']));
header ('location: /zc/file' . $f['id']);
}
}
}
// Загрузка скриншотов
elseif (isset ($_GET['add_scr'])) {
if ($f['us'] != $us['id'] && $kat['mod']!=$us['mod'] || $kat['mod']!=$us['id']) {
header ('location: /zc/file' . $f['id']);
exit;
}
echo '<div class="list1">';
echo '<form action="/zc/file.php?id=' . $f['id'] . '&add_scr&up" method="post" enctype="multipart/form-data">';
echo 'Файл:<br/><input type="file" name="filename"/><br/>';
echo '<input type="submit" value="Загрузить"/>';
echo '</form>';
echo '</div>';
echo '<div class="list1"><a href="/zc/file.php?id=' . $f['id'] . '">К файлу</a></div>';
if (isset ($_GET['up'])) {
if (file_exists ($_FILES['filename']['tmp_name'])) {
$ext = substr ($_FILES['filename']['name'], strrpos ($_FILES['filename']['name'], '.') + 1);
if (!in_array ($ext, array ('jpg','gif','png','jpeg','bmp'))) {
echo '<div class="list1"><b style="color:red;">Недопустимый формат файла!</b></div>';
}
else {
if ($_FILES['filename']['size'] > ((1024 * 1024 ) * 20)) {
echo '<div class="list1"><b style="color:red;">Файл привышает допустимый размер в 20 Мб!</b></div>';
}
else {
$filename = $us['id'] . '_' . passgen () . '.' . $ext;
copy ($_FILES['filename']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/files/zc_scr/' . $filename);
DB :: $dbs -> query ("INSERT INTO `zc_scr` (`id_kat`,`id_pk`,`id_f`,`filename`) VALUES ('" . $kat['id'] . "','" . $pk['id'] . "', '" . $f['id'] . "', '$filename')");
header ('location: /zc/file.php?id=' . $f['id']);
}
}
}
else {
echo '<div class="list1"><b style="color:red;">Вы не выбрали файл..</b></div>';
}
}
}
else {
if ($f['reit']>$us['reit']) {
echo '<div class="list1">Чтобы скачать данный скрипт вы должны набрать <b>' . $f['reit'] . '</b> рейтинга!</div>';
}
else {
// Поделиться файлом
if (isset ($_GET['poslike'])) {
echo '<div class="list1">';
echo '<form action="/zc/file.php?id=' . $f['id'] . '&poslike&ok" method="post">';
echo '<img src="/images/re.png" alt=""/> ' . uNick ($f['us']) . '<br/>';
echo 'Файл: <a href="/zc/file' . $f['id'] . '"><b>' . $f['name'] . '</b></a><hr/>';
echo 'Комментарий (не обязательно):<br/>';
echo '<textarea name="komm"></textarea><br/>';
echo '<input type="submit" value="Поделиться"/>';
echo '</form>';
echo '</div>';
echo '<div class="list1"><a href="/zc/file' . $f['id'] . '">Вернуться к файлу</a></div>';
if (isset ($_GET['ok'])) {
$_POST['komm'] = htmlspecialchars (addslashes (trim ($_POST['komm'])));
if (empty ($_POST['komm'])) {
$_POST['komm'] = NULL;
}
if (DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `new` WHERE (`us`='" . $us['id'] . "') AND (`t`>'" . (time () - 60) . "')") != 0) {
echo '<div class="list">Вы слишком часто добавляете новости!</div>';
}
else {
DB :: $dbs -> query ("INSERT INTO `new` (`us`,`kem`,`id_f`,`komm`,`t`) VALUES ('" . $us['id'] . "', '" . $us['id'] . "','" . $f['id'] . "', ?, '" . time () . "')", array ($_POST['komm']));
header ('location: /usnews.php?id=' . $us['id']);
}
}
}
else {
echo '<div class="list1">';
echo '<b style="color:red;">' . $f['name'] . '</b><br/>';
echo 'Описание: ' . bb ($f['opis']) . '<br/>';
echo 'Загрузил: ' . uNick ($u['id']) . '<br/>';
echo 'Вес: <b>' . sizef ($f['size']) . '</b><br/>';
echo 'Скачиваний: <b>' . $f['ups'] . '</b><br/>';
if ($f['last']!=0) {
echo 'Последнее скачивание: <b>' . datef ($f['last']) . '</b><br/>';
}
echo 'Добавлен: <b>' . datef ($f['time']) . '</b><br/>';
if ($f['reit']!=0) {
echo '<b style="color:green;">Рейтинг для скачки: ' . $f['reit'] . '</b><br/>';
}
if (DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `zc_scr` WHERE (`id_f`='" . $f['id'] . "')") != 0) {
echo 'Скриншоты:<br/>';
$query = DB :: $dbs -> query ("SELECT * FROM `zc_scr` WHERE (`id_f`='" . $f['id'] . "')");
while ($scr = $query -> fetch ()) {
echo '<a href="/files/zc_scr/' . $scr['filename'] . '">' . $scr['filename'] . '</a> ';
if ($f['us'] == $us['id'] || $kat['mod']==$us['id']) {
echo ' <a href="/zc/file.php?id=' . $f['id'] . '&del_scr=' . $scr['id'] . '">удал.</a>';
}
echo '<br/>';
}
}
echo '</div>';
if ($f['reit']<=$us['reit']) {
$ext = substr ($f['filename'], strrpos ($f['filename'], '.') + 1);
if ($ext == 'zip') {
echo '<div class="lst"><img src="" alt=""/> <a href="/zc/zip.php?id=' . $f['id'] . '">Открыть архив</a></div>';
}
if ($ext == 'mp3') {
echo '<object type="application/x-shockwave-flash" data="/flash.swf?file=/files/zc/' . $f['filename'] . '">';
echo '</object>';
}
echo '<div class="lst"><img src="" alt=""/> <a href="/zc/file.php?id=' . $f['id'] . '&do">Скачать ' . $f['filename'] . '</a></div>';
if (isset ($_GET['do'])) {
DB :: $dbs -> query ("UPDATE `zc_f` SET `ups`=`ups`+1, `last`='" . time () . "' WHERE (`id`='" . $f['id'] . "')");
header ('location: /files/zc/' . $f['filename']);
}
}
echo '<div class="lst">Ссылка на файл: <input type="text" value="http://' . $_SERVER['HTTP_HOST'] . '/zc/file' . $f['id'] . '"/></div>';
echo '<div class="lst">Экспорт: <input type="text" value="http://' . $_SERVER['HTTP_HOST'] . '/zc/files/' . $f['filename'] . '"/></div>';
echo '<div class="lst"><a href="/zc/file.php?id=' . $f['id'] . '&poslike">Поделиться файлом</a></div>';
echo '<div class="list1"><a href="/zc/votes.php?id=' . $f['id'] . '">Рейтинг</a>: ';
if ($f['us']!=$us['id']) {
echo '<a href="/zc/file.php?id=' . $f['id'] . '&vote&vot=za">+1</a> | <a href="/zc/file.php?id=' . $f['id'] . '&vote&vot=protiv">-1</a>';
}
echo ' (<font color="green">' . DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `zc_vote` WHERE (`id_file`='" . $f['id'] . "') AND (`vot`='za')") . '</font>/<font color="red">' . DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `zc_vote` WHERE (`id_file`='" . $f['id'] . "') AND (`vot`='protiv')").'</font>)';
echo '</div>';
if ($f['us']!=$us['id']) {
if (isset ($_GET['vote'])) {
if (DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `zc_vote` WHERE (`id_file`='" . $f['id'] . "') AND (`kem`='" . $us['id'] . "')")!=0) {
echo '<div class="list1"><b style="color:red;">Вы уже оценивали данный файл!</b></div>';
}
else {
if (!isset ($_GET['vot'])) {
header ('location: /zc/file' . $f['id']);
exit;
}
$_GET['vot'] = htmlspecialchars (addslashes (trim ($_GET['vot'])));
echo '<div class="list1">';
echo '<form action="/zc/file.php?id=' . $f['id'] . '&vote&vot=' . $_GET['vot'] . '&ok" method="post">';
echo 'Комментарий:<br/>';
echo '<textarea name="komm"></textarea><br/>';
echo '<input type="submit" value="Оценить"/>';
echo '</div>';
if (isset ($_GET['ok'])) {
$_POST['komm'] = htmlspecialchars (addslashes (trim ($_POST['komm'])));
if (empty ($_POST['komm'])) {
echo '<div class="list1"><b style="color:red;">Вы не ввели текст комментария!</b></div>';
}
else {
if ($_GET['vot']=='za') {
DB :: $dbs -> query ("UPDATE `us` SET `reit`='" . ($u['reit'] + 0.1) . "' WHERE (`id`='" . $u['id'] . "')");
DB :: $dbs -> query ("INSERT INTO `action` (`value`,`t`,`us`) VALUES ('us{" . $us['id'] . "} оценил [b]положительно[/b] ваш [url=/zc/file" . $f['id'] . "]файл[/url]!', '" . time () . "', '" . $u['id'] . "')");
DB :: $dbs -> query ("INSERT INTO `zc_vote` (`id_file`,`us`,`komm`,`vot`,`t`,`kem`) VALUES ('" . $f['id'] . "', '" . $u['id'] . "',?,'za','" . time () . "', '" . $us['id'] . "')", array ($_POST['komm']));
}
elseif ($_GET['vot'] == 'protiv') {
DB :: $dbs -> query ("UPDATE `us` SET `reit`='" . ($u['reit'] - 0.1) . "' WHERE (`id`='" . $f['us'] . "')");
DB :: $dbs -> query ("INSERT INTO `action` (`value`,`t`,`us`) VALUES ('us{" . $us['id'] . "} оценил [b]отрицательно[/b] ваш [url=/zc/file" . $f['id'] . "]файл[/url]!', '" . time () . "', '" . $u['id'] . "')");
DB :: $dbs -> query ("INSERT INTO `zc_vote` (`id_file`,`us`,`komm`,`vot`,`t`,`kem`) VALUES ('" . $f['id'] . "', '" . $u['id'] . "',?,'protiv','" . time () . "','" . $us['id'] . "')", array ($_POST['komm']));
}
header ('location: /zc/file' . $f['id']);
}
}
}
}
}
echo '<div class="list1"><a href="/zc/komm.php?id=' . $f['id'] . '">Комментарии</a> (' . DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `zc_komm` WHERE (`id_f`='" . $f['id'] . "')").')</div>';
}
}
}
F ();
?>