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 = ' »'; } 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"].' »</a><ul>'; $this->get_children($cval["id"]); $this->menu_sub .= "</ul></li>"; } else { $this->menu_sub .= '<li><a href="">'. $cval["name"].'</a></li>'; } } } }}