Вход Регистрация
Файл: modules/zc/file.php
Строк: 261
<?
$title 
'Загруз-центр';
include_once(
$_SERVER["DOCUMENT_ROOT"].'/style/head.php');
$_GET['id'] = abs(intval($_GET['id']));
if(
$db->query("SELECT * FROM `zc_file` WHERE `id`='".$_GET['id']."'")->num_rows==0){
    
error('Файла не существует!');
}
$file $db->query("SELECT * FROM `zc_file` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
if(
$user['level']<AND $file['moderation']==0){
    
error('Файл на модерации!');
}
if(
$file['moderation']==2){
    
error('Файл не прошёл модерацию!');
}
if((
$file['dir']==21 or $file['dir']==22 or $file['dir']==23) AND $user['rating']<0.45 AND $user['level']<1){
    
error('Для просмотра данной директории нужно получить статус "Лучший юзер" (0.45 рейтинга)');
}
switch(
$_GET['act']){
default:
if(!empty(
$file['password']) AND $user['level']<AND $user['id']!=$file['us']){
    if(isset(
$_POST['ok'])){
        
$_POST['password'] = md5($_POST['password']);
        if(
$file['password']==$_POST['password']){
            
$fo=true;
        }else{
            
?>
            <div class="error">Введён не верный пароль.</div>
            <?    
        
}
    }
    if(!
$fo){
    
?>
    <div class="error">Файл защищён паролем</div>
    <form action="" method="POST">
        <div class="text">
            Введите пароль:<br/>
            <input type="password" name="password" placeholder="Введите пароль"><br/>
            <input type="submit" name="ok" value="Продолжить">
        </div>
    </form>
    <?
    
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
    exit();
    }
}
?>
<div class="title"><?=htmlspecialchars($file['name'])?></div>
<?
if($file['bloc']==1){
    
?>
    <div class="error">
    Файл был заблокировал <?=nick($file['bloc_adm'])?> <?=times($file['bloc_time'])?> по причине:<br/>
    <?=output($file['reason'])?><br/>
    <?
    
if($user['level']>=1){?>
    <a href="/zc/file/<?=$_GET['id']?>?act=rebloc">Разблокировать</a>
    <?}?>
    </div>
    <?
    
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
    exit();
}
?>
<div class="text">
    <?
    
if($user['level']>=AND $file['moderation']==0){
        
?>
        <a href="/admin/zc/file_moderation/<?=$file['id']?>?ok">Добавить</a> | <a href="/admin/zc/file_moderation/<?=$file['id']?>?no">Отлонить</a> 
        <?
    
}
    if(
$user['level']>=or $user['id']==$file['us']){
        
?>
        <a href="?act=edit">Редактировать</a> | <a href="?act=upfile">Замена файла</a> | <a href="?act=screen">Управление скриншотами</a> | <a href="?act=password">Установить пароль</a>
        <?
        
if($user['level']<1){
            
?>
            <br/>
            <?
            
}
    }
    if(
$user['level']>=1){
        if(
$file['bloc']==0){
            
?>
        |    <a href="/zc/file/<?=$_GET['id']?>?act=bloc">Заблокировать</a> <br/>
            <?
            
}
        }
    
?>
    <b>Описание:</b><br/>
    <?=output($file['description'])?><br/>
    <b>Выгрузил</b> <?=nick($file['us'])?> в <?=times($file['time'])?>
    <?
    
if($db->query("SELECT * FROM `zc_screen` WHERE `file`='".$_GET['id']."'")->num_rows!=0){
    
?>
    <br/>Скриншоты:<br/>
    <?
        $q 
$db->query("SELECT * FROM `zc_screen` WHERE `file`='".$_GET['id']."'");
        while(
$s $q->fetch_assoc()){
            echo 
'<a href="/files/zc/screen/'.$s['screen'].'"><img src="/files/zc/screen/'.$s['screen'].'" style="width: 60px; height: 60px;"></a>';
        }
    }
    
?><br/>
    <b>Скачиваний:</b> <?=intval($file['count_down'])?><br/>
    <?if($file['rating']>=0){
        
$color 'green';
        }elseif(
$file['rating']<0){
            
$color 'red';
            }
?>
            <b>Рейтинг:</b> <font color="<=?$color?>"><?=$file['rating']?></font> (<font color="green"><?=$db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."' AND `type`='1'")->num_rows?></font>/<font color="red"><?=$db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."' AND `type`='2'")->num_rows?></font>)
            <?
                
if(isset($user['id']) AND $db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows==AND $user['id']!=$file['us']){
                    
?>
                    [<a href="/zc/file/<?=$_GET['id']?>?act=plus">+</a>] / [<a href="/zc/file/<?=$_GET['id']?>?act=minus">–</a>]
                    <?
                    
}
                    
?>
            <br/>
             <a href="/zc/rating_history/<?=$_GET['id']?>">История изменения рейтинга</a> (<?=$db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."'")->num_rows?>)<br/>
            
    <a href="/zc/down/<?=$_GET['id']?>">Скачать <?=htmlspecialchars($file['name'])?></a><br/>
    <b>Ссылка на файл в ЗЦ:</b><br/>
    <input type="text" value="http://php-zona.ru/zc/file/<?=$_GET['id']?>"><br/>
    <b>Импорт:</b><br/>
    <input type="text" value="http://php-zona.ru/files/zc/file/<?=htmlspecialchars($file['file'])?>"><br/><br/>
    <a href="/zc/comm/<?=$_GET['id']?>">Комментарии</a> [<?=$db->query("SELECT `id` FROM `zc_comm` WHERE `file`='".$_GET['id']."'")->num_rows?>]
</div>
<?
break;

case 
'edit':
mode('user');
if(
$user['level']<AND $file['us']!=$user['id']){
    
error('У вас нет доступа к этой странице!');
}
if(isset(
$_POST['ok'])){
    
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
    
$_POST['description'] = guard($db->real_escape_string($_POST['description']));
    
$db->query("UPDATE `zc_file` SET `name`='".$_POST['name']."', `description`='".$_POST['description']."' WHERE `id`='".$_GET['id']."'");
    
success('Данные файла успешно изменены!');
    
$file $db->query("SELECT * FROM `zc_file` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
}
?>
<div class="title">Редактирование файла</div>
<div class="text">
    <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
    <form action="" method="POST">
        Название:<br/>
        <input type="text" name="name" value="<?=htmlspecialchars($file['name'])?>"><br/>
        Описание:<br/>
        <textarea name="description"><?=htmlspecialchars($file['description'])?></textarea><br/>
        <input type="submit" name="ok" value="Изменить">
    </form>
</div>
<div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
<?
break;

case 
'upfile':
mode('user');
if(
$user['level']<AND $file['us']!=$user['id']){
    
error('У вас нет доступа к данной странице');
}
    if(isset(
$_POST['ok'])){
        if(
$_POST['imp']==imp){
        
$_POST['import'] = guard($db->real_escape_string($_POST['import']));
        if (!@
fopen($_POST['import'], 'r')){
            
error('Файла не существует!');
        }
        
$gh get_headers($_POST['import'], 1);
        
$maxsize 100// Максимальный размер файла,в мегабайтах
        
$size $gh['Content-Length']; // Вес файла
        
if ($size > (1048576 $maxsize)){
            
error('Допустимый размер загружаемого файла '.$maxsize.' мб.');
        }
        
$info_url pathinfo($_POST['import']);
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg',
            
'3gp',
            
'mp4',
            
'mp3',
            
'flv',
            
'zip',
            
'rar');

        
/* Если тип файла не подходит */
        
if (!in_array($info_url['extension'], $filetype))
        {
            
error('Тип файла не подходит!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.time().'.'.$info_url['extension'];

        if (!
copy($_POST['import'], '../../files/zc/file/'.$file.'')){
            
error('Ошибка в копировании на сервер!');
        }
        
$db->query("UPDATE `zc_file` SET `file`='".$file."', `moderation`='0' WHERE `id`='".$_GET['id']."'");
        include_once(
'c.php');
           
success('Файл успешно обновлен! Ожидайте проверки файла администрацией.');
           
unlink('../../files/zc/file'.$file['file']);
    }else{
        
$size $_FILES['file']['size'];
        
$max 100;
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg',
            
'3gp',
            
'mp4',
            
'mp3',
            
'flv',
            
'zip',
            
'rar');
        
$upfiletype substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], ".") + 1);
        if(!@
file_exists($_FILES['file']['tmp_name']) AND $_POST['imp']!=imp){
            
error('Выберите файл!');
        }elseif(
$size > (1048576 $max)){
            
error('Вес файла должен быть не более '.$max.' мб.');
        }elseif(!
in_array($upfiletype$filetype)){
            
error('Файл данного формата загржать запрещено!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.$_FILES['file']['name'];
        
move_uploaded_file($_FILES['file']['tmp_name'], "../../files/zc/file/".$file."");
        
$db->query("UPDATE `zc_file` SET `file`='".$file."', `moderation`='0' WHERE `id`='".$_GET['id']."'");
        include_once(
'c.php');
        
success('Файл успешно обновлен, ожидайте одобрения администрацией!');
        
unlink('../../files/zc/file/'.$file['file']);
    }
    }
?>
<div class="title">Обновление файла</div>
<div class="text"> 
    <form action="" method="POST" enctype="multipart/form-data">
        *Выберите файл:<br/>
        <input type="file" name="file"><br/>
        <input type="radio" name="imp" value="imp"> Импорт:<br/>
        Файл:<br/>
        <input type="text" name="import" value="http://"><br/>
        <input type="submit" name="ok" value="Обновить">
    </form>
</div>
<div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
<?
break;

case 
'screen':
    
mode('user');
    if(
$user['level']<AND $file['us']!=$user['id']){
        
error('У вас нет доступа к данной странице');
    }
    if(isset(
$_GET['del'])){
        
$_GET['ids'] = abs(intval($_GET['ids']));
        if(
$db->query("SELECT * FROM `zc_screen` WHERE `id`='".$_GET['ids']."'")->num_rows==0){
            
error('Скриншота не существует!');
        }
        
$sc $db->query("SELECT * FROM `zc_screen` WHERE `id`='".$_GET['ids']."'")->fetch_assoc();
        if(
$sc['file']!=$_GET['id']){
            
error('Скриншот прикреплен не к этому файлу!');
        }
        
unlink('../../files/zc/screen/'.$sc['screen']);
        
$db->query("DELETE FROM `zc_screen` WHERE `id`='".$_GET['ids']."'");
        
success('Скриншот успешно удален!');
    }
    if(isset(
$_GET['new'])){
        
?>    
        <div class="text">
            <form action="/zc/file/<?=$_GET['id']?>?act=screen" method="POST" enctype="multipart/form-data">
                *Выберите файл:<br/>
                <input type="file" name="file"><br/>
                <input type="radio" name="imp" value="imp"> Импорт:<br/>
                Файл:<br/>
                <input type="text" name="import" value="http://"><br/>
                <input type="submit" name="ok" value="Добавить">
            </form>
        </div>
        <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>?act=screen">Управление скриншотами</a></div>
        <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
        <?
        
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
        exit();
    }
    if(isset(
$_POST['ok'])){
        if(isset(
$_POST['ok'])){
        if(
$_POST['imp']==imp){
        
$_POST['import'] = guard($db->real_escape_string($_POST['import']));
        if (!@
fopen($_POST['import'], 'r')){
            
error('Файла не существует!');
        }
        
$gh get_headers($_POST['import'], 1);
        
$maxsize 10// Максимальный размер файла,в мегабайтах
        
$size $gh['Content-Length']; // Вес файла
        
if ($size > (1048576 $maxsize)){
            
error('Допустимый размер загружаемого файла '.$maxsize.' мб.');
        }
        
$info_url pathinfo($_POST['import']);
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg');

        
/* Если тип файла не подходит */
        
if (!in_array($info_url['extension'], $filetype))
        {
            
error('Тип файла не подходит!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.time().'.'.$info_url['extension'];

        if (!
copy($_POST['import'], '../../files/zc/screen/'.$file.'')){
            
error('Ошибка в копировании на сервер!');
        }
        
$db->query("INSERT INTO `zc_screen` SET `file`='".$_GET['id']."', `screen`='".$file."'");        
           
success('Скриншот успешно добавлен');
    }else{
        
$size $_FILES['file']['size'];
        
$max 10;
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg',
            
'3gp',
            
'mp4',
            
'mp3',
            
'flv',
            
'zip',
            
'rar');
        
$upfiletype substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], ".") + 1);
        if(!@
file_exists($_FILES['file']['tmp_name']) AND $_POST['imp']!=imp){
            
error('Выберите файл!');
        }elseif(
$size > (1048576 $max)){
            
error('Вес файла должен быть не более '.$max.' мб.');
        }elseif(!
in_array($upfiletype$filetype)){
            
error('Файл данного формата загржать запрещено!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.$_FILES['file']['name'];
        
move_uploaded_file($_FILES['file']['tmp_name'], "../../files/zc/screen/".$file."");
        
$db->query("INSERT INTO `zc_screen` SET `file`='".$_GET['id']."', `screen`='".$file."'");
        
success('Скриншот успешно добавлен');
    }
    }
    }
    
?>
    <div class="title">Управление скриншотами</div>
    <?
    $q 
$db->query("SELECT * FROM `zc_screen` WHERE `file`='".$_GET['id']."'");
    
?>
    <div class="text">
        <?
            
while($s $q->fetch_assoc()){
                echo 
'<a href="/files/zc/screen/'.$s['screen'].'"><img src="/files/zc/screen/'.$s['screen'].'" style="width: 60px; height: 60px;"></a> <a href="/zc/file/'.$_GET['id'].'?act=screen&ids='.$s['id'].'&del">[Уд.]</a><br/>';
            }
        
?>
    </div>
    <?
    
if($db->query("SELECT * FROM `zc_screen` WHERE `file`='".$_GET['id']."'")->num_rows==0){
        
?>
        <div class="error">Скриншотов нет</div>
        <?
    
}
    
?>
    <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>?act=screen&new">Добавить скриншот</a></div>
    <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
    <?
break;

case 
'bloc':
mode('user');
level(1);
    
$file $db->query("SELECT `us`, `bloc` FROM `zc_file` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
    if(isset(
$_POST['ok'])){
        
$_POST['reason'] = guard($db->real_escape_string($_POST['reason']));
        if(empty(
$_POST['reason'])){
            
error('Введите причину блокировки!');
            }elseif(
mb_strlen($_POST['reason'])<10 or mb_strlen($_POST['reason'])>4000){
                
error('Причина блокировки должна содержать не менее 10 и не более 4000 символов!');
                }
        
$db->query("UPDATE `zc_file` SET `bloc`='1', `reason`='".$_POST['reason']."', `bloc_adm`='".$user['id']."', `bloc_time`='".time()."' WHERE `id`='".$_GET['id']."'");
        
$db->query("INSERT INTO `notifications` SET `id_us`='".$file['us']."', `time`='".time()."', `section`='zc', `sender`='".$user['id']."', `text`='заблокировал ваш [url=http://".$_SERVER["HTTP_HOST"]."/zc/file/".$_GET['id']."]файл[/url]'");
        
success('Файл успешно заблокирован');
    }
    if(
$file['bloc']==0){
    
?>
    <div class="text">
        <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
        <form action="" method="POST">
            Причина блокировки:<br/>
            <textarea name="reason"></textarea><br/>
            <input type="submit" name="ok" value="Заблокировать">
        </form>
    </div>
    <?
    
}
    
?>
    <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
    <?
break;

case 
'rebloc':
level(1);
$file $db->query("SELECT `us`, `bloc` FROM `zc_file` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
$db->query("UPDATE `zc_file` SET `bloc`='0' WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$file['us']."', `time`='".time()."', `section`='zc', `sender`='".$user['id']."', `text`='разблокировал ваш [url=http://".$_SERVER["HTTP_HOST"]."/zc/file/".$_GET['id']."]файл[/url]'");
success('Файл успешно разблокирован');
    
?>
    <div class="nvg"><a href="/zc/file/<?=$_GET['id']?>">Вернуться к файлу</a></div>
    <?
break;

case 
'plus':
mode('user');
if(
$file['us']==$user['id']){
    
error('Голосовать за свой файл запрещено!');
}
if(
$db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
    
error('Вы уже оценивали данный файл!');
}
$db->query("UPDATE `zc_file` SET `rating`=`rating`+0.01 WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `zc_rating_history` SET `id_file`='".$_GET['id']."', `id_us`='".$user['id']."', `time`='".time()."', `type`='1'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$file['us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='[b]положительно[/b] оценил ваш [url=http://".$_SERVER["HTTP_HOST"]."/zc/file/".$_GET['id']."]файл[/url]'");
$db->query("UPDATE `users` SET `rating`=`rating`+0.01 WHERE `id`='".$file['us']."'");
header('location:/zc/file/'.$_GET['id']);
break;

case 
'minus':
mode('user');
if(
$file['us']==$user['id']){
    
error('Голосовать за свой файл запрещено!');
}
if(
$db->query("SELECT `id` FROM `zc_rating_history` WHERE `id_file`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
    
error('Вы уже оценивали данный файл!');
}
$db->query("UPDATE `zc_file` SET `rating`=`rating`-0.01 WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `zc_rating_history` SET `id_file`='".$_GET['id']."', `id_us`='".$user['id']."', `time`='".time()."', `type`='2'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$file['us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='[b]отрицательно[/b] оценил ваш [url=http://".$_SERVER["HTTP_HOST"]."/zc/file/".$_GET['id']."]файл[/url]'");
$db->query("UPDATE `users` SET `rating`=`rating`-0.01 WHERE `id`='".$file['us']."'");
header('location:/zc/file/'.$_GET['id']);
break;

case 
'password':
mode('user');
if(
$user['id']!=$file['us']){
    
error('У Вас нет доступа к данной странице.');
}
if(isset(
$_POST['ok'])){
    if(empty(
$_POST['password'])){
        
error('Введите пароль.');
    }
    
$_POST['password'] = md5($_POST['password']);
    
$db->query("UPDATE `zc_file` SET `password`='".$_POST['password']."' WHERE `id`='".$file['id']."'");
    
success('Пароль успешно изменён.');
}
?>
    <div class="title">Установка пароля на файл</div>
    <div class="text">
        <form action="" method="POST">
            <input type="password" name="password" placeholder="Введите пароль" /><br/>
            <input type="submit" name="ok" value="Сохранить">
        </form>
    </div>
<?
break;
}
include_once(
$_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
?>
Онлайн: 1
Реклама