Menu.php
00001 <?php
00009 class Dsao_Controller_Action_Helper_Menu
00010 extends Zend_Controller_Action_Helper_Abstract
00011 {
00017 public function postDispatch()
00018 {
00019
00020 $role = $this->getActionController()->getUser()->getData('role', 'guest');
00021
00022
00023 $cacheLoader = new Dsao_Cache_Loader('File',
00024 array('automatic_serialization' => true,
00025 'master_files' =>
00026 array(XML_DIR.Dsao_Module_Menu::XML_MODULE_MENU_DIR)));
00027 $cache = $cacheLoader->getCache();
00028
00029 $idCache = 'menu'.$role;
00030
00031
00032 if (!($menu = $cache->load($idCache)))
00033 {
00034 $menu = new Dsao_Module_Menu($role);
00035
00036 $cache->save($menu, $idCache, array('menu', 'module'));
00037 }
00038
00039 $this->getActionController()->getView()->assign('menu', $menu);
00040 }
00041 }