<?php
///////////////////////////////////////////////////
// Русский
// web-музей/фотогалерея Venite spectatum (txt)
// 2005 (C) Федорченко А.А. ([email protected])
// Franзais
// musee-web/photogalerie Venite spectatum
// 2005 (C) Fedortchenko A.A. ([email protected])
///////////////////////////////////////////////////
?>
<?php
//http заголовки - подавление кэша
header("Expires: Mon, 23 May 1995 02:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
session_start();
//
include("functions.inc");
//выбираем страницу
$Page = $_POST['page'];
if($Page == '')
$Page = $_GET['page'];
if($Page == '')
$Page = 'categories';
//относительный путь
$GetPath = $_GET['path'];
$Path = str_replace("x", "/", $GetPath);
//print $Path.'<br>';
//абсолютный путь
//print $_SERVER['PHP_SELF'];
$AbsPath = str_replace('/index.php', '', $_SERVER['PHP_SELF']);
if($AbsPath != '')
$AbsPath .= '/';
$AbsPath = $Down.'cat';
$AbsPath .= "{$Path}";
//предыдущий каталог
if(strlen($Path) != 3)
$PrevPath = substr($GetPath, 0, strlen($Path)-3);
//счетчик посещений категории
$CatCounter = $_SESSION['CatCounter'];
$CatCounter = unserialize($CatCounter);
//if(empty($CatCounter)) $CatCounter[] = $Path;
if(!@in_array($Path, $CatCounter))
{
$CatCounter[] = $Path;
$Count = LoadFromFile("{$AbsPath}/counter.txt");
$Count++;
SaveStringInFile("{$AbsPath}/counter.txt", $Count, 'w');
}
$CatCounter = serialize($CatCounter);
session_register('CatCounter');
//переменные
$Name = LoadFromFile($AbsPath."/name.txt");
$UpAnchor = "<div align=center><a href='index.php?path={$PrevPath}'><span class=mustred>Наверх</span></a></div>";
?>
<html>
<head>
<title>Venite spectatum - <? echo $Name ?></title>
<link rel='stylesheet' href='museum.css'>
<?
$KeyWords = LoadFromFile($AbsPath.'/meta_keywords.txt');
$Descr = LoadFromFile($AbsPath.'/meta_descr.txt');
print "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Windows-1251'>";
print "<META NAME='keywords' CONTENT='{$KeyWords}'>";
print "<META NAME='description' CONTENT='{$Descr}'>";
?>
</head>
<body bgcolor=#D5DCDF>
<?
//подкатегории
//страница для постраничной навигации
$Part = $_GET['part']; if(empty($Part)) $Part = 1;
//составляем список каталогов с подкатегориями
$dr = opendir($AbsPath);
$TextCount = 0;
while($dir = readdir($dr))
{
if((ereg("[0-9]+", $dir) == true) and (strpos($dir, 'text') === false))
$Arr[] = $dir;
elseif(strpos($dir, 'text') !== false)
$TextCount++;
}
closedir($dr);
if(!empty($Arr))
sort($Arr);
//получаем подкатегории: служебная директория, название, статус (многомерный массив $Categories)
$ShowStatus[] = '';
$inx = 0;
for($i = 0; $i < count($Arr); $i++)
{
$CatDir = $Arr[$i];
$Categories[$inx]['dir'] = $CatDir;
$File = $AbsPath.'/'.$CatDir.'/name.txt';
$CatName = LoadFromFile($File);
$Categories[$inx]['name'] = $CatName;
$Visibility = LoadFromFile($AbsPath.'/'.$CatDir.'/conf.txt');
$Categories[$inx]['visib'] = $Visibility;
$Descr = LoadFromFile($AbsPath.'/'.$CatDir.'/descr.txt');
if(!empty($Descr))
$Descr = " - ".$Descr;
$Categories[$inx]['descr'] = '<i>'.$Descr.'</i>';
//$Categories[$inx]['counter'] = LoadFromFile($AbsPath.'/'.$CatDir.'/counter.txt');
$inx++;
//статус: показывать/не показывать
}
//заголовок активной категории
print "<h2>{$Name}</h2>";
if(!empty($Path))
print $UpAnchor;
//Базовая нумерация
if(!empty($Path))
{
$Num = str_replace('0', '', $Path);
$Num = str_replace('/', '.', $Num);
$Num = substr($Num, 1, strlen($Num));
$Num.= ".";
}
//выводим подкатегории
if(!empty($Categories))
{
$Count = count($Categories);
$inx = 1;
print "<table border=0 cellspacing=0 cellpadding=0 width=70% class=CatList>";
for($i = 0; $i < $Count; $i++)
{
$TmpPath = "{$GetPath}x{$Categories[$i]['dir']}";
if($Categories[$i]['visib'] != 0)
{
print "<tr>";
print "<td width=5 class=PaddingR valign=top>$Num{$inx}</td>";
print "<td><a href=index.php?path={$TmpPath} class=CatItem>{$Categories[$i]['name']}</a>{$Categories[$i]['descr']}</td>";
print "</tr>";
$inx++;
}
}
print "</table>";
}
//Выбираем изображения
$ImgDir = $AbsPath.'/img';
$dr = opendir($ImgDir);
$inx=0;
while($file = readdir($dr))
{
if(strpos($file, 'min_') !== false)
{
$ImgBrief = substr($file, 4, (strlen($file)-4));
$Images[$inx]['brief'] = trim($ImgBrief);
$Images[$inx]['min'] = $ImgDir.'/'.$file;
$MaxImg = $ImgDir.'/max_'.$ImgBrief;
// print $MaxImg.'<br>';
if(file_exists($MaxImg))
$Images[$inx]['max'] = trim($MaxImg);
$inx++;
}
}
closedir($dr);
//var_dump($Images);
//Подготавливаем текст
$Dir = GetVSDir($_SERVER['PHP_SELF']);
$Text = LoadFromFile($AbsPath."/text{$Part}.txt");
$ToReplace = "<table align=center class=OrdTableWithPadding cellspacing=0 cellpadding=0 border=1><tr>";
$Text = str_replace('[IMAGES]', $ToReplace, $Text);
$Text = str_replace('[/IMAGES]', '</tr></table>', $Text);
$Text = ConvertBBCode($Text);
$Count = count($Images);
for($i = 0; $i < $Count; $i++)
{
$Brief = $Images[$i]['brief'];
$Min = $Images[$i]['min'];
$Max = $Images[$i]['max'];
//print "$Brief - $Min - $Max<br>";
if(empty($Max))
$Text = str_replace("[IMG]{$Brief}", "<td class='ImageBox'><img src='{$Min}' border=0><br>", $Text);
else
$Text = str_replace("[IMG]{$Brief}", "<td class='ImageBox'><a href='http://${SERVER_NAME}{$Dir}/show_image.php?img={$Max}&place=users' target=_blank><img src='{$Min}' border=0></a><br>", $Text);
//картинка-ссылка на другой сайт
$Text = str_replace("[/URL]{$Brief}", "' target=_blank><img src='{$Min}' border=0></a><br>", $Text);
}
$Text = str_replace("[IMGREF][URL]", "<td class='ImageBox'><a href='", $Text);
$Text = str_replace('[/IMGREF]', "</td>", $Text);
$Text = str_replace('[/IMG]', "</td>", $Text);
//Постраничная навигация
$Navig = create_navig ($Part, $TextCount);
print "<br>";
if(!empty($Navig))
{
print $Navig;
print "<br>";
}
print $Text;
print "<br>";
print $Navig;
?>