<?
include_once('charset_inc.php');
include_once('img_resize_inc.php');
define('MODE_DIR',0);
define('MODE_PHOTO',1);
define('MODE_ANIMATION',2);
define('MODE_VIDEO',3);
define('MODE_SOUND',4);
define('MODE_JAVA',5);
define('MODE_SYMBIAN',6);
define('MODE_MOPHUN',7);
define('MODE_THEME',8);
define('MODE_OTHER',100);
$root='root';
$limit=10;
$mode=MODE_DIR;
$ignore_names=array('.','..','c.txt','index.txt','.htaccess','ext','~tmp');
function getfs($fn)
{
$fs=round(filesize($fn)/1024,2);
if($fs>999)$fs=round($fs/1024,2).' Мб';
else $fs.=' Кб';
return $fs;
}
function cmp($a, $b)
{
global $isdir;
if($isdir[$a] && !$isdir[$b])return -1;
if($isdir[$b] && !$isdir[$a])return 1;
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
function srem($s,$n=2)
{
$a=explode('/',$s);
$s='';
for($i=0;$i<count($a)-$n;$i++)$s.=$a[$i].'/';
return $s;
}
function sget($s,$n=2)
{
$a=explode('/',$s);
return $a[count($a)-$n];
}
function fgetnm($fn)
{
$op=ord(" ");
$s='';
if(file_exists($fn))
{
$f=fopen($fn,'r');
if($f)
{
while (false !== ($c = fgetc($f)))
{
if(ord($c)>=$op)$s.=$c;
else break;
}
fclose($f);
}
}
return $s;
}
function getnm($f)
{
global $g_photo_n,$g_animation_n,$g_video_n,$g_sound_n,$g_java_n,$g_symbian_n,$g_mophun_n,$g_theme_n;
global $g_photo_content,$g_animation_content,$g_video_content,$g_sound_content,$g_java_content,$g_symbian_content,$g_mophun_content,$g_theme_content;
$a=explode('.',$f);
if(in_array($a[1],$g_photo_content))$nm='НАЗВАНИЕ КАРТИНКИ '.$g_photo_n++;
elseif(in_array($a[1],$g_animation_content))$nm='НАЗВАНИЕ АНИМАЦИИ '.$g_animation_n++;
elseif(in_array($a[1],$g_video_content))$nm='НАЗВАНИЕ ВИДЕО '.$g_video_n++;
elseif(in_array($a[1],$g_sound_content))$nm='НАЗВАНИЕ МУЗЫКИ '.$g_sound_n++;
elseif(in_array($a[1],$g_java_content))$nm='НАЗВАНИЕ ЯВЫ '.$g_java_n++;
elseif(in_array($a[1],$g_symbian_content))$nm='НАЗВАНИЕ СИМБФАЙЛОВ '.$g_symbian_n++;
elseif(in_array($a[1],$g_mophun_content))$nm='НАЗВАНИЕ МОФАН '.$g_mophun_n++;
elseif(in_array($a[1],$g_theme_content))$nm='НАЗВАНИЕ ТЕМЫ '.$g_theme_n++;
else $nm=$f;
return $nm;
}
function p_dl_link($url,$fn,$name,$s=false)
{
if($s!==false)$url.='&s='.(int)$s;
$fn=str_replace('/ext/','/',$fn);
p_link('dl.php?f='.$url,$name);
}
$fil='';
$dir=trim($_GET['f']);
$page=sget($dir);
$page=explode(',',$page);
$page=(int)$page[1];
$dir=preg_replace('/\.\.+/','.',$dir);
$dir2=$dir;
$fil=sget($dir,1);
$dir=preg_replace('/,(\d+)/','',srem($dir,1)).$fil;
$f2=explode('.',$dir);
$ext=strtolower($f2[count($f2)-1]);
if(!is_dir($root.'/'.$dir))
{
if(in_array($ext,$g_photo_content))$mode=MODE_PHOTO;
elseif(in_array($ext,$g_animation_content))$mode=MODE_ANIMATION;
elseif(in_array($ext,$g_video_content))$mode=MODE_VIDEO;
elseif(in_array($ext,$g_sound_content))$mode=MODE_SOUND;
elseif(in_array($ext,$g_java_content))$mode=MODE_JAVA;
elseif(in_array($ext,$g_symbian_content))$mode=MODE_SYMBIAN;
elseif(in_array($ext,$g_mophun_content))$mode=MODE_MOPHUN;
elseif(in_array($ext,$g_theme_content))$mode=MODE_THEME;
else $mode=MODE_OTHER;
if($mode!=MODE_DIR)
{
$dir=str_replace($fil,'',$dir);
$dir2=str_replace($fil,'',$dir2);
$limit=1;
}
}
$inda=array();
$isdir=array();
$inda['.']=sget($dir);
$indn=$root.'/'.$dir.'index.txt';
if(file_exists($indn))
{
$indf=file($indn);
foreach($indf as $inds)
{
$inds=explode("=",$inds);
$indc=count($inds);
$indstr='';
for($i=0;$i<$indc-1;$i++)
{
$indstr.=$inds[$i];
if($i<$indc-2)$indstr.='=';
}
$inds[0]=trim($indstr);
$inds[1]=trim($inds[$indc-1]);
if($inds[0] && $inds[1])$inda[$inds[0]]=str_replace('&','&',win2utf($inds[1]));
}
}
if($inda['.'])$main_title=$inda['.'];
$count=count($inda)-1;
$path=$root.'/'.$dir;
$files=array();
$g_photo_n=1;
$g_animation_n=1;
$g_video_n=1;
$g_sound_n=1;
$g_java_n=1;
$g_symbian_n=1;
$g_mophun_n=1;
$g_theme_n=1;
if(file_exists($path) && is_dir($path))
{
if($h=opendir($path))
{
while(($f = readdir($h))!==false)
{
if(!in_array($f,$ignore_names))
{
if(!$inda[$f])
{
$files[]=$f;
$count++;
}
}
if(is_dir($path.$f))$isdir[$f]=1;
}
}
closedir($h);
}
usort($files,"cmp");
foreach($inda as $f=>$n)
{
if($n=='.')$inda[$f]=getnm($f);
}
foreach($files as $f)
{
$inda[$f]=getnm($f);
$n++;
}
$lm=ceil($count/$limit);
if($lm>0)$lm--;
if($page>$lm)$page=$lm;
$pos=$page*$limit;
$up=array();
$dir3=$root.'/'.$dir2;
do
{
$dir4=preg_replace('/,(\d+)/','',$dir3);
$vn=$dir4.'index.txt';
$vf=fgetnm($vn);
$vs=explode("=",$vf);
if($vs[0]=='.')$u=win2utf(trim($vs[1]));
else $u='';
$f=$dir4;
if(!$u)$u=sget($f);
$up[$f]['n']=$u;
$up[$f]['u']=str_replace($root.'/','',$dir3);
$dir3=srem($dir3);
}
while($dir3);
$up=array_reverse($up);
p_header('Загрузки');
p_div_open('left','tit');
$c=count($up);
$i=0;
foreach($up as $f=>$n)
{
$i++;
if($i<$c || $mode!=MODE_DIR)
{
p_link('index.php?f='.$n['u'],$n['n']);
echo '/';
}
else echo $n['n'];
}
if($mode!=MODE_DIR)
{
$keys=array_keys($inda);
$arr=array();
$i=0;
$ci=-1;
$pf='';
$nf='';
foreach($keys as $key)
{
if(!$isdir[$key])
{
$arr[]=$key;
if($key==$fil)$ci=$i;
$i++;
}
}
$c=count($arr);
if($ci>=0)
{
if($ci>0)$pf=$arr[$ci-1];
if($ci<$c-1)$nf=$arr[$ci+1];
}
echo ($ci+1),' из ',$c;
}
p_div_close();
p_div_open('left','box');
if($dir)
{
echo '<img src="img/up'.$g_scheme.'.gif" alt="^"/>';
if($mode==MODE_DIR)p_link('index.php?f='.srem($dir2),'[Вверх]');
else p_link('index.php?f='.$dir2,'[Вверх]');
echo '<br/>';
}
if($mode==MODE_DIR)
{
include_once('arh_dir_inc.php');
}
elseif($mode==MODE_PHOTO)
{
include_once('arh_photo_inc.php');
}
elseif($mode==MODE_ANIMATION)
{
include_once('arh_animation_inc.php');
}
elseif($mode==MODE_VIDEO)
{
include_once('arh_video_inc.php');
}
elseif($mode==MODE_SOUND)
{
include_once('arh_sound_inc.php');
}
elseif($mode==MODE_JAVA)
{
include_once('arh_java_inc.php');
}
elseif($mode==MODE_SYMBIAN)
{
include_once('arh_symbian_inc.php');
}
elseif($mode==MODE_MOPHUN)
{
include_once('arh_mophun_inc.php');
}
elseif($mode==MODE_THEME)
{
include_once('arh_theme_inc.php');
}
p_div_close();
if($mode==MODE_DIR && $lm>0)
{
p_div_open('left','box');
$s=sget($dir2);
$s2=explode(',',$s);
$s=str_replace($s.'/','',$dir2);
$s.=$s2[0];
echo 'Стр. ';
if($page<$lm-1)$i0=$page-2;
else
{
if($page==$lm)$i0=$page-4;
else $i0=$page-3;
}
if($i0<0)$i0=0;
if($i0<1)$lm2=4;
else $lm2=2+$page;
if($lm2>$lm)$lm2=$lm;
if($page>2 && $lm>4)
{
p_link('index.php?f='.$s.'/',1);
if($page>3)echo ' ... ';
else echo ' ';
}
for($i=$i0;$i<=$lm2;$i++)
{
if($i==$page)echo '<b>'.($i+1).'</b> ';
else
{
if($i)p_link('index.php?f='.$s.','.$i.'/',($i+1));
else p_link('index.php?f='.$s.'/',($i+1));
}
echo ' ';
}
if($page<$lm-2 && $lm>$lm2)
{
if($page<$lm-3)echo '... ';
else echo ' ';
p_link('index.php?f='.$s.','.$lm.'/',($lm+1));
}
p_div_close();
}
else
{
if($pf || $nf)
{
p_div_open('left','box');
if($pf)
{
p_link('index.php?f='.$dir2.$pf,'<<Пред.');
if($nf)echo ' ';
}
if($nf)
{
p_link('index.php?f='.$dir2.$nf,'След.>>');
}
p_div_close();
}
}
p_div_open('left','ver');
if($_GET['f'])
{
echo '<img src="img/root.gif" alt="«"/>';
p_link('index.php?f=','К разделам');
echo '<br/>';
}
else
{
if($g_show_wapmaster)
{
echo '<img src="img/wm.gif" alt="*"/>';
p_link('wm.php','WAP-мастеру');
echo '<br/>';
}
}
if($g_url)
{
echo '<img src="img/home.gif" alt="«"/>';
p_link('http://'.$g_url,'На главную');
echo '<br/>';
}
p_ver();
p_div_close();
p_div_open('center');
p_div_close();
$ban='<a href="http://wap-top.ru/top/?uid=1914"><img src="http://wap-top.ru/top/count.php?uid=1914" alt="WAP-TOP"/></a>';
unset($ban);
p_footer($ban);
?>