Вход Регистрация
Файл: usscripts/zip.php
Строк: 109
<?php
require('../config.php');
require 
'pclzip.lib.php';

$title='Скрипты пользователей';
include 
'../style/head.php';
who_add(0,'us');
aut();
###############Проверка переменных###############

$file check(intval($_GET['file']));

function 
del($text)
{
    
$text=str_replace('"',''$text);
    
$text=str_replace("'",''$text);
    
$text=str_replace('&',''$text);
    
$text=str_replace('$',''$text);
    
$text=str_replace('>',''$text);
    
$text=str_replace('<',''$text);
    
$text=str_replace('~',''$text);
    
$text=str_replace('`',''$text);
    
$text=str_replace('#',''$text);
    
$text=str_replace('*',''$text);
    
$text=str_replace('&#39',''$text);
    return 
$text;
}

if(!empty(
$_SESSION["onpage"]) AND !empty($_GET['onpage'])){
$_SESSION["onpage"]=$_GET['onpage'];
}elseif(empty(
$_SESSION["onpage"]) AND !empty($_GET['onpage'])){
$onpage=$_GET['onpaget'];
session_register ("onpage") ;}


if(!empty(
$_SESSION["prew"]) AND !empty($_GET['prew']))
$_SESSION["prew"]=$_GET['prew'];
elseif(empty(
$_SESSION["prew"]) AND !empty($_GET['prew'])){
$prew=$_GET['prew'];
session_register ("prew") ;}
$page intval($_GET['page']);
$start intval($_GET['start']);

if(
$onpage 1){
$onpage 10;
}

$d mysql_fetch_array(mysql_query('SELECT * FROM `scripts_files` WHERE `id` = '.$file));
if(!
file_exists($d['path'])) die('Такой файл не существует');
$cat = @mysql_fetch_array(mysql_query("select * from  `scripts_cat` where path = '".$d['infolder']."'" ));
###############Получаем каталог#############
$filename pathinfo($d['path']);
$ext strtolower($filename['extension']);
if(
$ext!='zip') die('Файл не является ZIP архивом');
$dir $filename['dirname'].'/';
$back mysql_fetch_array(mysql_query("SELECT * FROM `scripts_files` WHERE `path` = '".$dir."'"));
###############Заголовок###################
echo $div3.'Просмотр архива '.basename($d['path']).$div9;
###############Содержимое###################
if(!$_GET['action'])
{
$zip = new PclZip($d['path']);
if(!
$list $zip->listContent()) die('Ошибка: '.$zip->errorInfo(true));
for(
$i=0$i<sizeof($list); $i++)
{
for(
reset($list[$i]); $key key($list[$i]); next($list[$i]))
{
$zfilesize strstr($listcontent,'--size');
$zfilesize str_replace('--size:','',$zfilesize);
$zfilesize str_replace($zfilesize,$zfilesize.'|',$zfilesize);
$sizelist .= $zfilesize;
$listcontent "[$i]--$key:".$list[$i][$key];
$zfile strstr($listcontent,'--filename');
$zfile str_replace('--filename:','',$zfile);
$zfile str_replace($zfile,$zfile.'|',$zfile);
$savelist .= $zfile;
}
}
$sizefiles2 explode('|',$sizelist);

$sizelist2=array_sum($sizefiles2);
$obkb=round($sizelist2/1024,2);
$preview=$savelist;

$preview explode('|',$preview);

$count count($preview)-1;
echo 
'Всего файлов: '.$count.'<br>Вес распакованного архива: '.$obkb.' kb';
if (!isset(
$page)) $page=1;
$n 0;
$pages ceil($count/$onpage);
if(!
$pages$pages 1;
if (
$page$n = ($onpage*$page)-$onpage;
if (
$count == 0) echo 'Пока пусто :(';
$sizefiles explode('|',$sizelist);
$selectfile explode('|',$savelist);
//------------------------------------------------------------------------------------------
for ($i 1$i<=$onpage$i++)
{
/*if (empty($selectfile[$n]))
{
$n++;
continue;
}*/
$path $selectfile[$n];
$fname ereg_replace(".*[\/]",'',$path);
$zdir ereg_replace("[\/]?[^\/]*$",'',$path);
echo 
'<div class="c2">'.$zdir.'/<a href="?action=preview&amp;open='.$path.'">'.$fname.'</a>';
if(
$sizefiles[$n]!='0') echo ' ['.round($sizefiles[$n]/1024,2).'kb]';
echo
'</div>';
$n++;
}
//------------------------------------------------------------------------------------------
echo 'Страницы: ';
$asd$page 2;
$asd2$page 3;
if(
$asd<$count && $asd>&& $page>3) echo '<a href="?page=1">1</a> ... ';
for(
$i=$asd$i<$asd2;$i++)
{
if(
$i<$count && $i>0)
{
if (
$i $pages ) break;
if (
$page==$i) echo '['.$i.'] ';
else echo 
'<a href="?page='.$i.'">'.$i.'</a> ';
}
}
if (
$i <= $pages)
{
if(
$asd2<$count) echo ' ... <a href="?page='.$pages.'">'.$pages.'</a>';
}

}
###############Просмотр файла###################
if($_GET['action']=='preview')
{
if(
strpos($_GET['open'] , '..') !== false or strpos($_GET['open'] , './') !== false) die($hackmess);
$_GET['open'] = check(del($_GET['open']));
$zip = new PclZip($d['path']);
$content $zip->extract(PCLZIP_OPT_BY_NAME$_GET['open'] ,PCLZIP_OPT_EXTRACT_AS_STRING);
$content $content[0]['content'];
$letters=array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я');
for(
$b=0$b<66$b++)
{
if(
strstr($content,$letters[$b])!== false){$utf='ok';}
}
$preview2 explode("rn",$content);
$count count($preview2);
function 
highlight_code($code)
{
$code=trim($code);
return 
highlight_string($code,true);
}
echo 
'Файл: '.$_GET['open'].'<br>Строк: '.$count.'<br />';
if(
$utf=='ok') echo highlight_code($content); else echo highlight_code(iconv('windows-1251','utf-8',$content));

}
echo 
$div1.'<a href="/usscripts/down/'.$file.'">К файлу</a>'.$div9;
echo 
$div1.'<a href="/usscripts/'.$cat['id'].'">В категорию</a>'.$div9;
echo 
$div1.'<a href="/usscripts">Скрипты</a>'.$div9;
include 
'../style/foot.php';
?>
Онлайн: 0
Реклама