public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); } return self::$_instance; }
/** * RPC Specific * verifica se o usuário tem persmissão para acessar esta página */ public function hasPermission($requestedPermission = null, $tipoAcao = null, $permissoes = null) { try { if (is_array($requestedPermission) && !empty($requestedPermission['permission'])) { $tipoAcao = $requestedPermission['tipoAcao']; $permissoes = $requestedPermission['permissoes']; $requestedPermission = $requestedPermission['permission']; } else { if ($requestedPermission === null) { $tipoAcao = $this->permission['tipoAcao']; $permissoes = $this->permission['permissoes']; $requestedPermission = $this->permission['permission']; } } if ($tipoAcao === null) { $tipoAcao = Permissoes::TIPO_ACAO; } if ($permissoes === null) { $permissoes = Permissoes::CONSULTAR; } if (Permissoes::hasPermission($requestedPermission, $tipoAcao, $permissoes) === "S") { return true; } else { return false; } } catch (Exception $err) { if (DEBUG) { throw new Exception("Erro na definição de permissão de acesso: " . $err->getMessage()); } throw new Exception("Erro na definição de permissão de acesso"); } }
public function navigatorAction() { $this->_helper->viewRenderer->setResponseSegment('menu'); /* * Carrega a classe de permissões para montar o menu e retorna para view. */ Zend_Loader::loadClass('Permissoes'); $pesPerm = Permissoes::getInstance(); $vMenu = $pesPerm->getMenuPermissoes(); $this->view->menu = $vMenu; }