/** * 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); }
/** * 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); }
/** * 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); }
/** * 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; }
/** * 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; }
/** * 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); }
/** * 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); }
/** * 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, 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); }
/** * 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; }
/** * 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); }
/** * 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); }
/** * 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; }