/** * 在路由结束之后,载入权限分配表。 * * @see Zend_Controller_Request_Abstract::routeShutdown() * @param Zend_Controller_Plugin_Abstract $request * @return void */ public function routeShutdown(Zend_Controller_Request_Abstract $request) { $user = Zend_Registry::get('user'); $role = ZtChart_Model_Acl_Loader::hash($user->getRoleId()); Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($role); ZtChart_Model_Acl_Loader::getInstance()->load($this->_acl); Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($this->_acl); // 如果拥有全部游戏,则设置为NULL。 if (($gameTypes = $user->getRole()->getGameTypes(true)) == array_keys(ZtChart_Model_GameType::getGames())) { $gameTypes = null; } ZtChart_Model_Assemble_Backend_Abstract::setAllowedGameTypes($gameTypes); }
/** * * @param integer|array $gameTypes * @return void */ public static function setAllowedGameTypes($gameTypes) { self::$_allowedGameTypes = null == $gameTypes ? $gameTypes : (array) $gameTypes; }
/** * 生成缓存ID * * @param string $label * @return string */ protected function _cacheId($label) { $label = str_replace(array(' ', ':', '-'), null, $label); return $this->_backend->hashObject() . '_' . $label; }