Файл: 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 ();
?>