<?php
$mt=microtime(1);
require_once('config.php');
require_once('shapka.php');
require_once('func.php');
switch($sort)
{
case 0: $tosort='dateadd DESC';break;
case 1: $tosort='nametr ASC';break;
case 2: $tosort='look DESC';break;
default: $tosort='dateadd DESC';
}
$dir=htmlspecialchars($_GET['dir']);
if(!is_dir("$maindir/$dir") or strstr($dir,'..') or strstr($dir,'/./') or !$dir)
{
print 'Указанного раздела не существует<br />';
}
else
{
$dirname=name($dir,$translit);
$opisfile="opisname/".str_replace('/','DD', $dir).".txt";
if(file_exists($opisfile))
{
$namecontent=file_get_contents($opisfile);
$j=explode('||',$namecontent);
$dirname=$j[0];
$opis=$j[1];
}
print '<div class="top">'.$dirname.'</div>';
//Если есть подразделы,то выводим их
$dirf=glob("$maindir/$dir/*",GLOB_ONLYDIR);
$countdir=count($dirf);
if(!@$dirf[0])
$countdir=0;
if($countdir)
{
$page=intval(@$_GET['page']);
$start=$dirstr*$page;
if($start>$countdir or $start<0)
{
$start=0;
$page=0;
}
$end=$start+$dirstr;
if($end>$countdir)
$end=$countdir;
for($i=$start; $i<$end; $i++)
{
$opis='';
$dirn=str_replace("$maindir/", '', $dirf[$i]);
$dirname=name($dirn,$translit);
$countf=countf($dirf[$i],$filet,$timecount,0);
$countnew=countnew($dirf[$i],$filet,$timecount,$timenew);
if($countnew)
{
$new="<span class=\"red\">/+$countnew</span>";
}
else
$new='';
$opisfile="opisname/".str_replace('/','DD', $dirn).".txt";
if(file_exists($opisfile))
{
$namecontent=file_get_contents($opisfile);
$j=explode('||',$namecontent);
$dirname=$j[0];
$opis=$j[1];
}
print '><a href="dir.php?dir='.$dirn.'">'.$dirname.'('.$countf.''.$new.')</a><br />';
if(trim($opis))
print htmlspecialchars($opis).'<br />';
if(@$_SESSION['admin'])
print '<a href="admindir.php?dir='.$dirn.'">Изменить</a><br />';
}
if($dirstr<$countdir)
print nav_page(ceil($countdir/$dirstr),$page,'dir.php?dir='.$dir.'&page=');
}
//Иначе выводим файлы
else
{
$page=intval(@$_GET['page']);
$start=$page*$filestr;
$end=$start+$filestr;
$result=mysql_query("SELECT * from filelib WHERE `dirname`='$maindir/$dir' ORDER by $tosort LIMIT $start,$filestr") or die(mysql_error());
while($filearr=mysql_fetch_assoc($result))
{
$filename="$maindir/$filearr[filename]";
if(file_exists($filename))
{
$filectime=filectime($filename);
$namef='';
$opisf='';
$fp=fopen($filename, 'r');
for($i=0; $i<5; $i++)
{
$tt=fgets($fp);
if($i==$namestr)
{
$namef=htmlspecialchars($tt);
if($encoding)
$namef=mb_convert_encoding($namef,'utf-8', $encoding );
}
if($i==$opisstr)
{
$opisf=htmlspecialchars($tt);
if($encoding)
$opisf=mb_convert_encoding($opisf,'utf-8', $encoding );
}
}
$opisf=trim($opisf);
fclose($fp);
if($filectime>time()-$timenew)
print '<b><span class="red">new!</span></b>';
print "<a href=\"look.php?file=$filearr[fid]\">$namef</a><br />";
if($opisf)
print $opisf.'<br />';
}
}
$count=countf("$maindir/$dir",$filet,$timecount);
print "Статей: $count<br />";
if($count>$filestr)
{
$countstr=ceil($count/$filestr);
print nav_page($countstr,$page,'dir.php?dir='.$dir.'&page=');
}
}
print $razd;
$direxp=explode('/',$dir);
if(count($direxp)>1)
{
unset($direxp[count($direxp)-1]);
$dirup=join('/', $direxp);
print "<a href=\"dir.php?dir=$dirup\">На уровень вверх</a><br />";
}
print "><a href=\"index.php\">Разделы</a><br />";
print 'Сортировка:<br />';
switch($sort)
{
case 0:
print "По дате|";
print "<a href=\"dir.php?sort=1&dir=$dir\">По имени</a>|";
print "<a href=\"dir.php?sort=2&dir=$dir\">По рейтингу</a>";
print '<br />';
break;
case 1:
print "<a href=\"dir.php?sort=0&dir=$dir\">По дате</a>|";
print "По имени|";
print "<a href=\"dir.php?sort=2&dir=$dir\">По рейтингу</a>";
print '<br />';
break;
break;
case 2:
print "<a href=\"dir.php?sort=0&dir=$dir\">По дате</a>|";
print "<a href=\"dir.php?sort=1&dir=$dir\">По имени</a>|";
print "По рейтингу";
print '<br />';
break;
}
}
if(@$_SESSION['admin'])
print '<a href="admin.php">Админ-панель</a><br />';
print '</div><div class="down"><a href="'.$mainpage.'">'.$mainname.'</a><br /></div><div>';
require('foot.php');
echo '<!--'.(microtime(1)-$mt).'-->';
?>