Your IP : 216.73.217.177


Current Path : /home/balossw/www/temp/common/cms/includes/classes/
Upload File :
Current File : /home/balossw/www/temp/common/cms/includes/classes/menu.class.php

<?php
/*---------------------------------------------------------------------------
		File name ............ includes/classes/menu.class.php
		Project .............. Owebia CMS
		Author ............... Antoine Lemoine
		Creation date ........ 31.08.2004
		Modification date .... 22.09.2010
---------------------------------------------------------------------------*/

class MenuItem
{
	var $label;
	var $url;
	var $tooltip;
	var $selected;
	var $class_name;

	function MenuItem($label, $url, $selected=false, $class_name='', $tooltip='') {
		$this->label = $label;
		$this->url = $url;
		$this->selected = $selected;
		$this->class_name = $class_name;
		$this->tooltip = $tooltip;
	}
	
	function getData() {
		$data = array(
			'url' => $this->url,
			'label' => $this->label,
			'selected' => $this->selected,
			'class_name' => $this->class_name,
			'tooltip' => $this->tooltip,
		);
		if (preg_match('#^javascript:#',$this->url)) {
			$data['onclick'] = $this->url;
			$data['url'] = '#';
		}
		return $data;
	}
}

class Menu
{
	var $items;
	var $submenu;

	function Menu($items=null) {
		if ($items==null) $this->items = array();
		else if (!is_array($items)) $this->items = array($items);
		else $this->items = $items;
	}

	function addSubMenu($submenu) {
		$this->submenu = $submenu;
	}

	function add($item) {
		$this->items[] = $item;
	}

	function insert($item) {
		array_unshift($this->items,$item);
	}

	function toString() {
		global $global;

		if (count($this->items)>0 || isset($this->submenu)) {
			$template = $global->tpl_manager->createTemplate('page-menu.tpl');
			for ($i=0; $i<count($this->items); $i++) {
				$data = $this->items[$i]->getData();
				$template->insertBloc('page-menu-item',$data);
			}
			$template->process('page-menu',
				array(
					'submenu_enabled' => isset($this->submenu),
				)
			);
			if (isset($this->submenu)) {
				$this->submenu->processTemplate($template);
			}
			return $template->toString();
		}
		return '';
	}
}

class SubMenu
{
	var $items;

	function SubMenu($items=null) {
		if ($items==null) { $this->items = array(); }
		else if (!is_array($items)) { $this->items = array($items); }
		else { $this->items = $items; }
	}

	function add($item) {
		$this->items[] = $item;
	}

	function insert($item) {
		array_unshift($this->items,$item);
	}

	function processTemplate(&$template) {
		$submenu_id = $template->insertBloc('page-submenu',array());
		for ($i=0; $i<count($this->items); $i++) {
			$data = $this->items[$i]->getData();
			$template->insertBloc('page-submenu-item',$data,$submenu_id);
		}
	}
}

?>