File size: 2.52Kb
<?php
require_once('inc/config.php');
switch($_GET['p']){
default:
echo '<div class="dmenu">Загрузки</div>';
echo '<div class="menu">';
$dir = 'files/';
if(is_dir($dir)){
if($dh=opendir($dir)){
while(($file = readdir($dh)) !==false){
if(($file != ".") and ($file != "..")){
echo '» <a href="files.php?p=cat&s='.$file.'">'.translit($file).'</a><br/>';
}
}
}
}
echo '</div>';
break;
case 'cat':
if(empty($_GET['s'])){
echo '<div class="dmenu"><a href="?"><b>Загрузки</b></a></div>
<div class="error"><b>Ошибка</b><br/>Категория не выбрана</div>';
}else{
$s=htmlspecialchars($_GET['s']);
if(preg_match("/[^a-zA-Z_0-9]/", $s)){
echo '<div class="dmenu"><a href="?"><b>Загрузки</b></a></div>
<div class="error"><b>Ошибка</b><br/>Не верное имя категории</div>';
require_once('inc/end.php');
exit;
}
$file=htmlspecialchars($s);
echo '<div class="dmenu"><a href="?">Загрузки</a> - <b>'.translit($file).'</b></div>';
$dir = 'files/'.htmlspecialchars($s);
if(is_dir($dir)){
if($dh=opendir($dir)){
while(($file = readdir($dh)) !==false){
if (($file != ".") and ($file != "..")){
$arr[] = $file;
}
}
$page=isset($_GET['page']) ? (int)$_GET['page'] : 1;
if($page == 0){ $page=1; }
$num=$_SET['num'];
$script='files.php?p=cat&s='.htmlspecialchars($_GET['s']).'&page=';
$all=count($arr);
$num_pages=ceil($all/$num);
$start=($page*$num-$num);
if($page > $num_pages || $page < 1){
$page=1;
$start=0;
}
if(isset($all)){
for ($i=$all-$start-1; $i>=$all-$start-$num; $i--){
if(isset($arr[$i])){
echo '<div class="menu"><table><tr valign="top">
<td><img src="'.$dir.'/'.$arr[$i].'" width="100px" height="100px" alt="'.$arr[$i].'"></td>
<td>Файл: '.$arr[$i].'<br/>» <a href="'.$dir.'/'.$arr[$i].'">Скачать</a></td>
</tr></table></div>';
}
}
}
if($num_pages >1 ){
echo '<div class="foot">';
if($page >1){
$pn=$page;
$pn--;
echo '« <a href="'.$script.''.$pn.'">Назад</a> | ';
}
if($page < $num_pages){
$pc=$page;
$pc++;
echo '<a href="'.$script.''.$pc.'">Дальше</a> »';
}
echo '<br/>';
for ($i=1;$i<=$num_pages;$i++)
echo $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 3) ? ($i == $page ? " ($i) " : ' <a href="'.$script.''.$i.'">'.$i.'</a>') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
echo '</div>';
}
}else{
echo '<div class="error">Категория пуста</div>';
}
}else{
echo '<div class="error"><b>Ошибка</b><br/>Категория не существует</div>';
}
}
break;
}
require_once('inc/end.php');
?>