Переход к подкатегориям в галерее изображений
Такая проблемка у меня:
есть список превью, генерящийся по адресу:
index.php?page_id=fotos&cat=1&page=1&foto=1.jpg&stat=prev
при выборе к примеру первой превьюхи, должен произойти переход
к превьюхам, относящимся к этой превьюхе(тоесть переход в подкатегорию) с таким адресом:
index.php?page_id=fotos&cat=1&page=1&foto=1.jpg&act=newfoto&stat=prev
при выборе в новом списке превьюхи, должна измениться ссылка на
index.php?page_id=fotos&cat=1&page=1&foto=1.jpg&act=newfoto&stat=view
тоесть фактически используется одна и таже функция для вывода превьюх,
но при попадании в определенную (на "уровень" скажем 2) подкатегорию
генерится ссылка для вызова полноразмерного изображения
(должен измениться параметр &stat с prev на view)
вот собственно функция, вызываемая в нужном месте(полностью):
(в нее также передаются и другие параметры, но с ними нет проблем:))
PS: все это работает без БД!!!
------
function write_link_big_foto($subdir,$img){
include('dirs.php');
$page = 1;
$s = $_GET['s'];
$tmp = $subdir.$img.".jpg";
$image = basename($tmp);
$act = explode(".",$_GET['act']);
if ($act[0] != "") {$sub1 = $act[0];};
//if ($fldr != "") {
$act = $sub1.".".$fldr;
// }
// else $act = "";
print "<a href=\"index.php?page_id=".$_GET['page_id']."&cat=".$_GET['cat']."&page=$page&img=$image&stat=prev&act=$act\" style=\"text-decoration:none;border:0px;\">
<img src=\"$subdir$img.png\" style=\"text-decoration:none;border:0px; class=\"img_prev\" alt=\"\" />
</a>";
}
------
PS а скрипт я выложил не для того, чтобы выпендрться, а чтоб донести суть проблемы)
function write_link_big_foto($subdir,$num) {
$page = 1;
//include('dirs.php');
//=======================================================
$lnk = explode(".",$_GET['act']);
$sub1 = $lnk[0];
//категория //подкатегория
$comments = array ( "razvl" => array ( 1 => "polit",
2 => "katok"
),
"frendz" => array ( 1 =>"guljanki",
2 =>"kafe",
3 =>"rabota"
),
"fotki" => array ( 1 =>"gorod",
2 =>"priroda"
),
"prikols" => array ( 1 =>"tolstii"
)
);
$fldr = $comments[$sub1][$num];
//=======================================================
$tmp = $subdir.$num.".jpg";
$image = basename($tmp);
$act = $sub1.".".$fldr;
if ($act == $_GET['act'] || $_GET['act'] == "" || $fldr == "" || $fldr == $act) {
$stat = "view";
$act = "";
}
else
{
$stat = "prev";
};
print "<a href=\"index.php?page_id=".$_GET['page_id']."&cat=".$_GET['cat']."&page=$page&img=$image&stat=$stat&act=$act\" style=\"text-decoration:none;border:0px;\">
<img src=\"$subdir$num.png\" style=\"text-decoration:none;border:0px; class=\"img_prev\" alt=\"\" />
</a>";
}
а вызов ее идет так:
<table>
<tr>
<td><? if (file_exists($subdir.intval($num-11).$f_ext)) {write_link_big_foto($subdir,intval($num-11));} ?></td>
<td><? if (file_exists($subdir.intval($num-10).$f_ext)) {write_link_big_foto($subdir,intval($num-10));} ?></td>
<td><? if (file_exists($subdir.intval($num-9).$f_ext)) {write_link_big_foto($subdir,intval($num-9));} ?></td>
</tr>
тоесть в нее(функцию) при генерации таблицы передается $subdir в которой содержится значение, которое передается в функцию, а точнее в массив из которого потом генерится $fldr, из которой складывается конечный $act.
работает все это так:
пользователь попадает в галерею по ссылке
...&stat=prev&act=razvl.prev - это превьюхи на подкатегории
и видит перед собой две(так как в массиве по ссылке razvl - только два ключа) превьюхи на две подкатегории, кот. ссылаются на:
1:...&stat=prev&act=razvl.polit
2:...&stat=prev&act=razvl.katok
при щелчке на (1) или (2)
окрывается список превьюх, которые, если рассмотреть (1), имеют ссылку на ...&stat=view&act=
работает почти нормально, но это "почти" все портит.
а именно: первая превьюха в конечной подкатегории имеет $stat=view, вторая (и если добавить в массив 3,4,5....) будут иметь $stat=prev, а все остальные, которые не имеют в массиве соответствующих номеров имеют $stat=view.
так где я ошибся? или надо использовать какуюто другую ф-ю?
все это лежит тут: personalno.ru/svlad
в Мои фотки - Развлечения
тоесть, если смотреть на personalno.ru/svlad по пути в Мои фотки - Развлечения - клик по превьюхе (левой превьюхе из двух(там мерин сфоткан)) то вывалится семь превьюх - так вот у каждой из них $stat должен быть view, а там сам можешь посмотреть какой
Если у тебя в GET stat=prev и !empty(cat), то stat=prev
Если в GET stat=prev и empty(cat), то stat=view
Если у тебя в GET act=razvl.prev, то stat=prev
Если у тебя в GET act!=razvl.prev, то stat=view
if ($_GET['stat'] == "") { $stat = "prev";};
if ($_GET['stat'] == "prev") { $stat = "view";};
а при переходе из Развлечения в Мои фотки просто не не передавать $stat и все))
Так что теперь можно создавать бесконечное число подкатегорий, только делать при этом проверку:
if ($_GET['stat'] == "view") { $stat = "prev";};
Пасибо за поддержку, дамаю скоро зайду с новыми вопросами)))