public function assert(Core_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null)
 {
     $auth = Zend_Auth::getInstance();
     if (!$auth->hasIdentity()) {
         return false;
     }
     $controller = Controlador::getInstance();
     $usuario = $controller->usuario;
     $somenteUltimo = false;
     $contexto = $resource->getContexto($somenteUltimo);
     // Se houver um contexto, e o usuario tem permissao para o recurso
     if (!is_null($contexto)) {
         // Checa se o usuario tem permissao de acessar o recurso
         if (!$controller->cache->test('privilegio_' . $usuario->ID . '_' . $resource->id)) {
             // não existe o cache, pegar o valor do banco
             $privilegio = DaoRecurso::getPrivilegioByUsuario($usuario, $resource);
             $controller->cache->save($privilegio, 'privilegio_' . $usuario->ID . '_' . $resource->id, array('acl_usuario_' . $usuario->ID, 'acl_unidade_' . $usuario->ID_UNIDADE));
         } else {
             $privilegio = $controller->cache->load('privilegio_' . $usuario->ID . '_' . $resource->id);
         }
         if ($privilegio) {
             foreach ($contexto as $umContexto) {
                 // checa se o objeto do contexto tem a mesma area de trabalho do usuario
                 if ($umContexto['id_unid_area_trabalho'] == $usuario->ID_UNIDADE) {
                     return true;
                 }
             }
         }
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * @param integer
  * @return Object 
  */
 public static function listUnidadesTipo($idOrgaoSuperior = NULL)
 {
     $sucesso = new stdClass();
     try {
         $sql = "SELECT ID, TIPO, TIPO AS NOME FROM TB_UNIDADES_TIPO ORDER BY TIPO ASC";
         if (!is_null($idOrgaoSuperior)) {
             $sql = 'SELECT DISTINCT (T.ID), T.TIPO, T.TIPO AS NOME FROM TB_UNIDADES_TIPO T
                         INNER JOIN TB_UNIDADES U ON U.TIPO = T.ID 
                     WHERE U.UOP = ? ORDER BY T.TIPO ASC';
         }
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql);
         if (!is_null($idOrgaoSuperior)) {
             $stmt->bindParam(1, $idOrgaoSuperior);
         }
         $stmt->execute();
         $out = $stmt->fetchAll(PDO::FETCH_ASSOC);
         $out = array_change_key_case($out, CASE_LOWER);
         $sucesso->sucesso = true;
         if (count($out) > 0) {
             $sucesso->resultado = $out;
         } else {
             $sucesso->resultado = false;
         }
     } catch (PDOException $e) {
         $sucesso->error = true;
         $sucesso->resultado = 'Error Query: [' . $e->getMessage() . ']';
     }
     return $sucesso;
 }
Exemplo n.º 3
0
 /**
  * 
  */
 public static function getPessoa($pessoa = false, $campo = false)
 {
     try {
         $campo = $campo ? $campo : '*';
         $condicao = filter_var($pessoa, FILTER_VALIDATE_INT) ? 'ID_PESSOA' : 'NM_PESSOA';
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT {$campo} FROM TB_PESSOA WHERE {$condicao} = ? LIMIT 1");
         $stmt->bindParam(1, $pessoa, PDO::PARAM_STR);
         $stmt->execute();
         $out = $stmt->fetch(PDO::FETCH_ASSOC);
         if (empty($out)) {
             $out['success'] = 'false';
         } else {
             $out['success'] = 'true';
             /* Padronizar com caixa baixa o os indices dos arrays */
             $out = array_change_key_case($out, CASE_LOWER);
             if ($campo === '*') {
                 return $out;
             }
             return $out[$campo];
         }
         return false;
     } catch (PDOException $e) {
         throw new Exception($e);
     }
 }
 public function assert(Core_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null)
 {
     $auth = Zend_Auth::getInstance();
     if (!$auth->hasIdentity()) {
         return false;
     }
     $controller = Controlador::getInstance();
     $usuario = $controller->usuario;
     if (!$controller->cache->test('privilegio_' . $usuario->ID . '_' . $resource->id)) {
         // não existe o cache, pegar o valor do banco
         $privilegio = DaoRecurso::getPrivilegioByUsuario($usuario, $resource);
         $controller->cache->save($privilegio, 'privilegio_' . $usuario->ID . '_' . $resource->id, array('acl_usuario_' . $usuario->ID, 'acl_unidade_' . $usuario->ID_UNIDADE));
     } else {
         $privilegio = $controller->cache->load('privilegio_' . $usuario->ID . '_' . $resource->id);
     }
     // Checa se o usuario tem permissao de acessar o recurso incondicionalmente
     if ($acl->has($resource) && $privilegio) {
         return true;
     } else {
         $contexto = $resource->getContexto();
         if (!is_null($contexto) && count($contexto) > 0) {
             // Existe um contexto, avaliar se o id_unid_area_trabalho do objeto contexto == ID_UNIDADE do usuario logado
             return $contexto['id_unid_area_trabalho'] == $usuario->ID_UNIDADE;
         } else {
             // Não existe objeto de contexto, retorna true se recurso original da requisicao for AREA DE TRABALHO
             return Controlador::getInstance()->recurso->id == 3;
         }
     }
     return false;
 }
Exemplo n.º 5
0
 function __Construct()
 {
     parent::__Construct();
     NeuralSesiones::Inicializacion();
     NeuralSesiones::Finalizacion();
     header("Location: " . NeuralRutasApp::RutaURL('Index'));
 }
 public function obtemNovoGrupo()
 {
     $sql = 'select max(id_grupo) as grupo from snas.tb_agrupamento_documentos;';
     $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql);
     $stmt->execute();
     $out = $stmt->fetchAll(PDO::FETCH_ASSOC);
     return (int) $out[0]['GRUPO'] + 1;
 }
Exemplo n.º 7
0
 /**
  * Metodo: Constructor
  */
 function __Construct()
 {
     parent::__Construct();
     NeuralSesiones::Inicializar(APP);
     if (isset($_SESSION['SESIONEXPERTOS']) == true) {
         header("Location: " . NeuralRutasApp::RutaUrlAppModulo('Inicio'));
     }
 }
Exemplo n.º 8
0
 function __Construct()
 {
     parent::__Construct();
     /*if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {}
     		else { header("Location: ".NeuralRutasApp::RutaURL('Central')); exit(); }
     		*/
     AyudasSessiones::ValidarSession();
 }
Exemplo n.º 9
0
 public function __construct()
 {
     parent::__construct();
     $comun = $this->getLocaleTard();
     $this->trad = $comun->trad('comun');
     $acceso = $this->getLocaleTard();
     $this->trad_acceso = $acceso->trad('formpass');
 }
Exemplo n.º 10
0
 public function __construct($parametrosseg)
 {
     parent::__construct();
     $this->parametrosSeguridad = $parametrosseg;
     $traducciones = $this->getLocaleTard();
     $diccionario = $traducciones->trad('formpass');
     $this->txt_comun = $diccionario;
 }
Exemplo n.º 11
0
 /**
  * @return boolean 
  */
 public function clearAllCache()
 {
     try {
         Controlador::getInstance()->cache->clean();
     } catch (Exception $e) {
         throw new \Exception('Erro na limpeza de cache: ' . $e->getMessage());
     }
     return $this;
 }
/**
 * @todo Refatorar...
 * @deprecated
 */
function getIdProcesso($processo)
{
    $sql = "SELECT ID \r\n              FROM TB_PROCESSOS_CADASTRO \r\n             WHERE NUMERO_PROCESSO = ? \r\n             LIMIT 1";
    $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql);
    $stmt->bindParam(1, $processo);
    $stmt->execute();
    $resul = $stmt->fetch(PDO::FETCH_ASSOC);
    return $resul['ID'];
}
function acesso()
{
    $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT (DT_ACESSO - 'now'::text::date) AS DIAS FROM TB_CONTROLE_ACESSO ORDER BY ID DESC LIMIT 1");
    $stmt->execute();
    $resul = $stmt->fetch(PDO::FETCH_ASSOC);
    if (!empty($resul) && $resul['DIAS'] <= -1) {
        return true;
    }
    return false;
}
Exemplo n.º 14
0
 /**
  * @todo Verificar se necessario continuar a funcionalidade de gráfico de gantt
  */
 public static function listGantt()
 {
     try {
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT DISTINCT DC.DIGITAL, DC.ID_ASSUNTO, P.SQ_PRAZO, TRIM(DC.INTERESSADO) AS INTERESSADO, \r\n                                    DC.DT_DOCUMENTO, P.DT_PRAZO, P.DT_RESPOSTA, TRIM(A.ASSUNTO) AS NM_ASSUNTO FROM TB_DOCUMENTOS_CADASTRO DC \r\n                                        INNER JOIN TB_DOCUMENTOS_ASSUNTO A ON A.ID = DC.ID_ASSUNTO\r\n                                        INNER JOIN TB_CONTROLE_PRAZOS P ON P.NU_PROC_DIG_REF = DC.DIGITAL \r\n                                    WHERE DC.DT_DOCUMENTO >= '2011-11-01' AND P.DT_PRAZO <= '2013-01-24'");
         $stmt->execute();
         return $stmt->fetchAll(PDO::FETCH_ASSOC);
     } catch (PDOException $e) {
         print $e->getMessage();
     }
 }
Exemplo n.º 15
0
 function __construct()
 {
     parent::__construct();
     Session::init();
     $logeado = Session::get('logeado');
     if (!$logeado) {
         Session::destroy();
         header('location: ' . URL . 'login');
         exit;
     }
     $this->view->titulo = ' - Index';
 }
Exemplo n.º 16
0
 function __construct()
 {
     parent::__construct();
     //        Session::init();
     //        $logeado = Session::get('logeado');
     //        if(!$logeado){
     //            Session::destroy();
     //            header('location: '. URL .'/login');
     //            exit;
     //        }
     $this->view->js = array('dashboard/js/default.js');
 }
/**
 * @todo Refatorar...
 * @deprecated
 */
function getTermo($processo, $idtermo, $idUsuario)
{
    $id = Util::RecuperaIdProcesso($processo);
    $sql = "SELECT D.*\r\n                 , P.NUMERO_PROCESSO AS PROCESSO\r\n                 , (SELECT NOME FROM TB_UNIDADES WHERE (ID != UOP) AND SIGLA = U.SIGLA LIMIT 1) AS SOLICITANTE \r\n              FROM TB_PROCESSOS_DESENTRANHAMENTO AS D\r\n        INNER JOIN TB_PROCESSOS_CADASTRO AS P \r\n                ON D.NUMERO_PROCESSO = P.ID\r\n        INNER JOIN TB_UNIDADES AS U \r\n                ON D.ID_SOLICITANTE = U.ID\r\n             WHERE D.NUMERO_PROCESSO = ? \r\n               AND ID_USUARIO = ? \r\n               AND ID_DESEN = ? \r\n          ORDER BY ID_DESEN DESC \r\n             LIMIT 1";
    $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql);
    $stmt->bindParam(1, $id);
    $stmt->bindParam(2, $idUsuario);
    $stmt->bindParam(3, $idtermo);
    $stmt->execute();
    $resul = $stmt->fetch(PDO::FETCH_ASSOC);
    return $resul;
}
Exemplo n.º 18
0
 /**
  * 
  */
 public function __construct($tabela, $registro, $usuario, $operacao)
 {
     try {
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_LOGS (NM_TABELA,ID_REGISTRO,ID_USUARIO,TP_OPERACAO) VALUES (?, ?, ?, ?)");
         $stmt->bindParam(1, $tabela);
         $stmt->bindParam(2, $registro);
         $stmt->bindParam(3, $usuario);
         $stmt->bindParam(4, $operacao);
         return $stmt->execute();
     } catch (PDOException $e) {
         throw new Exception($e->getMessage());
     }
 }
 /**
  * @return boolean
  * @param array $permissions ARRAY(0=>ID_USUARIO 1=>ID_RECURSO 2=>IN_PERMISSAO)
  */
 public function updateDB($permissions)
 {
     $values = '';
     $query = 'INSERT INTO SGDOC.TB_PRIVILEGIOS_USUARIOS (ID_USUARIO,ID_RECURSO,PERMISSAO) VALUES %s';
     foreach ($permissions as $index => $permission) {
         $values .= "({$permission[0]},{$permission[1]},{$permission[2]}),";
     }
     try {
         Controlador::getInstance()->getConnection()->connection->prepare(sprintf($query, substr($values, 0, -1)))->execute();
         return true;
     } catch (Exception $e) {
         return false;
     }
 }
Exemplo n.º 20
0
 function __construct()
 {
     parent::__construct();
     Session::init();
     $logeado = Session::get('logeado');
     $role = Session::get('rol');
     $usuario = Session::get('usuario');
     if (!$logeado) {
         Session::destroy();
         header('location: ' . URL . 'login');
         exit;
     }
     $this->view->js = array('usuario/js/default.js');
 }
Exemplo n.º 21
0
 public function Pdf2Png(UploaderPdf $uploader)
 {
     $controller = Controlador::getInstance();
     $this->usuario = $controller->usuario->ID;
     $this->unidade = $controller->usuario->ID_UNIDADE;
     $this->conn = $controller->getConnection()->connection;
     foreach ($uploader as $key => $property) {
         if (property_exists($this, $key)) {
             $this->{$key} = $property;
         }
     }
     if ($uploader->pages > 1) {
         $this->extra_param .= '%03d';
     }
 }
Exemplo n.º 22
0
 public function __construct()
 {
     if (null === $this->_conn) {
         try {
             $this->_conn = Controlador::getInstance()->getConnection()->connection;
         } catch (PDOException $e) {
             var_dump($e->getMessage());
         }
     }
     try {
         $this->_wsConsultaOrgao = new SoapClient('http://www.siorg.redegoverno.gov.br/gestao/webservice/WSSiorg.asmx?WSDL', array('soap_version' => SOAP_1_2, 'exceptions' => true, 'trace' => 1));
     } catch (Exception $e) {
         var_dump($e->getMessage());
     }
     //Não precisa mais criar tabela, sistema já está estável.
 }
Exemplo n.º 23
0
 /**
  *  Verificar se o documento informado esta na area de trabalho do usuario logado 
  */
 public static function validarDocumentoAreaDeTrabalho($digital, $unidade = false)
 {
     try {
         $unidade = $unidade ? $unidade : Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE;
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT 1 FROM TB_DOCUMENTOS_CADASTRO WHERE DIGITAL = ? AND ID_UNID_AREA_TRABALHO = ? LIMIT 1");
         $stmt->bindParam(1, $digital, PDO::PARAM_STR);
         $stmt->bindParam(2, $unidade, PDO::PARAM_INT);
         $stmt->execute();
         $out = $stmt->fetch(PDO::FETCH_ASSOC);
         if (!empty($out)) {
             return true;
         }
         return false;
     } catch (PDOException $e) {
         throw new BasePDOException($e);
     }
 }
Exemplo n.º 24
0
 /**
  * @return PDOStatement
  * @param integer $id_caixa
  * @param integer $id_documento
  * @param integer $id_usuario
  * @param string $operacao
  */
 public function __construct($id_caixa, $id_documento, $id_usuario, $operacao)
 {
     try {
         $data_cadastro = Zend_Date::now()->get(Zend_Date::YEAR . '-' . Zend_Date::MONTH . '-' . Zend_Date::DAY);
         $id_unidade_usuario = Controlador::getInstance()->usuario->ID_UNIDADE;
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_CAIXAS_HISTORICOS (ID_CAIXA,ID_DOCUMENTO,ID_USUARIO,DS_ACAO,DT_CADASTRO,ID_UNIDADE_USUARIO) VALUES (?,?,?,?,?,?)");
         $stmt->bindParam(1, $id_caixa, PDO::PARAM_INT);
         $stmt->bindParam(2, $id_documento, PDO::PARAM_INT);
         $stmt->bindParam(3, $id_usuario, PDO::PARAM_INT);
         $stmt->bindParam(4, $operacao, PDO::PARAM_STR);
         $stmt->bindParam(5, $data_cadastro, PDO::PARAM_STR);
         $stmt->bindParam(6, $id_unidade_usuario, PDO::PARAM_STR);
         return $stmt->execute();
     } catch (PDOException $e) {
         throw new Exception($e->getMessage());
     }
 }
Exemplo n.º 25
0
 function __construct()
 {
     parent::__construct();
     Session::init();
     $logeado = Session::get('logeado');
     $role = Session::get('rol');
     $usuario = Session::get('usuario');
     if (!$logeado) {
         Session::destroy();
         header('location: ' . URL . 'login');
         exit;
     }
     if (!Permisos::tienePermiso('productos', 'ver')) {
         header('location: ' . URL . 'index');
     }
     $this->view->js = array('producto/js/default.js');
 }
Exemplo n.º 26
0
 /**
  * 
  */
 public static function novaPessoa($origem, $tipo, $cpf = 'Em Branco', $homologado = false)
 {
     try {
         /* Novo Pessoa */
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PESSOA (NM_PESSOA,TP_PESSOA,HOMOLOGADO) VALUES (?,?,0)");
         $stmt->bindParam(1, $origem, PDO::PARAM_STR);
         $stmt->bindParam(2, $tipo, PDO::PARAM_STR);
         $stmt->execute();
         $out = array('success' => 'true', 'pessoa' => $origem, 'id' => Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_PESSOA_ID_PESSOA_SEQ'));
         if (!empty($out)) {
             return $out;
         }
         return null;
     } catch (PDOException $e) {
         throw new BasePDOException($e);
     }
 }
Exemplo n.º 27
0
 public function __construct()
 {
     parent::__construct();
     $traducciones = $this->getLocaleTard();
     $traducciones2 = $this->getLocaleTard();
     $diccionario = $traducciones->trad('formpass');
     $diccionario2 = $traducciones2->trad('comungestor');
     $this->txt_pass = $diccionario;
     $this->txt_comun = $diccionario2;
     //Config Gestor
     $this->gestorConfig = $this->cargaGestorConfig();
     $this->menuTablas = $this->crearMenu();
     // IMG
     $this->IMGTablas = $this->configIMG();
     $this->IMG = $this->cargaIMG();
     // Carga los parametros $_GET
     $this->cargaGets();
 }
Exemplo n.º 28
0
 /**
  * @return void
  */
 private function setDigitais($idUnidade, $lote)
 {
     $extraQuery = '';
     if (!is_null($lote)) {
         print $extraQuery = "AND LOTE = ?";
     }
     $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT DIGITAL FROM TB_DIGITAL WHERE USO != '1' AND ID_UNIDADE = ? AND ID_USUARIO IS NULL {$extraQuery}");
     $stmt->bindParam(1, $idUnidade, PDO::PARAM_INT);
     if (!is_null($lote)) {
         $stmt->bindParam(2, $lote, PDO::PARAM_STR);
     }
     $stmt->execute();
     $out = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $this->setPaginas(count($out));
     foreach ($out as $value) {
         $this->digitais[] = $value['DIGITAL'];
     }
 }
/**
 * @todo Refatorar...
 * @deprecated
 */
function getTermo($processo, $idUsuario)
{
    $id = Util::RecuperaIdProcesso($processo);
    /**
     * TODO: modificar estrutura de usuario.ID_UNIDADE
     * AJUSTE REALIZADO NO SQL PARA RETORNAR SOMENTE UMA DAS UNIDADES, PORÉM
     * FALTA AINDA PERSISTIR EM TB_PROCESSOS_CADASTRO A INFORMAÇÃO DA UNIDADE
     * E REFAZER A CONSULTA
     */
    $sql = "\r\n        SELECT\r\n            A.*\r\n            , U.NUMERO_PROCESSO\r\n            , ( SELECT NOME \r\n                FROM TB_UNIDADES UN\r\n                    INNER JOIN TB_USUARIOS_UNIDADES UU ON UU.ID_UNIDADE = UN.ID\r\n                WHERE (UN.ID != UOP) AND U.ID = UU.ID_USUARIO\r\n                LIMIT 1) AS DIRETORIA \r\n        FROM TB_PROCESSOS_VOLUME AS A\r\n            INNER JOIN TB_PROCESSOS_CADASTRO AS U ON A.ID_PROCESSO_CADASTRO = U.ID\r\n            INNER JOIN TB_USUARIOS AS B ON A.ID_USUARIO = B.ID\r\n        WHERE A.ID_PROCESSO_CADASTRO = ? \r\n            AND A.DT_ENCERRAMENTO IS NOT NULL \r\n            AND A.ID_USUARIO =  ? \r\n            AND (A.ST_ATIVO = 1 AND A.FG_ATIVO = 1) \r\n        ORDER BY ID DESC \r\n        LIMIT 1\r\n    ";
    $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql);
    $stmt->bindParam(1, $id);
    $stmt->bindParam(2, $idUsuario);
    $stmt->execute();
    $resul = $stmt->fetch(PDO::FETCH_ASSOC);
    $resul['FOLHAS'] = $resul['FL_FINAL'] - $resul['FL_INICIAL'] + 1;
    $resul['PROX_VOLUME'] = $resul['NU_VOLUME'] + 1;
    return $resul;
}
Exemplo n.º 30
0
 /**
  * 
  */
 public static function getDemanda($demanda = false, $campo = false)
 {
     try {
         $campo = $campo ? $campo : '*';
         $condicao = filter_var($demanda, FILTER_VALIDATE_INT) ? 'ID' : 'CD_PROTOCOLO';
         $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT {$campo} FROM VW_ATENDIMENTO WHERE {$condicao} = ? LIMIT 1");
         $stmt->bindParam(1, $demanda, PDO::PARAM_STR);
         $stmt->execute();
         $out = $stmt->fetch(PDO::FETCH_ASSOC);
         if (!empty($out)) {
             /* Padronizar com caixa baixa o os indices dos arrays */
             $out = array_change_key_case($out, CASE_LOWER);
             if ($campo === '*') {
                 return $out;
             }
             return $out[$campo];
         }
         return false;
     } catch (PDOException $e) {
         throw new BasePDOException($e);
     }
 }