public function excluirCaracteristicasDoImovel()
 {
     $sql = 'delete from imovelcaracteristica where idImovel=:idImovel';
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idImovel", $this->idImovel);
     $delete->executa();
 }
예제 #2
0
 public function excluirImagensDoAnuncio()
 {
     $sql = "delete from anuncioimagem where idAnuncio = :idAnuncio";
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idAnuncio", $this->idAnuncio);
     $delete->executa();
 }
 public function excluirProximidadesDoImovel()
 {
     $sql = 'delete from imovelproximidade where idImovel=:idImovel';
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idImovel", $this->idImovel);
     $delete->executa();
 }
예제 #4
0
 public function excluirFotosDoImovel()
 {
     $sql = "delete from imovelfoto where idImovel = :idImovel";
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idImovel", $this->idImovel);
     $delete->executa();
 }
예제 #5
0
 public function excluir()
 {
     $sql = "delete from usuariopapel where idpapel = :idpapel and idpessoaproprietario = :idPessoaProprietario and codigo <> 'adm'";
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idpapel", $this->idPapel);
     $delete->liga("idPessoaProprietario", $this->idPessoaProprietario);
     $delete->executa();
 }
 public function retirarTodasPermissoes()
 {
     $sql = "update usuariopapelpermissao as upp inner join usuariopapel as up " . "on upp.idPapel = up.idPapel set upp.permitido = 'N' where " . "upp.idPapel = :idPapel and up.idPessoaProprietario = :idPessoaProprietario";
     $bloqueio = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $bloqueio->liga("idPapel", $this->idPapel);
     $bloqueio->liga("idPessoaProprietario", $this->_idPessoaCredenciado);
     $bloqueio->executa();
 }
예제 #7
0
 public static function registraVisita()
 {
     $sql = 'insert into sitevisita (ip,pagina,navegador,versao) values (:ip,:pagina,:navegador,:versao)';
     $registrar = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $registrar->liga("ip", $_SERVER["REMOTE_ADDR"]);
     $registrar->liga("pagina", isset($_GET['action']) ? $_GET['action'] : 'index');
     $registrar->liga("navegador", Utilitarios::getNavegador());
     $registrar->liga("versao", Utilitarios::getVersaoNavegador());
     if (isset($_SESSION['visita_registrada'])) {
         if (!$_SESSION['visita_registrada']) {
             $registrar->executa();
             $_SESSION['visita_registrada'] = true;
         }
     } else {
         $registrar->executa();
         $_SESSION['visita_registrada'] = true;
     }
 }
 public function liberar($modulos)
 {
     if (sizeof($modulos) > 0) {
         $this->idPessoaCredenciado = $modulos['idCredenciado'];
         $this->bloquear();
         $sql = '';
         if (count($modulos) > 1) {
             foreach ($modulos['modulo'] as $modulo) {
                 $sql .= "update acessocredenciado ac inner join acesso c on " . "ac.idAcesso = c.idAcesso set ac.liberado = 'S' where " . "ac.idPessoaCredenciado = {$this->idPessoaCredenciado} " . "and c.modulo = '{$modulo}'; ";
             }
             if (!empty($sql)) {
                 /*permissões do grupo*/
                 $sql .= "insert into usuariopapelpermissao (idPapel, idAcessoCredenciado, permitido) " . "(select (select idPapel from usuario where idPessoa={$this->idPessoaCredenciado}), " . "idAcessoCredenciado, 'S' from acessocredenciado as ac " . "where ac.idPessoaCredenciado = {$this->idPessoaCredenciado} " . "and ac.idAcessoCredenciado not in (select distinct upp.idAcessoCredenciado " . "from usuariopapelpermissao as upp where upp.idPapel = " . "(select u.idPapel from usuario as u where u.idPessoa={$this->idPessoaCredenciado}))); ";
                 $sql .= "delete from usuariopermissao where idUsuario = (select idUsuario from usuario where idPessoa = {$this->idPessoaCredenciado}); ";
                 /*permissoes do usuario*/
                 $sql .= "insert into usuariopermissao (idUsuario, idPapelPermissao, permitido) " . "(select distinct (select idUsuario from usuario where idPessoa = {$this->idPessoaCredenciado}), " . "idPapelPermissao, 'S' from usuariopapelpermissao); ";
                 $liberar = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
                 $liberar->executa();
                 unset($liberar);
             }
         }
     }
 }
예제 #9
0
 public function atualizaIdProprietarioCredenciado()
 {
     $sql = "update pessoa set idPessoaProprietario=:idPessoaProprietario where idPessoa=:idPessoa";
     $comando = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $comando->liga("idPessoaProprietario", $this->idPessoa);
     $comando->liga("idPessoa", $this->idPessoa);
     $comando->executa();
 }
예제 #10
0
 /**
  * Essa função salva os dados do Modelo no Banco de Dados
  */
 public function salvar()
 {
     // Pega a Conexao e Inicio a transacao
     $cnx = $this->modelo->_getConexao();
     $cnx->iniTransacao();
     // Se o Modelo não for herança direta da classe Modelo
     // (Ex: Modelo -> Pessoa -> PessoaFisica), então para realizar uma inserção
     // será necessário salvar primeiro nas classes da hierarquia.
     // No caso de haver herança podem ocorre 3 Situações:
     // 1ª - O registro do Objeto Pai não Existe e conseqüentemente o Objeto
     //      Filho não foi salvo no banco de dados.
     // 2ª - O registro do Objeto Pai Existe e o Objeto Filho não foi salvo no
     //      banco
     // 3ª - O registro do Objeto Pai Existe e o Objeto Filho também.
     // Lembrar de Colocar a Conexão em modo transacional se houver herança.
     $pai = $this->modelo->_getPai();
     //1º Vamos verificar se há herança.
     if ($pai != "Modelo") {
         // Se entrou aqui é porque houve herança entre os modelos.
         // Lembrando que o trato é que se há herança não pode haver chave
         // composta. Vamos fazer a primeira verificação...
         // Primeiro instancio o objPai - ele vai ser responsável por fazer
         // sua própria persistência
         // É importante tornar a conexao transacional.
         $objPai = new $pai($cnx);
         // Agora vamos colocar a chave primaria do Objeto no objeto Pai
         // e verificar se o Objeto Pai já está cadastrado no banco.
         // Insiro a Chave Primária do filho no Objeto Pai
         $objPai->setValorChavePrimaria($this->modelo->getValorChavePrimaria());
         // Verifico se há registros no banco de dados
         $existe = $objPai->_select();
         // Retorna true ou false (se achou ou não registro)
         // Se não existir, então caio na 1ª Situação (Pai e Filho não existem)
         if (!$existe) {
             // Preencho os dados do Pai com os dados do Filho
             // No filho tem mais dados que no Pai, então precisamos retirar os
             // campos que não coincidem com o Pai.
             $arrayPai = $objPai->_getDados();
             $arrayFilho = $this->modelo->_getDados();
             // ArrDados receberá a interseção dos dois arrays Pai e Filho
             // Em outras palavras o que tem em um e tem no outro.
             $arrayDados = array_intersect_key($arrayFilho, $arrayPai);
             // Incluo os dados no Objeto Pai
             $objPai->_setDados($arrayDados);
             // Como não existia nenhum registro, ao salvar ele vai informar
             // o id da chave primária
             $chavePai = $objPai->_salvar();
             // Preencho a Chave Primária do Filho com o Id recebido pelo Pai
             $this->modelo->setValorChavePrimaria($chavePai);
         } else {
             // Se entrou aqui é porque o Pai foi selecionado, ou seja, existe
             // um registro no banco de dados do Pai.
             // Nos atualizamos os dados do Pai (pode ser que tenha havido alguma
             // alteração no Pai.)
             // No filho tem mais dados que no Pai, então precisamos retirar os
             // campos que não coincidem com o Pai.
             // Temos que informar a chave primária do filho pra colocar no Pai.
             $arrayPai = $objPai->_getDados();
             $arrayFilho = $this->modelo->_getDados();
             // ArrDados receberá a interseção dos dois arrays Pai e Filho
             // Em outras palavras o que tem em um e tem no outro.
             $arrayDados = array_intersect_key($arrayFilho, $arrayPai);
             $objPai->_setDados($arrayDados);
             // Quando eu coloco os dados dentro de Pai novamente, eu apago a
             // Chave Primaria do Pai, por isso tenho que novamente colocar
             // a chave Primária do Pai (Normalmente só sabemos a chave do filho)
             $objPai->setValorChavePrimaria($this->modelo->getValorChavePrimaria());
             // Tanto no insert qto no update o método salvar deverá retornar o idChavePrimaria
             $chavePai = $objPai->_salvar();
             // Preencho a Chave Primária do Filho com o Id recebido pelo Pai
             $this->modelo->setValorChavePrimaria($chavePai);
         }
     }
     // Resolvido o problema da Inserção ou não do registro no Pai.
     // Faremos agora a inserção na tabela do modelo.
     // Verificamos se há um registro do modelo no banco de dados.
     $existe = $this->modelo->_existe();
     // Se não existir (retornou falso)
     if (!$existe) {
         $sql = $this->getSQLInsert();
         // Instancio o Comando Preparado
         $cmd = new ComandoPreparado($cnx, $sql);
         // Pego todos os campos do modelo (que não são de herança)
         $campos = $this->modelo->_getDadosLocais();
         // Faço aligação desses campos com todos valores
         foreach ($campos as $campo => $valor) {
             $cmd->liga($campo, $valor);
         }
         $cmd->executa();
         $ultId = $cmd->getUltimoId();
         if ($ultId == 0) {
             $ultId = $this->modelo->getValorChavePrimaria();
         }
         return $ultId;
     } else {
         $sql = $this->getSQLUpdate();
         // Instancio o Comando Preparado
         $cmd = new ComandoPreparado($cnx, $sql);
         // Pego todos os campos do modelo (que não são de herança)
         $campos = $this->modelo->_getDadosLocais();
         // Faço aligação desses campos com todos valores
         foreach ($campos as $campo => $valor) {
             $cmd->liga($campo, $valor);
         }
         $cmd->executa();
         // Preciso agora retornar o Id da Chave Primaria
         return $this->modelo->getValorChavePrimaria();
     }
 }
예제 #11
0
 public function vinculaGrupo()
 {
     $sql = "call sp_usuario_sincroniza_acessos({$this->idUsuario}, {$this->idPapel}, {$this->idPessoaProprietario}); ";
     $sql .= "update usuario as u inner join pessoa as p on " . "u.idPessoa = p.idPessoa set idPapel = {$this->idPapel} " . "where u.idUsuario = {$this->idUsuario} and " . "p.idPessoaProprietario = {$this->idPessoaProprietario}; ";
     $comando = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $comando->executa();
     unset($comando);
 }
예제 #12
0
 public function registrarVisualizacao()
 {
     $sql = 'UPDATE anuncio SET qtdVisita=coalesce(qtdVisita,0)+1 where idAnuncio=:idAnuncio';
     $atualizar = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $atualizar->liga("idAnuncio", $this->idAnuncio);
     $atualizar->executa();
 }
예제 #13
0
 public function moverParaLixeira()
 {
     $sql = "update imovel set excluido='S' where idImovel=:idImovel";
     $delete = new ComandoPreparado(Conf::pegCnxPadrao(), $sql);
     $delete->liga("idImovel", $this->idImovel);
     $delete->executa();
 }