HEX
Server: LiteSpeed
System: Linux cp01.bhostbrasil.com.br 5.14.0-611.16.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec 22 03:40:39 EST 2025 x86_64
User: onlyfibr (1083)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/onlyfibr/public_html/sistema/_controllers/controller_recuperar.php
<?php
class recuperar extends controller {
	
	public function init(){
	}

	public function inicial(){
		
		$dados = array();
		$dados['_base'] = $this->base();
		
		$this->view('recuperar', $dados);		
	}
	
	protected function enviar(){
		
		//confere se foi digitado
		$valida = new model_valida();
		
		$email = $this->post('email');
		if(!$valida->email($email)){
			$this->msg('E-mail inválido!');
			$this->volta(1);
		}
		
		$db = new mysql();
		$exec = $db->executar("SELECT * FROM adm_usuario WHERE email_recuperacao='$email' ");
		if($exec->num_rows != 0){

			$lista_de_contas = '';
			$conta_n = 0;
			while($data_users = $exec->fetch_object()){
				
				$rand = rand(1000, 10000);
				$cod_recuperacao = md5($data_users->codigo.$rand);
				$cod_recuperacao = str_replace(array("/"," ","?","#","="), "", $cod_recuperacao);
				
				$db = new mysql();
				$altera = $db->alterar("adm_usuario", array(
					"recuperacao"=>$cod_recuperacao
				), " id='$data_users->id' ");
				
				$conta_n++;
				
				$link_recuperacao = DOMINIO."recuperar/alterar_senha/key/".$cod_recuperacao;

				$lista_de_contas .= "
				<div style='font-size:13px; color:#000;'><p></p></div>
				<div style='font-size:13px; color:#000;'><p>---</p></div>
				<div style='font-size:13px; color:#000;'><p><strong>Link Para Recuperação Conta $conta_n:</strong> $link_recuperacao</p></div>
				";

			}

			$msg = "
			<div style='font-size:13px; color:#000;'><p><strong>Solicitação de recuperação de senha </strong></p></div>
			<div style='font-size:13px; color:#000;'><p></p></div>
			<div style='font-size:13px; color:#000;'><p>Foram emcontrada(s) $conta_n conta(s) vinculadas a este e-mail!</p></div>
			$lista_de_contas
			<div style='font-size:13px; color:#000;'><p>-</p></div>
			<div style='font-size:13px; color:#000;'><p>Caso não tenha solicitado esta recuperação de conta. não se preocupe basta ignorar este e-mail</p></div>
			<div style='font-size:13px; color:#000;'><p>-</p></div>
			<div style='font-size:13px; color:#000;'><p>Este e-mail foi gerado automáticamente, por favor não responda.</p></div>
			";

			$enviar = new model_envia_email();
			$enviar->destino($email);
			$enviar->assunto("Alterar Senha");
			$enviar->conteudo($msg);

			if($enviar->enviar()){
				$this->msg('O email de recuperação de conta foi enviado com sucesso!');
			} else {
				$this->msg('Ocorreu um erro ao enviar email, tente novamente mais tarde!');
			}

			$this->irpara(DOMINIO."autenticacao");

		} else {
			$this->msg('Não encontramos nenhuma conta vinculada a este e-mail!');
			$this->volta(1);
		}

 	}

 	public function alterar_senha(){
 		
 		$dados = array();
		$dados['_base'] = $this->base();

 		$key = $this->get('key');
 		$this->valida($key);

 		$db = new mysql();
		$exec = $db->executar("SELECT * FROM adm_usuario WHERE recuperacao='".$key."' ");
		if($exec->num_rows == 1){

			$dados['key'] = $key;			
			$this->view('recuperar.alterar.senha', $dados);	

		} else {
			$this->msg('Endereço inválido!');
			$this->irpara(DOMINIO);
		}
 	}

 	public function alterar_senha_grv(){
 		
 		$key = $this->post('key');
 		$usuario = $this->post('usuario');
 		$senha1 = $this->post('senha1');
 		$senha2 = $this->post('senha2');

 		$this->valida($key);
 		$this->valida($usuario);
 		$this->valida($senha1);
 		$this->valida($senha2);

 		// confere senhas

 		if($senha1 != $senha2){
 			$this->msg('As senhas não coincidem!');
			$this->volta(1);
 		}

 		$db = new mysql();
		$exec = $db->executar("SELECT * FROM adm_usuario WHERE recuperacao='$key' ");
		if($exec->num_rows == 1){
			
			$usuario_md5 = md5($usuario);
			$senha_md5 = md5($senha1);
			
			$db = new mysql();
			$exec = $db->executar("SELECT * FROM adm_usuario WHERE usuario='$usuario_md5' AND recuperacao!='$key' ");
			if($exec->num_rows == 0){
				
				$db = new mysql();
				$altera = $db->alterar("adm_usuario", array(
					"usuario"=>$usuario_md5,
					"senha"=>$senha_md5,
					"recuperacao"=>""
				), " recuperacao='$key' ");
				
				$this->msg('Senha alterada com sucesso!');
				$this->irpara(DOMINIO);
				
			} else {
				$this->msg('Este usuário já esta sendo utilziado!');
				$this->volta(1);
			}
			
		} else {
			$this->msg('Algo deu errado!');
			$this->irpara(DOMINIO);
		}
 	}
}