rendered paste body<?php
class Zend_View_Helper_Navigation
{
public $view;
public function setView(Zend_View_Interface $view) {
$this->view = $view;
}
public function navigation() {
return $this;
}
public function main() {
$user = Zend_Auth::getInstance()->getIdentity();
if (isset($user->acl_role_id) && $user->acl_role_id > 0) {
$acl = EDM_Acl::getInstance();
$db = Zend_Db_Table::getDefaultAdapter();
$navs = $db->fetchAll("SELECT
acl_resource.acl_resource_name,
acl_privilege.acl_privilege_name,
navigation.navigation_name
FROM navigation, acl_privilege, acl_resource WHERE
navigation.acl_privilege_id = acl_privilege.acl_privilege_id AND
acl_privilege.acl_resource_id = acl_resource.acl_resource_id
ORDER BY navigation.navigation_order");
$this->view->nav_list = array();
foreach ($navs as $nav_item) {
if ($acl->has($nav_item['acl_resource_name'])) {
if ($acl->isAllowed($user->acl_role_id, $nav_item['acl_resource_name'], $nav_item['acl_privilege_name'])) {
$this->view->nav_list[] = array('href'=>array('controller'=>$nav_item['acl_resource_name'], 'action'=>$nav_item['acl_privilege_name']), 'name'=>$nav_item['navigation_name']);
}
}
}
return $this->view->render('nav/list.phtml');
}
}
}