Пример #1
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)
 {
     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);
 }
Пример #2
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);
 }
Пример #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)
 {
     /*
      * 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);
 }
Пример #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)
 {
     $r = parent::salvar($s, $ci, $ce, $ipk);
     # Salvar o permissionamento atual e remover o antigo
     if ($s && $this->id != $_SESSION['usuario_info_grupo']) {
         if (!$this->reg_vazio) {
             $sql = \DL3::$conex->prepare("DELETE FROM dl_painel_grupos_funcs WHERE {$this->bd_prefixo}id = :id");
             $sql->execute([':id' => $this->id]);
         }
         // Fim if
         $sql = \DL3::$conex->prepare("INSERT INTO dl_painel_grupos_funcs VALUES (:id, :func)");
         foreach ($this->funcs as $f) {
             $sql->execute([':id' => $this->id, ':func' => $f]);
         }
         // Fim foreach
     }
     // Fim if
     return $r;
 }
Пример #5
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)
 {
     $r = parent::salvar($s, $ci, $ce, $ipk);
     if ($s && $r) {
         # Criar diretório do álbum
         if (isset($this->id)) {
             $this->criarDiretorio();
         }
         // Fim if
         # Durante a inclusão do registro, fotos podem ser incluídas
         if ($this->reg_vazio) {
             # Salvar as fotos enviadas
             $mfa = new FotoAlbum();
             $mfa->foto_album = $this->id;
             $mfa->upload();
         }
         // Fim if
     }
     // Fim if
     return $r;
 }
Пример #6
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, $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);
 }
Пример #7
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 uma foto pode ser definida como capa de um álbum, portanto, caso
     # o registro atual esteja sendo definido como capa, a flag deve ser
     # desmarcada nas demais fotos
     if ($this->capa) {
         \DL3::$conex->exec("UPDATE {$this->bd_tabela} SET {$this->bd_prefixo}capa = 0 WHERE foto_album = {$this->foto_album}");
     }
     // Fim if
     return parent::salvar($s, $ci, $ce, $ipk);
 }
Пример #8
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);
 }
Пример #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)
 {
     # Fazer upload da imagem
     $oup = new \Upload('web/uploads/contatos', 'icone');
     $oup->setExtensoes($this->conf_extensoes_icone);
     if ($oup->salvar($this->nome, true)) {
         $this->icone = preg_replace('~^\\.~', '', $oup->salvos[0]);
     }
     // Fim if
     # Garantir que o campo exibição seja preenchido
     $this->exibicao = !isset($this->exibicao) ? $this->nome : $this->exibicao;
     # Salvar registro
     return parent::salvar($s, $ci, $ce, $ipk);
 }
Пример #10
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 permitir que o módulo seja alterado
      */
     $ce = $this->reg_vazio ? $ce : array_merge($ce, ['func_modulo']);
     $r = parent::salvar($s, $ci, $ce, $ipk);
     if ($s) {
         if (!$this->reg_vazio) {
             # Remover os métodos atuais dessa função
             $sql = \DL3::$conex->prepare("DELETE FROM dl_painel_funcs_metodos WHERE metodo_func = :id");
             $sql->execute([':id' => $this->id]);
             # Remover os grupos atuais dessa função
             $sql = \DL3::$conex->prepare("DELETE FROM dl_painel_grupos_funcs WHERE func_modulo_id = :id");
             $sql->execute([':id' => $this->id]);
         }
         // Fim if
         # Incluir os métodos
         $sql = \DL3::$conex->prepare("INSERT INTO dl_painel_funcs_metodos (metodo_func, metodo_func_descr) VALUES (:id, :metodo)");
         foreach ($this->metodos as $m) {
             $sql->execute([':id' => $this->id, ':metodo' => $m]);
         }
         // Fim foreach
         # Incluir os grupos
         $sql = \DL3::$conex->prepare("INSERT INTO dl_painel_grupos_funcs (grupo_usuario_id, func_modulo_id) VALUES (:grp, :fnc)");
         foreach ($this->grupos as $g) {
             $sql->execute([':grp' => $g, ':fnc' => $this->id]);
         }
         // Fim foreach
     }
     // Fim if
     return $r;
 }
Пример #11
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);
 }
Пример #12
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);
 }
Пример #13
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;
 }