private function getResolvedAction(MenuAction $action)
    {
        $actionId = $action->getId();
        if(!isset($this->resolvedActions[$actionId])){
            try{
                if($action->getContext() == '*'){
                    //we assume the star context is not permission aware
                    $this->resolvedActions[$actionId] = null;
                }  else {

                    $resolver = new ActionResolver($action->getUrl());
                    $resolvedAction = [
                        'id'         => $action->getId(),
                        'context'    => $action->getContext(),
                        'controller' => $resolver->getController(),
                        'action'     => $resolver->getAction(),
                    ];
                    $resolvedAction['required'] = array_keys(
                        ControllerHelper::getRequiredRights($resolvedAction['controller'], $resolvedAction['action'])
                    );

                    $this->resolvedActions[$actionId] = $resolvedAction;
                }
            } catch(\ResolverException $re) {
                $this->resolvedActions[$actionId] = null;
                \common_Logger::d('do not handle permissions for action : ' . $action->getName() . ' ' . $action->getUrl());
            } catch(\Exception $e){

                $this->resolvedActions[$actionId] = null;
                \common_Logger::d('do not handle permissions for action : ' . $action->getName() . ' ' . $action->getUrl());
            }
        }

        return $this->resolvedActions[$actionId];
    }
private function getResolvedAction(MenuAction $action)
    {
        $actionId = $action->getId();
        if(!isset($this->resolvedActions[$actionId])){
            try{
                if($action->getContext() == '*'){
                    //we assume the star context is not permission aware
                    $this->resolvedActions[$actionId] = null;
                }  else {

                    $resolver = new ActionResolver($action->getUrl());
                    $resolvedAction = [
                        'id'         => $action->getId(),
                        'context'    => $action->getContext(),
                        'controller' => $resolver->getController(),
                        'action'     => $resolver->getAction(),
                    ];
                    $resolvedAction['required'] = array_keys(
                        ControllerHelper::getRequiredRights($resolvedAction['controller'], $resolvedAction['action'])
                    );

                    $this->resolvedActions[$actionId] = $resolvedAction;
                }
            } catch(\ResolverException $re) {
                $this->resolvedActions[$actionId] = null;
                \common_Logger::d('do not handle permissions for action : ' . $action->getName() . ' ' . $action->getUrl());
            } catch(\Exception $e){

                $this->resolvedActions[$actionId] = null;
                \common_Logger::d('do not handle permissions for action : ' . $action->getName() . ' ' . $action->getUrl());
            }
        }

        return $this->resolvedActions[$actionId];
    }
private function getResolvedAction ( MenuAction $ action ) { $ actionId = $ action -> getId ( ) ; if ( ! isset ( $ this -> resolvedActions [ $ actionId ] ) ) { try { if ( $ action -> getContext ( ) == '*' ) { //we assume the star context is not permission aware $ this -> resolvedActions [ $ actionId ] = null ; } else { $ resolver = new ActionResolver ( $ action -> getUrl ( ) ) ; $ resolvedAction = [ 'id' => $ action -> getId ( ) , 'context' => $ action -> getContext ( ) , 'controller' => $ resolver -> getController ( ) , 'action' => $ resolver -> getAction ( ) , ] ; $ resolvedAction [ 'required' ] = array_keys ( ControllerHelper :: getRequiredRights ( $ resolvedAction [ 'controller' ] , $ resolvedAction [ 'action' ] ) ) ; $ this -> resolvedActions [ $ actionId ] = $ resolvedAction ; } } catch ( \ ResolverException $ re ) { $ this -> resolvedActions [ $ actionId ] = null ; \ common_Logger :: d ( 'do not handle permissions for action : ' . $ action -> getName ( ) . ' ' . $ action -> getUrl ( ) ) ; } catch ( \ Exception $ e ) { $ this -> resolvedActions [ $ actionId ] = null ; \ common_Logger :: d ( 'do not handle permissions for action : ' . $ action -> getName ( ) . ' ' . $ action -> getUrl ( ) ) ; } } return $ this -> resolvedActions [ $ actionId ] ; }
Get the action resolved against itself in the current context
@param MenuAction $action the action
@return array the resolved action
Get the action resolved against itself in the current context