Exemplo n.º 1
0
 public function verificaAcesso($pagina)
 {
     $continua = true;
     if ($pagina != 'sair') {
         if ($this->opcao != 'visitante') {
             $continua = $this->dao->verificaLogado($this->opcao, $this->idOpcao, $this->idSessao);
             if ($continua) {
                 $paginaExiste = $this->dao->paginaExiste($pagina);
                 if ($paginaExiste) {
                     if ($pagina != 'busca' && $pagina != '404' && $pagina != 'validar') {
                         $visualizaPagina = $this->dao->visualizaPagina($this->idLog, $pagina);
                     }
                 } else {
                     $visualizaPagina = $this->dao->visualizaPagina($this->idLog, '404: ' . $pagina);
                     Transacao::close();
                     header('Location: ' . Constantes::$enderecoCompleto . '404');
                     die;
                 }
             } else {
                 header('Location: ' . Constantes::$enderecoCompleto . 'sair');
                 die;
             }
         }
         if ($continua) {
             $continua = $this->dao->verificaAcesso($pagina, $this->opcao);
         }
     }
     return $continua;
 }
Exemplo n.º 2
0
 private function inicia()
 {
     $this->getPagina();
     $login = new LoginVerifica($_SESSION);
     $paginaSel = $this->getPaginaUpper();
     $paginaSel = $paginaSel == '404' ? 'NaoExiste' : $paginaSel;
     try {
         //Abre a Transacao
         Transacao::open();
         //CHAMAR A página
         if ($login->verificaAcesso($this->pagina)) {
             require_once $paginaSel . '.php';
             $temp = new $paginaSel();
             $temp->setQuery($this->queryString);
             $temp->executa();
         } else {
             $chamada = $this->pagina;
             if ($paginaSel == 'Login' || $paginaSel == 'Loga') {
                 $chamada = Constantes::$padrao;
                 $endereco = Constantes::$enderecoCompleto;
                 header('Location: ' . $endereco . $chamada);
             } else {
                 require_once 'Sair.php';
                 $sair = new Sair();
                 $sair->setNova($chamada);
                 $sair->executa();
             }
         }
         //Fecha a conexão e faz o commit das queries
         Transacao::close();
     } catch (Exception $e) {
         //Caso dê erro, faz o rollback
         Transacao::rollback();
         //Escreve o erro na tela
         //Futuramente, inserir o erro no banco!
         echo 'Erro: ' . $e->getMessage();
     }
 }