/** * @brief Function update * seleciona todos os campos do Banco de dados e retorna os valores das colunas ja descriptografado. * @param id_adm do usuario logado * @param url da imagem * @return mensagem indicador de erro ou sucesso */ public function update($id_adm, $url = 1) { $this->id_adm = $id_adm; $this->name = Dbcommand::post("name_service"); $this->about = Dbcommand::post("about_service"); for ($i = 0; $i < $this->album->size; $i++) { $this->album->photo[$i]->update($this->id_adm, $url); } if (!ValidationData::text($this->name)) { return "erro_campo"; } else { $this->name = Criptography::BASE64($this->name, 1); $this->about = Criptography::BASE64($this->about, 1); $this->log = Criptography::BASE64(date("Y-m-d H:i:s"), 1); Dbcommand::update('tb_servicos', array('SER_ID_ADM' => $this->id_adm, 'SER_LOG' => $this->log, 'SER_NOME' => $this->name, 'SER_SOBRE' => $this->about), array('SER_ID' => $this->id)); return "sucesso_alterar_dados"; } }
/** * @brief Function update * seleciona todos os campos do Banco de dados e retorna os valores das colunas ja descriptografado, aceita nome da foto vazio. * @param id_adm do usuario logado * @param url da imagem * @return mensagem indicador de erro ou sucesso */ public function update($id_adm, $url = '') { $this->id_adm = $id_adm; $this->name = Dbcommand::post("name_photo"); if ($url != '') { $this->url = $url; } if (!empty($this->name) && !ValidationData::text($this->name)) { return "erro_campo"; } else { $this->name = Criptography::BASE64($this->name, 1); $this->url = Criptography::BASE64($this->url, 1); $this->albumName = Criptography::BASE64($this->albumName, 1); $this->log = Criptography::BASE64(date("Y-m-d H:i:s"), 1); Dbcommand::update('tb_fotos', array('FOTO_ID_ADM' => $this->id_adm, 'FOTO_LOG' => $this->log, 'FOTO_NOME' => $this->name, 'FOTO_NOME_ALBUM' => $this->albumName, 'FOTO_URL' => $this->url), array('FOTO_ID' => $this->id)); return "sucesso_alterar_dados"; } }
<?php $no_need_login = true; $no_visible_elements = true; include "../header.php"; @session_destroy(); if (@$_POST) { if (Dbcommand::post("password1_rec") && Dbcommand::post("password2_rec")) { if (Dbcommand::post("password1_rec") == Dbcommand::post("password2_rec")) { $pass = Criptografia::Bcrypt(Dbcommand::post("password1_rec")); $email = Dbcommand::post("email"); Dbcommand::update('tb_administradores', array('ADM_SENHA' => $pass), array('ADM_EMAIL' => $email)); header("Location: ../login.php?msg=5"); } else { /* $chave = $_GET['confirmacao']; $email = $_GET['utilizador']; header("Location: recuperar.php?utilizador=$email&confirmacao=$chave&msg=9"); */ die('<a href="./" class="btn btn-primary">Voltar</a> <p>Senhas diferem uma da outra. Volte e digite seu email novamente para reiniciar a recuperação de senha.</p>'); } } } if (empty($_GET['utilizador']) || empty($_GET['confirmacao'])) { echo die('<a href="./" class="btn btn-primary">Voltar</a> <p>Não é possível alterar a password: dados em falta</p>'); //header("Location: ./"); } @($user = $_GET['utilizador']); @($hash = $_GET['confirmacao']);
/** * @brief Function setName * armazena o nome da empresa. * @param void * @return void */ public function setName() { $this->name = Dbcommand::post('name_corporation'); $this->name = Criptography::BASE64($this->name, 1); Dbcommand::insert('tb_empresa', array('EMP_NOME'), array($this->name)); return $this; }
/** * @brief Function setRecovery * verifica se é possivel recuperar a senha, verificando se ja foi feito o pedido e se o email ja esta cadastrado; assim depois realiza a recuperação. * @param void * @return mensagem indicador de erro ou sucesso */ public function setRecovery() { $this->mail_job = Dbcommand::post("email"); if (!ValidationData::mail($this->mail_job)) { return "erro_campo"; } else { $this->mail_job = Criptography::BASE64($this->mail_job, 1); $results = Dbcommand::select("tb_administradores", array('ADM_EMAIL' => $this->mail_job)); if (Dbcommand::count_rows($results) == 1) { /* Verifica se o email esta cadastrado */ $chave = sha1(uniqid(mt_rand(), true)); /* Guardar este par de valores na tabela para confirmar mais tarde */ $check = Dbcommand::select("tb_recuperacao", array('REC_ADM' => $this->mail_job)); if (Dbcommand::count_rows($check) > 0) { /* Verifica se o email ja solicitou a recuperacao */ Dbcommand::update("tb_recuperacao", array('REC_CONFIRMACAO' => $chave), array('REC_ADM' => $this->mail_job)); } else { Dbcommand::insert("tb_recuperacao", array('REC_ADM', 'REC_CONFIRMACAO'), array($this->mail_job, $chave)); } /* ==== Setando valores ==== */ $link = $_SERVER['HTTP_HOST'] . "/ej-admin/recuperar/recuperar.php?utilizador={$this->mail_job}&confirmacao={$chave}"; $this->mail_job = Criptography::BASE64($this->mail_job, 0); $this->title = "Recuperação de senha"; $this->message = 'Olá ' . $this->mail_job . ', visite este link para recuperar a senha: ' . $link . '<br><br><br> Solicitação: ' . date("d/m/Y H:i:s", strtotime(date("Y-m-d H:i:s"))); /* ========== ========== */ $mail = new PHPMailer(); /* Classe para enviar emails */ $mail->IsSMTP(); /* Define que a mensagem sera SMTP */ /* Define o remetente */ $mail->From = $this->from; // Seu e-mail $mail->Sender = $this->from; // Seu e-mail $mail->FromName = $this->fromName; // Seu nome /* Define os destinatario(s) */ $mail->AddAddress($this->mail_job); /* Sera para o solicitante */ $mail->IsHTML(true); // Define que o e-mail sera enviado como HTML $mail->CharSet = 'utf-8'; // Charset da mensagem // Define a mensagem (Texto e Assunto) $mail->Subject = $this->title; $mail->Body = $this->message; $sended = $mail->Send(); // Envia o e-mail $mail->ClearAllRecipients(); // Limpa os destinatarios e os anexos if ($sended) { return "sucesso_recuperacao"; } else { return "erro_recuperacao"; } } else { return "erro_email"; } } }
<?php $no_need_login = true; $no_visible_elements = true; include "../header.php"; @session_destroy(); if (Dbcommand::post("email")) { $mail = new Mail(); header("Location: index.php?msg=" . $mail->setRecovery()); } ?> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-10"> <div class="jumbotron"> <a href="../"><h1>Recuperar Senha</h1></a> <br/> <?php echo Message::get(); ?> <form action="#" method="post"> <fieldset> <div>Email profissional: <input type='email' name='email' class="form-control" placeholder="Digite seu email" required/> </div> <br/> <button type="submit" class="btn btn-primary pull-right" >Recuperar Senha</button> <a href="../" class="btn btn-primary">Voltar</a> <br/> </fieldset>
/** * @brief Function login * verifica os dados de entrada e valida caso o usuario esteja cadastrado e ativo. * Assim recebe do banco os dados cadastrado e criptografados do usuario. Ao validar o acesso, é criado uma sessão com 1800s. * @param void * @return mensagem indicador de erro ou sucesso */ public function login() { $this->login = Dbcommand::post("username_user"); $this->password = Dbcommand::post("password_user"); if (!empty($this->login) && !empty($this->password)) { $this->login = Criptography::BASE64($this->login, 1); $result = Dbcommand::select('tb_administradores', array('ADM_LOGIN' => $this->login)); if (Dbcommand::count_rows($result) > 0) { $results = Dbcommand::rows($result); if (Criptography::CheckBcrypt($this->password, $results['ADM_SENHA']) == FALSE) { return "erro_senha"; } else { $this->id = $results['ADM_ID']; $this->status = $results['ADM_STATUS']; if ($this->status != 2) { return "usuario_inativo"; } else { if (!isset($_SESSION)) { session_start(); // seta configurações fuso horario e tempo limite de inatividade em segundos date_default_timezone_set("Brazil/Recife"); $tempolimite = 1800; // (s) /*fim das configurações de fuso horario e limite de inatividade aqui ta o seu script de autenticação no momento em que ele for validado você seta as configurações abaixo. seta as configurações de tempo permitido para inatividade*/ $_SESSION['registro'] = time(); // armazena o momento em que autenticado $_SESSION['limite'] = $tempolimite; // armazena o tempo limite sem atividade // fim das configurações de tempo inativo } $_SESSION['usuario_logado'] = $this->id; $this->log = Criptography::BASE64(date("Y-m-d H:i:s"), 1); Dbcommand::update('tb_administradores', array('ADM_LOG' => $this->log), array('ADM_ID' => $this->id)); return "usuario_logado"; } } } else { return "erro_entrada_usuario"; } } else { return "erro_entrada_usuario"; } }