|
|
@ -6,26 +6,29 @@ |
|
|
|
|
|
|
|
|
|
|
|
$email = isset($_POST['email']) ? $_POST['email'] : null; |
|
|
|
$email = isset($_POST['email']) ? $_POST['email'] : null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
if (isset($_POST['btEnviar'])) { |
|
|
|
if (isset($_POST['btEnviar'])) { |
|
|
|
|
|
|
|
|
|
|
|
$config = GetEmail($dbcon); |
|
|
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { |
|
|
|
|
|
|
|
throw new Exception("O email não é válido"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$config = GetEmailRecovery($dbcon); |
|
|
|
if (!$config) { |
|
|
|
if (!$config) { |
|
|
|
throw new Exception("Nenhuma configuração foi feita para o envio de Recuperação"); |
|
|
|
throw new Exception("Nenhuma configuração foi feita para o envio de Recuperação"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$account = verificaEmail($dbcon, $email); |
|
|
|
$account = verificaEmailRecovery($dbcon, $email); |
|
|
|
|
|
|
|
|
|
|
|
if(!$account){ |
|
|
|
if(!$account){ |
|
|
|
throw new Exception("O email informado não foi encontrado!"); |
|
|
|
throw new Exception("O email informado não foi encontrado!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$token = md5($account['id'] . $account['matricula'] . time()); |
|
|
|
$token = md5($account['id'] . $account['matricula'] . time()); |
|
|
|
$_SESSION['SSREcoveryPassword'] = ['token' => $token, 'id' => $account['id'], 'login' => $account['apelido']]; |
|
|
|
$_SESSION['SSREcoveryPassword'] = ['token' => $token, 'id' => $account['id'], 'login' => $account['email']]; |
|
|
|
|
|
|
|
|
|
|
|
$link = "http://" . $_SERVER['SERVER_NAME'] . "/index.php?action=change_password&token=" . $token; |
|
|
|
$link = "http://" . $_SERVER['SERVER_NAME'] . "/index.php?action=change_password&token=" . $token; |
|
|
|
if ($account && enviaEmail($email, $link, $config, $account)) { |
|
|
|
if ($account && enviaEmailRecovery($email, $link, $config, $account)) { |
|
|
|
$jsStartup[] = "alert('Foi encaminhado o link para seu e-mail para a recuperação de senha!');"; |
|
|
|
$jsStartup[] = "alert('Foi encaminhado o link para seu e-mail para a recuperação de senha!');"; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
$jsStartup[] = "alert('Não foi possível enviar a senha de recuperação! Verifique seu e-mail digitado ou entre em contato com seu supervisor.');"; |
|
|
|
$jsStartup[] = "alert('Não foi possível enviar a senha de recuperação! Verifique seu e-mail digitado ou entre em contato com seu supervisor.');"; |
|
|
@ -38,7 +41,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
$smarty->display('recuperarsenha.tpl'); |
|
|
|
$smarty->display('recuperarsenha.tpl'); |
|
|
|
|
|
|
|
|
|
|
|
function enviaEmail($email, $link, $dados, $account) { |
|
|
|
function enviaEmailRecovery($email, $link, $dados, $account) { |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
$mail = new PHPMailer(); |
|
|
|
$mail = new PHPMailer(); |
|
|
@ -68,22 +71,22 @@ |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$erro = $mail->ErrorInfo; |
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} catch (Exception $ex) { |
|
|
|
} catch (Exception $ex) { |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function verificaEmail($dbcon, $email) { |
|
|
|
function verificaEmailRecovery($dbcon, $email) { |
|
|
|
$query = "SELECT * FROM pbx_usuarios WHERE email = '$email';"; |
|
|
|
$query = "SELECT * FROM pbx_usuarios WHERE email = '$email'"; |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
$res = pg_fetch_assoc($result); |
|
|
|
$res = pg_fetch_assoc($result); |
|
|
|
return $res; |
|
|
|
return $res; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function GetEmail($dbcon) { |
|
|
|
function GetEmailRecovery($dbcon) { |
|
|
|
$query = "SELECT hosts, usuario, senha, porta FROM pbx_confmail;"; |
|
|
|
/* org_id = 0 motivo estar no login ainda não fez login */ |
|
|
|
|
|
|
|
$query = "SELECT hosts, usuario, senha, porta FROM pbx_confmail where org_id = 0"; |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
return pg_fetch_assoc($result); |
|
|
|
return pg_fetch_assoc($result); |
|
|
|
} |
|
|
|
} |
|
|
|