/** * * @param $groupName * @param $actionName * @param bool $readFromLocalCache * @return BOL_AuthorizationAction */ public function findAction($groupName, $actionName, $readFromLocalCache = false) { $groupDto = null; if ($readFromLocalCache) { /* @var $groupItem BOL_AuthorizationGroup */ foreach ($this->groupDaoCache as $groupItem) { if ($groupItem->getName() == $groupName) { $groupDto = $groupItem; break; } } } else { $groupDto = $this->groupDao->findByName($groupName); } if ($groupDto === null) { return null; } if ($readFromLocalCache) { /* @var $actionItem BOL_AuthorizationAction */ foreach ($this->actionDaoCache as $actionItem) { if ($actionItem->getGroupId() == $groupDto->getId() && $actionItem->getName() == $actionName) { return $actionItem; } } } else { return $this->actionDao->findAction($actionName, $groupDto->getId()); } return null; }