| Current Path : /home/balossw/www/temp/common/cms/includes/ |
| Current File : /home/balossw/www/temp/common/cms/includes/menu.php |
<?
/*---------------------------------------------------------------------------
File name ............ cms/includes/menu.php
Project .............. Owebia CMS
Author ............... Antoine Lemoine
Creation date ........ 06.07.2004
Modification date .... 13.06.2010
---------------------------------------------------------------------------*/
class CmsMenu {
public $groups;
function CmsMenu() {
$this->groups = array();
$this->addGroup('default',new CmsMenuGroup(''));
}
function addGroup($key, $group) {
$this->groups[$key] = $group;
return $this;
}
function getGroup($key) {
return $this->groups[$key];
}
}
class CmsMenuItem {
public $label;
public $url;
public $selected;
function CmsMenuItem($label, $url, $selected) {
$this->label = $label;
$this->url = $url;
$this->selected = $selected;
}
}
class CmsMenuGroup {
public $label;
public $items;
function CmsMenuGroup($label, $items=array()) {
$this->label = $label;
$this->items = $items;
}
function addItem($item) {
$this->items[] = $item;
return $this;
}
}
class PageMenuItem extends CmsMenuItem {
function PageMenuItem($section, $page, $label) {
global $global;
$this->CmsMenuItem($label,'?section='.$section.'&page='.$page,$global->section==$section && $global->page==$page);
}
}
function addMenu($title, $menu_array) {
global $global;
if ($title!=null) $global->menu->addGroup($title,new CmsMenuGroup($title));
$group = $global->menu->getGroup($title!=null ? $title : 'default');
foreach ($menu_array as $page => $label) {
if (checkRight('pages','website',$page)) {
$group->addItem(new PageMenuItem('website',$page,$label));
}
}
}
$global->menu = new CmsMenu();
include_once $global->realpath('content/user/menu.php');
$global->body->inner_html .= "<div id=\"menu\" class=\"box\"><ul class=\"menu\">";
foreach ($global->menu->groups as $group) {
$global->body->inner_html .= "<li><h2>".$group->label."</h2><ul>";
foreach ($group->items as $item) {
$global->body->inner_html .= "<li class=\"menu-item".($item->selected ? " selected" : '')."\">"
."<a href=\"".$item->url."\" onclick=\"".$item->onclick."\">".$item->label."</a></li>";
}
$global->body->inner_html .= "</ul></li>";
}
$global->body->inner_html .= "</ul></div>";
?>