/** * Gera Menus para a View */ public function getMenu() { # Monto a opção de escolha dos sistemas do Usuario try { $sess = Session::getLiveSession('sisicmbio', 'USER'); SIALException::ThrowsExceptionIfParamIsNull($sess, 'Não foi encontrada a sessão para o objeto informado'); } catch (SIALException $e) { # Não foi encontrada a Sessão para Este Sistema header("Location: " . $this->bootstrap()->config()->get('app')->get('authSystem')); } $count = 0; foreach ($sess->sistemas as $sistema) { $arrSistema[$count]['href'] = $sistema['sqSistema']; $arrSistema[$count]['text'] = $sistema['sgSistema']; $count++; } $Menuoptions = array('__DIVIDER_VERTICAL__', 'Início' => array(), '__DIVIDER_VERTICAL__', 'Sistemas' => $arrSistema, '__DIVIDER_VERTICAL__'); $menuParam = new \stdClass(); $menuParam->options = $Menuoptions; $menuParam->type = 'h'; $this->_SIALApplication->set('menuH', $this->getSAF()->create('menu', $menuParam)); $this->_SIALApplication->set('param', array('nome' => $sess->noPessoa, 'perfil' => $sess->noPerfil, 'uorg' => isset($sess->noUnidadeOrg) ? $sess->noUnidadeOrg : NULL, 'help' => 'HTML', 'sysId' => $sess->sqSistema, 'multiProfile' => count($sess->allProfile) > 1 ? TRUE : FALSE)); # Monta os Menus $menu = $sess->MenuExterno; $arrMenu = array(); foreach ($menu as $no) { #Sq da Raíz $curr = $no['MenuPai']['sqMenu']; $arrMenu[$curr]['text'] = $no['MenuPai']['noMenu']; $arrMenu[$curr]['href'] = $no['Acao']; #adiciona cada filho if (isset($no['MenuFilho'])) { foreach ($no['MenuFilho'] as $filho) { if (isset($filho['Acao']) && NULL !== $filho['Acao']) { $arrMenu[$curr][$filho['MenuFilho']['sqMenu']]['href'] = $filho['Acao']; } if (!empty($filho['MenuFilho']['noMenu'])) { $arrMenu[$curr][$filho['MenuFilho']['sqMenu']]['text'] = $filho['MenuFilho']['noMenu']; } } } if (isset($no['MenuNeto'])) { foreach ($no['MenuNeto'] as $menuNeto) { $netoList = current($menuNeto); if (isset($arrMenu[$curr][$netoList['sqMenuPai']])) { $arrMenu[$curr][$netoList['sqMenuPai']][$netoList['sqMenu']]['href'] = isset($menuNeto['Acao']) ? $menuNeto['Acao'] : '#'; if (isset($netoList['noMenu'])) { $arrMenu[$curr][$netoList['sqMenuPai']][$netoList['sqMenu']]['text'] = $netoList['noMenu']; } } } } } $menuParam = new \stdClass(); $menuParam->title = 'Menu'; $menuParam->options = $arrMenu; $menuParam->type = 'v'; $this->_SIALApplication->set('menuV', $this->getSAF()->create('menu', $menuParam)); }
/** * autoload de arquivo de constantes * este metodo, com base na requisicao (bootstrap->request()), carrega o arquivo de constante do modulo ativado * * @throws br\gov\sial\core\exception\SIALException * */ public function requestConstantAutoload() { # recupera o namespace da app # observer que para o correto funcionamento eh necesasrio que esta propriedade # seja configurada em application/config/config.ini $namespace = substr($this->_bootstrap->config('app.namespace'), 1); $message = 'É necessário informar o namespace da aplicação em config.ini::app.namespaces '; SIALException::throwsExceptionIfParamIsNull(!empty($namespace), $message); # constantes gerais de todos os sistemas que deve esta sob a pasta \br\gov\icmbio\[systemName]\application $loadConstants['sys'] = $namespace; # constantes geral do sistema carregado: \br\gov\icmbio\[systemName]\application\subsystem $loadConstants['app'] = $loadConstants['sys'] . self::NAMESPACE_SEPARATOR . $this->_bootstrap->getModule(); # constante do modulo do sistema selecionado \br\gov\icmbio\[systemName]\application\subsystem\module $loadConstants['mdl'] = $loadConstants['app'] . self::NAMESPACE_SEPARATOR . $this->_bootstrap->getFuncionality(); foreach ($loadConstants as $key => $value) { $assert = 'mdl' == $key; $this->loadModuleConstant($value, $assert); } }
/** * recupera o conteudo registrado pelo metodo <i>Registry::set()</i> * * @code * <?php * # registra um valor no Registry * Registry::set('strKey', 'someValue'); * * # recuper ao valor registrado * echo Registry::get('strKey'); * * // output: someValue * ?> * @endcode * @param string $index * @return mixed * @throws \br\gov\sial\core\exception\SIALException * */ public static function get($index) { SIALException::throwsExceptionIfParamIsNull(self::isRegistered($index), sprintf(self::T_REGISTRY_STR_NO_ENTRY_REGISTERED, $index)); $instance = self::factory(); return $instance->_data->offsetGet($index); }
/** * {@inheritdoc} * */ public function __construct($message = '', $code = 0, \Exception $previous = NULL) { parent::__construct($message, $code, $previous); }