示例#1
0
 public function __construct($pk = null)
 {
     parent::__construct('dl_painel_usuarios_recuperacoes', 'recuperacao_');
     # Query de seleção
     $this->bd_select = 'SELECT %s' . ' FROM %s AS R' . ' INNER JOIN dl_painel_usuarios AS U ON( U.usuario_id = R.recuperacao_usuario )';
     $this->selecionarPK($pk);
 }
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     if (!$this->reg_vazio || $this->verificarLeitura()) {
         return 0;
     }
     // Fim if
     # Obter a data atual
     $this->setData(date(\DL3::$bd_dh_formato_completo));
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#3
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     /*
      * Não será permitido incluir mais de 1 idioma com a mesma sigla
      */
     if ($this->qtdeRegistros("{$this->bd_prefixo}sigla = '{$this->sigla}' AND {$this->bd_prefixo}id <> " . (int) $this->id)) {
         throw new \DL3Exception(ERRO_IDIOMA_SALVAR_REGISTRO_JA_EXISTE, 1403, 'atencao');
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#4
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     /*
      * Antes de inserir ou atualizar o registro, verificar se não há outro registro igual
      */
     if ($this->qtdeRegistros("{$this->bd_prefixo}tipo = {$this->tipo} AND {$this->bd_prefixo}descr = '{$this->descr}' AND {$this->bd_prefixo}id <> " . (int) $this->id) > 0) {
         throw new \DL3Exception(ERRO_DADOCONTATO_SALVAR_REGISTRO_JA_EXISTE, 1403, 'atencao');
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#5
0
 /**
  * Selecionar um registro através da chave primária (PK - Primary Key)
  *
  * @param string $v Valor a ser pesquisado na PK
  * @param string $a Alias da tabela principal configurado na consulta
  *
  * @return bool
  * @throws \DL3Exception
  */
 public function selecionarPK($v, $a = 'M')
 {
     return parent::selecionarPK($v, $a);
 }
示例#6
0
 /**
  * Remover o registro e as fotos vinculadas a ele
  */
 protected function remover()
 {
     if (parent::remover()) {
         # Remover as fotos
         return file_exists($this->imagem) && unlink($this->imagem) && (file_exists($this->foto) && unlink($this->foto)) && (file_exists($this->mini) && unlink($this->mini));
     }
     // Fim if
     return false;
 }
示例#7
0
 /**
  * Remover o registro do banco de dados
  */
 protected function remover()
 {
     return (int) (\Arquivos::removerDir($this->dir_upload, true) && parent::remover());
 }
 public function __construct($pk = null)
 {
     parent::__construct('dl_site_configuracoes', 'configuracao_');
     $this->bd_select = 'SELECT %s FROM %s';
     $this->selecionarPK($pk);
 }
示例#9
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     # Aplicar validações
     if ($s) {
         $and_id = $this->reg_vazio ? '' : " AND {$this->bd_prefixo}id <> {$this->id}";
         # Validar a senha informada
         if ($this->reg_vazio) {
             if ($this->info_senha !== $this->info_senha_conf) {
                 throw new \DL3Exception(ERRO_USUARIO_ALTERSENHA_SENHAS_NAO_COINCIDEM, 1500);
             }
             // Fim if
             $this->validarSenha($this->info_senha, true);
         }
         // Fim if
         # Verificar se o login já está cadastrado
         if ($this->qtdeRegistros("{$this->bd_prefixo}info_login = '******'{$and_id}") > 0) {
             throw new \DL3Exception(ERRO_USUARIO_SALVAR_LOGIN_JA_CADASTRADO, 1500);
         }
         // Fim if
         # Verificar se o login já está cadastrado
         if ($this->qtdeRegistros("{$this->bd_prefixo}info_email = '{$this->info_email}'{$and_id}") > 0) {
             throw new \DL3Exception(ERRO_USUARIO_SALVAR_EMAIL_JA_CADASTRADO, 1500);
         }
         // Fim if
     }
     // Fim if
     $r = parent::salvar($s, $ci, $this->reg_vazio ? array_unique(array_merge(['usuario_ultiumo_login'], $ce)) : array_unique(array_merge(['usuario_info_login', 'usuario_info_senha'], $ce)), $ipk);
     if ($this->id == $_SESSION['usuario_id'] && $r && $s) {
         \DL3::$autent->carregarSessao($this->listar("usuario_id = {$this->id}", null, implode(',', \DL3::$autent->usr_infos), 0, 1, 0));
     }
     // Fim if
     return $r;
 }
 /**
  * Remover registro do banco de dados
  */
 protected function remover()
 {
     # Remover o ícone
     if (!empty($this->icone)) {
         unlink(".{$this->icone}");
     }
     // Fim if
     return parent::remover();
 }
示例#11
0
 /**
  * Selecionar um registro através da chave primária (PK - Primary Key)
  *
  * @param string $v Valor a ser pesquisado na PK
  * @param string $a Alias da tabela principal configurado na consulta
  *
  * @return bool
  * @throws \DL3Exception
  */
 public function selecionarPK($v, $a = null)
 {
     if (parent::selecionarPK($v, $a)) {
         # Selecionar os métodos dessa classe
         $sql = \DL3::$conex->prepare("SELECT metodo_func_descr FROM dl_painel_funcs_metodos WHERE metodo_func = :id");
         $sql->execute([':id' => $this->id]);
         if ($sql !== false) {
             $this->metodos = $sql->fetchAll(\PDO::FETCH_COLUMN, 0);
         }
         // Fim if
         # Selecionar os grupos dessa classe
         $sql = \DL3::$conex->prepare("SELECT grupo_usuario_id FROM dl_painel_grupos_funcs WHERE func_modulo_id = :id");
         $sql->execute([':id' => $this->id]);
         if ($sql !== false) {
             $this->grupos = $sql->fetchAll(\PDO::FETCH_COLUMN, 0);
         }
         // Fim if
         return true;
     }
     // Fim if
     return false;
 }
示例#12
0
 public function __construct($pk = null)
 {
     parent::__construct('dl_painel_formatos_data', 'formato_data_');
     $this->selecionarPK($pk);
 }
示例#13
0
 public function __construct($pk = null)
 {
     parent::__construct('dl_site_contatos', 'contato_site_');
     $this->bd_select = 'SELECT %s' . ' FROM %s AS CS' . ' LEFT JOIN dl_site_assuntos_contato AS AC ON( AC.assunto_contato_id = CS.contato_site_assunto )' . " INNER JOIN dl_painel_registros_logs AS LR ON( LR.log_registro_regpk = CS.contato_site_id AND LR.log_registro_tabela = '{$this->bd_tabela}' AND LR.log_registro_acao = 'A' )" . ' WHERE CS.%sdelete = 0';
     $this->selecionarPK($pk);
 }
示例#14
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     /*
      * Quando a autenticação não estiver ativada, não é necessário tentar gravar ID e nome do usuário logado
      * porque não tem usuário logado.
      */
     if (!$this->usarAutenticacao()) {
         $ce = array_unique(array_combine((array) $ce, ['log_registro_usuario', 'log_registro_nome']));
     } else {
         $this->setUsuario($_SESSION['usuario_id']);
         $this->setNome($_SESSION['usuario_info_nome']);
     }
     // Fim if ... else
     /*
      * Utilizar as seguintes informações para completar o LOG
      * - Data atual
      * - Endereço de IP da conexão / máquina
      * - Agente / tipo de navegador
      */
     $this->setData(date(\DL3::$bd_dh_formato_completo));
     $this->setIp(filter_input(INPUT_SERVER, 'REMOTE_ADDR'));
     $this->setAgente(filter_input(INPUT_SERVER, 'HTTP_USER_AGENT'));
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#15
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     /*
      * Apenas um registro pode ter a flag 'principal' marcada. Portanto, caso o registro atual tenha a flag, a mesma
      * deve ser desmarcada em qualquer outro registro
      */
     if ($this->principal && $s) {
         \DL3::$conex->exec("UPDATE {$this->bd_tabela} SET {$this->bd_prefixo}principal = 0");
     }
     // Fim if
     /*
      * Quando a flag de autenticação está ativada, os campos 'Conta' e 'Senha' são obrigatórios
      */
     if ($this->autent && (empty($this->conta) || empty($this->senha))) {
         throw new \DL3Exception(ERRO_CONFIGEMAIL_SALVAR_INFORMAR_DADOS_CONTA, 1403, 'atencao');
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#16
0
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, array $ci = null, array $ce = null, $ipk = false)
 {
     /*
      * Apenas um registro pode ter a flag 'padrao' marcada. Por tanto, caso o registro atual tenha essa flag a
      * mesma deve ser desmarcados do outro registro, se houver
      */
     if ($this->padrao) {
         \DL3::$conex->exec("UPDATE {$this->bd_tabela} SET {$this->bd_prefixo}padrao = 0");
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
 /**
  * Salvar determinado registro
  *
  * @param boolean $s   Define se o registro será salvo ou apenas será gerada a query de insert/update
  * @param array   $ci  Vetor com os campos a serem considerados
  * @param array   $ce  Vetor com os campos a serem desconsiderados
  * @param bool    $ipk Define se o campo PK será considerado para inserção
  *
  * @return mixed
  * @throws \DL3Exception
  */
 protected function salvar($s = true, $ci = null, $ce = null, $ipk = false)
 {
     /*
      * Apenas um registro pode conter a Flag 'principal' marcada, portanto, caso
      * a flag do registro atual esteja marcada, deve-se desmarcar a flag de
      * qualquer outro registro
      */
     if ($this->principal) {
         \DL3::$conex->exec("UPDATE {$this->bd_tabela} SET {$this->bd_prefixo}principal = 0");
     }
     // Fim if
     # Fazer o upload do arquivo
     $oup = new \Upload(static::DIR_P12, 'p12');
     $oup->conf_bloq_extensao = true;
     if ($oup->salvar($this->apelido, true)) {
         $this->p12 = preg_replace('~^\\./~', '', $oup->salvos[0]);
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
示例#18
0
 public function __construct($pk = null)
 {
     parent::__construct('dl_site_institucional', 'instit_');
     $this->bd_select = 'SELECT %s FROM %s';
     $this->selecionarPK($pk);
 }
示例#19
0
 public function __construct($pk = null)
 {
     parent::__construct('dl_site_assuntos_contato', 'assunto_contato_');
     $this->selecionarPK($pk);
 }
示例#20
0
 /**
  * Selecionar um registro através da chave primária (PK - Primary Key)
  *
  * @param string $v Valor a ser pesquisado na PK
  * @param string $a Alias da tabela principal configurado na consulta
  *
  * @return bool
  * @throws \DL3Exception
  */
 public function selecionarPK($v, $a = null)
 {
     if (parent::selecionarPK($v, $a)) {
         $sql = \DL3::$conex->prepare("SELECT func_modulo_id FROM dl_painel_grupos_funcs WHERE {$this->bd_prefixo}id = :id");
         $sql->execute([':id' => $this->id]);
         if ($sql === false) {
             return true;
         }
         // Fim if
         $this->funcs = $sql->fetchAll(\PDO::FETCH_COLUMN, 0);
         return true;
     }
     // Fim if
     return false;
 }