Вход Регистрация
Файл: pan/viewfile.php
Строк: 120
<?php
/*
Автор скрипта: Juse
Модификация: Jahak
*/

include_once "config.php";
include_once 
"head.php";

if (!isset(
$_GET['action'])){
    echo 
'<div class="rmenu"><b>Ошибка! Не выбранна команда!</b></div>';
    include_once 
"foot.php";
    exit;
}
if (!
file_exists($_GET['fid'])){
    echo 
'<div class="rmenu"><b>Ошибка! Файл не найден!</b></div>';
    include_once 
"foot.php";
    exit;
}
if (
$_GET['action']=="delfile"){
    if (
$_GET['r']=="1"){
        if (
unlink($_GET['fid'])){
        echo 
'<div class="list2">Файл успешно удалён!</div>'
        } else {
            echo 
'<div class="rmenu">Ошибка удаления файла!</div>';
        }
    } else {
        
$_GET['fid'] = str_replace('/''%2f'$_GET['fid']); 
        echo 
'<div class="bmenu">Файл: <b>'.$_GET['fid'].'</b></div><div class="list2"><b>Вы подтверждаете что хотите удалить файл?</b><br /><a href="?action=delfile&amp;r=1&amp;fid='.$_GET['fid'].'">Да</a> / <a href="index.php?action=viewfile&amp;fid='.$_GET['fid'].'">Нет</a></div>';
    }
}
if(
$_GET['action']=="rar_view"){
    if(
preg_match("/h2m.ru/i",$_SERVER['HTTP_HOST'])){
        echo 
'Извените, но ваш хостинг не поддерживает такую функцию.';
        } else {
            function 
sizer($s) {
                
$o=1;
                while(
$s>1024) {
                
$s round($s 10241);
                
$o++;
                } switch(
$o) {
                    case(
1): $o='b';
                        break;
                    case(
2): $o='Kb';
                        break;
                    case(
3): $o='Mb';
                        break;
                    case(
4): $o='Gb';
                        break;
                } return 
$s.$o;
            }
            
$filepath str_replace('%2f','/',$_GET['fid']);
            
$rar rar_open($filepath) or die('<div class="rmenu">Ошибка открытия RAR архива</div>');
            
$list rar_list($rar);
            
$c count($list); echo 'Обьектов: '.$c.'<hr/>';
            for(
$i 0$i<$c$i++) {
                echo 
$list[$i]->name.' ['.sizer($list[$i]->unpacked_size).'/'.sizer($list[$i]->packed_size).']<br />';
            }
            
rar_close($rar);
        }
}
if (
$_GET['action']=="rename"){
    
$_GET['fid'] = str_replace("%2f""/"$_GET['fid']);
    
$exp dirname(realpath($_GET['fid'])); 
    
$exts realpath($_GET['fid']);
    
$exti str_replace($exp$exts$exts);
    
$ext strtolower(substr($extistrrpos($exti"/")));
    
$_GET['fid'] = str_replace("/""%2f"$_GET['fid']);
    echo 
'<div class="bmenu">Файл: <b>'.$_GET['fid'].'</b></div>' .
    
'<div class="list2">' .
    
'<form action="?action=renamer&amp;fid='.$_GET['fid'].'" method="post">' .
    
'Название файла:<br /><input type="hidden" name="starname" value="'.$ext.'" />' .
    
'<input name="newname" value="'.$ext.'" /><br />' .
    
'<input type="submit" value="Переименовать" />' .
    
'</form></div>' .
    
'<div class="menu"><a href="index.php?action=viewfile&amp;fid='.$_GET['fid'].'">Назад</a></div>';
}
if (
$_GET['action']=="renamer"){
    if(
eregi("/"$_POST['newname'])){
        echo 
'<div class="rmenu">Ошибка! Не верное название файла! Допустимые символы: a-z _ 0-9 -</div>';
        include_once 
"foot.php";
        exit;
    }
    
$a str_replace($_POST['starname'], $_POST['newname'], $_GET['fid']);
    if (
rename($_GET['fid'],$a)){
        echo 
'Файл/Папка успешно переминована!'
    } else {
        echo 
'<div class="rmenu">Ошибка переименования Файла/Папки</div>';
    }
}
if (
$_GET['action']=="view"){
    
$file file_get_contents($_GET['fid']);
 
/*    echo '<div class="bmenu">Файл: <b>'.$_GET['fid'].'</b></div>
<div class="list2">'.highlight_string($file, true).'</div>
<div class="menu"><a href="index.php?action=viewfile&amp;fid='.$_GET['fid'].'">Назад</a></div>'; */
    
include_once 'Core/geshi/geshi.php';
    
$sf str_replace("../"""$_GET['fid']);
?>
<div class="bmenu">
Файл: <b><?php echo $sf?></b>
</div>
<div class="list2">
<?php
    $language 
substr(strrchr($_GET['fid'], "."), 1);
    
$geshi = new GeSHi($file$language);
    
$geshi->set_header_type(GESHI_HEADER_PRE_TABLE);
    
$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
    
// $geshi->set_line_style('color: #003030;', 'font-weight: bold; color: #006060;', true);
    // $geshi->set_code_style('color: #000020;', true);
    
$geshi->set_link_styles(GESHI_LINK'color: #000060;');
    
$geshi->set_link_styles(GESHI_HOVER'background-color: #f0f000;');
    
// $geshi->set_header_content('Тип файла: <LANGUAGE>, Время генерации: <TIME><hr noshade width="535">');
    
echo $geshi->parse_code();
?>
</div>
<div class="menu">
<a href="index.php?action=viewfile&amp;fid=<?php echo $_GET['fid']; ?>">Назад</a>
</div>
<?php
    
include_once 'foot.php';
}
###############
if ($_GET['action']=="clearfile"){
    if (
$_GET['r']=="1"){
        
$fp fopen($_GET['fid'], "w");
        
flock($fpLOCK_EX);
        
fputs($fp'');
        
flock($fpLOCK_UN);
        
fclose($fp);
        if (
$fp){
            echo 
'<b>Файл успешно очищен!</b><br />';
        } else {
            echo 
'<br />Ошибка очистки файла!';
        }
    } else {
        
$_GET['fid'] = str_replace('/''%2f'$_GET['fid']);
        echo 
'<div class="bmenu">Файл: <b>'.$_GET['fid'].'</b></div>' .
        
'<div class="list2"><b>Вы подтверждаете что хотите очистить файл?</b><br />' .
        
'<a href="?action=clearfile&amp;r=1&amp;fid='.$_GET['fid'].'">Да</a>&nbsp;/&nbsp;<a href="index.php?action=viewfile&amp;fid='.$_GET['fid'].'">Нет</a></div>';
    }
}
/* CHMOD */
// if ($_GET['action']=="chmod"){
    // $_GET['fid'] = str_replace("%2f", "/", $_GET['fid']);
    // $ext = substr(sprintf("%o", fileperms($_GET['fid'])), -3);
    // $_GET['fid'] = str_replace("/", "%2f", $_GET['fid']);
    // echo '<form action="?action=chmode&amp;fid='.$_GET['fid'].'" method="post">
// <b>Права доступа</b><br />
// Chmod:<br /><input name="chmod" size="5" value="'.$ext.'">
// <input type="submit" value="Установить"/></form>';
// }
// if ($_GET['action']=="chmode"){
    // $_GET['fid'] = str_replace("%2f", "/", $_GET['fid']);
    // if(eregi("[^0-9]", $_POST['chmod'])){
        // echo 'Не верно введены права доступа! Вводите только числа!';
        // include_once "foot.php";
        // exit;
    // }
    // $chmod = '0'.$_POST['chmod'];
    // if (chmod($_GET['fid'], $chmod)){
        // chmod($_GET['fid'], $chmod);
        // echo 'Прова доступа установлены! ('.$_POST['chmod'].')<br />';
    // } else {
        // echo 'Ошибка установки прав доступа! Операция не позволяет! ('.$_POST['chmod'].')<br />';
    // }
// }
if ($_GET['action']=="info"){
    
$sf str_replace("../"""$_GET['fid']);
    echo 
'<div class="bmenu">Свойства файла: <b>'.$sf.'</b></div>' .
    
'<div class="list2">Размер: '.formatsize(filesize($_GET['fid'])).'<br />' .
    
'Права доступа: '.substr(sprintf("%o"fileperms($_GET['fid'])), -3).'<br />' .
    
'Група: '.filegroup($_GET['fid']).'<br />' .
    
'Владелец: '.fileowner($_GET['fid']).'<br />' .
    
'Время: '.maketime(filemtime($_GET['fid'])).'</div>' .
    
'<div class="menu"><a href="index.php?action=viewfile&amp;fid='.$_GET['fid'].'">Назад</a></div>';
}
include_once 
"foot.php";
Онлайн: 0
Реклама