Просмотр файла dir.php

Размер файла: 4.74Kb
<?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 '&gt;<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.'&amp;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.'&amp;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 "&gt;<a href=\"index.php\">Разделы</a><br />";
	
	print 'Сортировка:<br />';
	switch($sort)
		{
		case 0: 
		print "По дате|";
		print "<a href=\"dir.php?sort=1&amp;dir=$dir\">По имени</a>|";
		print "<a href=\"dir.php?sort=2&amp;dir=$dir\">По рейтингу</a>";
		print '<br />';
		 break;
		case 1: 
		print "<a href=\"dir.php?sort=0&amp;dir=$dir\">По дате</a>|";
		print "По имени|";
		print "<a href=\"dir.php?sort=2&amp;dir=$dir\">По рейтингу</a>";
		print '<br />';
		 break;
		
		 break;
		case 2: 
		print "<a href=\"dir.php?sort=0&amp;dir=$dir\">По дате</a>|";
		print "<a href=\"dir.php?sort=1&amp;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).'-->';
?>