Вход Регистрация
Файл: down/get_file.php
Строк: 135
<?php

require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/header.php');

include_once (
'core/fun.php');

$id = (isset($_GET['id'])) ? abs(intval($_GET['id'])) : '';
$file DB::run()->queryFetch("SELECT * FROM downloads_files WHERE id= ?", array ($id));
$act = isset($_GET['act']) ? check($_GET['act']) : '';

switch (
$act):

    default :
        if (
$file['id']) {
            
$config['newtitle'] = $file['title'];
            
$config['description'] = strip_str($file['description']);

            
$did DB::run()->queryFetch("SELECT `id`, `name` FROM `downloads_category` WHERE `id` = ? LIMIT 1;", array ($file['category']));
            echo 
'<div class="b"><a href="index.php?id=' $did['id'] . '">' $did['name'] . '</a> / <b>' $file['title'] . '</b> (' formatsize($file['size']) . ')</div>';
            echo 
'<hr />';

            
$ext getExtension($file['file']);

            if (
in_array($ext, array ('mp3'))) {
                echo 
'<hr />';
                echo 
mp3info(BASEDIR '/' $file['path_to_file'] . $file['file']);
                echo
' <b>Онлайн прослушка:</b><br/>
                        <object type="application/x-shockwave-flash" data="' 
$config['home'] . '/down/core/player.swf?mp3=' $config['home'] . '/' htmlspecialchars($file['path_to_file'] . $file['file']) . '" width="200" height="25">
                        <param name="wmode" value="transparent" />
                        <param name="movie" value="' 
$config['home'] . '/down/core/player.swf?mp3=' $config['home'] . '/' htmlspecialchars($file['path_to_file'] . $file['file']) . '" />
                        </object>'
;

                echo 
'<hr />';
            }

            if (
in_array($ext, array ('3gp''avi''mp4''flv'))) {
                echo 
'<object type="application/x-shockwave-flash" data="' $config['home'] . '/down/core/uflvplayer_500x375.swf" height="188" width="250">
                        <param name="bgcolor" value="#DFE6EF" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="' 
$config['home'] . '/down/core/uflvplayer_500x375.swf"/>
                        <param name="FlashVars" value="way=' 
$config['home'] . '/' htmlspecialchars($file['path_to_file'] . $file['file']) . '&amp;swf=' $config['home'] . '/down/core/uflvplayer_500x375.swf&amp;skin=white&amp;volume=70"/></object>';
            }

            if (
in_array($ext, array ('jpg''jpeg''gif''png'))) {
                echo 
resize_image($file['path_to_file'], $file['file'], 300$file['title']);
                echo 
'<br />';
            }


            echo 
'<br />' bb_code($file['description']) . '<br /><br />';

            echo 
'Добавлено: ' profile($file['author']) . ' (' date_fixed($file['date']) . ')';
            if (
is_admin(array (101102))) {
                echo 
' (<a href="?act=edit&amp;id=' $file['id'] . '">Редактировать</a> / <a href="?act=del&amp;id=' $file['id'] . '">Удалить</a>)';
            }
            echo 
'<hr />';
            if (
is_user()) {
                echo 
'<img src="/images/img/download.gif" alt="image" /> <b><a href="get_file.php?act=load&amp;id=' $file['id'] . '">Скачать</a></b>  (' formatsize($file['size']) . ')<br />';
            } else {
                echo 
'<div class="form">';
                echo 
'<form action="get_file.php?act=load&amp;id=' $file['id'] . '" method="post">';
                echo 
'Проверочный код:<br /> ';
                echo 
'<img src="/gallery/protect.php" alt="" /><br />';
                echo 
'<input name="provkod" size="6" maxlength="6" />';
                echo 
'<input type="submit" value="Скачать" /></form>';
                echo 
'<em>Чтобы не вводить код при каждом скачивании, советуем <a href="/pages/registration.php">зарегистрироваться</a></em></div><br />';
            }

            
//TODO: попилить
            //    echo '<div class="b">Похожие файлы</div>';
            //    $sql_result = DB::run()->query("SELECT id, title, description, date  FROM downloads_files WHERE MATCH title, description AGAINST (? IN BOOLEAN MODE) AND id != ? LIMIT 5", array ($file['title'], $id));
            //
            //    while ($related = $sql_result->fetch()) {
            //        echo '<a href="get_file.php?id=' . $related['id'] . '">' . check($related['title']) . '</a>';
            //    }
            //      echo 'Похожих файлов не найдено.';
        
} else {
            
show_error('Ошибка! Запрашиваемого файла несуществует.');
        }
        break;

    case 
'edit':
        if (
is_admin(array (101102))) {
            
$file DB::run()->queryFetch("SELECT * FROM downloads_files WHERE id= ?", array ($id));
            if (
$file['id']) {
                if (isset(
$_POST['submit']) && !empty($_GET['token'])) {
                    
$token check($_GET['token']);
                    
$name check($_POST['name']);
                    
$description check($_POST['description']);
                    if (
$token == $_SESSION['token']) {
                        if (
utf_strlen($name) >= && utf_strlen($name) <= 50) {
                            if (
utf_strlen($description) <= 5000) {
                                
$description no_br($description);
                                
DB::run()->query("UPDATE `downloads_files` SET `title` = ?, `description` = ? WHERE `id` = ?", array ($name$description$file['id']));

                                
$_SESSION['note'] = 'Файл успешно изменен!';
                                
redirect("get_file.php?id=" $file['id']);
                            } else {
                                
show_error('Ошибка! Слишком длинный или короткий текст описания (от 10 до 5000 символов)!');
                            }
                        } else {
                            
show_error('Ошибка! Слишком длинное или короткое название (от 5 до 50 символов)!');
                        }
                    } else {
                        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
                    }
                }

                echo 
'<div class="form">';
                echo 
'<form action="?act=edit&amp;id=' $file['id'] . '&amp;token=' $_SESSION['token'] . '" method="post" enctype="multipart/form-data">';
                echo 
'Название файла:*:<br />';
                echo 
'<input type="text" name="name" size="50" maxlength="50" value="' $file['title'] . '" /><br />';
                
//echo 'Файл (' . $config['allowextload'] . '):<br /><input type="file" name="loadfile" /><br />';
                
echo 'Описание*:<br />';
                echo 
'<textarea cols="65" rows="5" name="description">' $file['description'] . '</textarea><br />';
                echo 
'<input value="Редактировать" type="submit" name="submit"/></form></div><br />';
            } else {
                
show_error('Ошибка! Запрашиваемого файла несуществует.');
            }
        } else {
            
show_error('Ошибка! Добавлять разделы могут только суперадмины!');
        }
        break;

    case 
'del':
        if (
is_admin(array (101102))) {
            
$file DB::run()->queryFetch("SELECT * FROM downloads_files WHERE id= ?", array ($id));
            if (
$file['id']) {
                
removeDir(BASEDIR '/' $file['path_to_file']);

                
// Удаление файла из БД
                
DB::run()->query("DELETE FROM downloads_files WHERE id =?", array ($file['id']));
                
$_SESSION['note'] = 'Файл успешно удален';
                
redirect("index.php?id=" $file['category']);
            } else {
                
show_error('Ошибка! Запрашиваемого файла несуществует.');
            }
        } else {
            
show_error('Ошибка! Добавлять разделы могут только суперадмины!');
        }
        break;

    case 
'load':
        
$file DB::run()->queryFetch("SELECT * FROM downloads_files WHERE id= ?", array ($id));
        if (
$file['id']) {
            
$provkod check(strtolower($_POST['provkod']));
            
$id = (isset($_GET['id'])) ? abs(intval($_GET['id'])) : 0;
            if (
is_user() || $provkod == $_SESSION['protect']) {
                if (
file_exists(BASEDIR '/' $file['path_to_file'] . $file['file'])) {
                    
DB::run()->query("UPDATE downloads_files SET count_loads = count_loads +1 WHERE id= ? ", array ($id));
                    
header('location: /' $file['path_to_file'] . $file['file']);
                    exit;
                } else {
                    
show_error('Ошибка! Файла для скачивания не существует!');
                }
            } else {
                
show_error('Ошибка! Проверочное число не совпало с данными на картинке!');
            }

            echo 
'<img src="/images/img/back.gif" alt="image" /> <a href="get_file.php?id=' abs(intval($_GET['id'])) . '">Вернуться</a><br />';
        } else {
            
show_error('Ошибка! Запрашиваемого файла несуществует.');
        }
        break;
endswitch;
include_once (
'../themes/footer.php');
Онлайн: 1
Реклама