All pastes #615915 Raw Edit

largo

public php v1 · immutable
·published 2007-07-12 11:08 UTC
rendered paste body
<?php/** * (c) Emergen Consulting (Pvt) Ltd. * * $Id$ * $LastChangedDate$ */class Ecl_Menu extends Zend_Db_Table{	const TABLE = 'plugins';	protected $_name = 'plugins';	private $user_session;	private $menu_val;	private $first_root = true;	private $first_branch = true;	private $close_branch = false;	private $close_root = false;	private $menu_sub;	public $menu_type;	public $menu;	public function __construct()	{		parent::__construct();		$this->user_session = new Zend_Session_Namespace("user_session");				if (!isset($this->user_session->auth)) {			$this->menu_type = 'guest';		}				$this->generate_menu();	}	private function generate_menu()	{        $rows = $this->_db->fetchAll('select * from ' . self::TABLE . ' where 				access="'.$this->menu_type.'" and type="root"');		$this->menu = '<div id="m"><ul id="navmenu">';		foreach ($rows as $this->menu_val) {			$this->menu_sub = false;			$menu_sub = $this->get_children($this->menu_val["id"]);			if ($this->menu_sub != false) {				$sub_indicator = ' &raquo;';			} else {				$sub_indicator = '';			}			$this->menu .= '<li><a href="">'.$this->menu_val["name"].							$sub_indicator.'</a><ul>';			$this->menu .= $this->menu_sub;			$this->menu .= '</ul></li>';		}		$this->menu .= '</ul></div>';	}	private function get_children($parent)	{        $rows = $this->_db->fetchAll('select * from ' . self::TABLE . ' where 				access="'.$this->menu_type.'" and parent="'. $parent . '"');			if (!empty($rows)) {			foreach ($rows as $cval) {				if ($cval["type"] == "branch") {					$this->menu_sub .= '<li><a href="">'.									$cval["name"].' &raquo;</a><ul>';					$this->get_children($cval["id"]);					$this->menu_sub .= "</ul></li>";				} else {					$this->menu_sub .= '<li><a href="">'.										$cval["name"].'</a></li>';				}			}		}	}}