/** * Enter description here... * * @param string $seg * @param id $off * @param array $tail * @return unknown */ function aBreadCrumbsPath($seg, $off, $tail = array()) { // dbg($seg, $off); $class = TheClass($seg); // dbg($class); global ${$class}; $aItem = ${$class}->getBaseData($off); // dbg($aItem); global $BreadCrumbs; global $segs; // тут хаки :)) if (!isset($aItem['name'])) { $aItem['name'] = $aItem['title']; } elseif (isset($aItem['family'])) { $aItem['name'] = $aItem['family'] . ' ' . $aItem['name']; } $tail["%{$seg}/{$off}"] = $aItem['name']; if (isset($aItem['seg']) && isset($aItem['off']) && isset($segs[$aItem['seg']]) && $aItem['off'] != 0) { return aBreadCrumbsPath($aItem['seg'], $aItem['off'], $tail); } return $tail; }
//dbg($aItems); if (empty($aItems)) { // dbg("ASSERT (Warn): {module $sModuleName} items not found"); } // Здесь мы могли бы сбросить $bFlag404 но остается вероятность, // что по url не будет найден управляющий контроллер, поэтому // оконечный управляющий контроллер сам сбрасывает $bFlag404 // ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //dbg($aItems); // OPEN if ('' == $sModuleTpl) { my_die('Error: Template not found'); } $tpl = new KTemplate(FLGR_TEMPLATES . '/' . $sModuleTpl . '.htm'); // BreadCrumbs $bc = aBreadCrumbsPath($seg, $off); //dbg($bc); foreach (array_reverse($bc) as $k => $v) { $BreadCrumbs->add($k, $v); } //dbg($class); $BreadCrumbs->add($_SERVER['REQUEST_URI'], $msegs[$class]); stylesheet('communication.css'); stylesheet('profile.css'); // POST if (isset($_POST['act'])) { switch ($_POST['act']) { case 'del_item': $Users->delFriend($Permissions->getLoggedUserId(), $_POST['id']); header('Location', $_SERVER['REQUEST_URI']); break;
/** * Конкретный альбом */ $seg = 'album'; include FLGR_LIBS . '/ll.php'; // DopNav - внутренняя навигация на страницах $aDopNav = array('editalbum' => 'Редактировать альбом', 'addphoto' => 'Добавить фотографии', 'descr' => 'Описание', 'delalbum' => 'Удалить альбом'); // Чтобы вывести первый BreadCrumbsItem необходимо // получить объект с которым связан текущий обьект //dbg($aItem); $owner = TheClass($aItem['seg']); //dbg($owner); $aOwner = ${$owner}->getBaseData($off); //dbg($aOwner); //dbg(aBreadCrumbsPath($seg, $aItem['id'])); foreach (array_reverse(aBreadCrumbsPath($seg, $aItem['id'])) as $k => $v) { $BreadCrumbs->add($k, $v); } // --------------------------- if (!$bFlagLastModule) { return; } // --------------------------- if (isset($_POST['act'])) { switch ($_POST['act']) { default: break; } } // BreadCrumbs $_t->assign('BreadCrumbs', $BreadCrumbs->get());