<?PHP
/*
Nombre: usr_self_clave.inc
Autor: Julio Tuozzo
Función: Auto genera una nueva contraseña para el usuario
Function: self create a new user password
Ver: 2.05
*/
require('funcionesPHP.inc');
require('class.phpmailer.php');
$js_muestro_captcha="<script language='JavaScript'>
document.getElementById('forgot').style.visibility='visible';
document.getElementById('forgot_text').style.visibility='hidden';
</script>";
if (strlen($_POST['usuario'])==0) ## Verifico que haya ingresado el usuario.
{$mensaje=$No_user; // Verify that the user has entered.
include('user_login.inc');
exit();
}
$usuario=trim(strip_tags($_POST['usuario']));
## Busco el usuario en la tabla, verifico que tenga un e-mail
// Search the user in the tables, verify that has an e-mail.
$query="SELECT * FROM {$MyPHD}usuario WHERE usuario_id='$usuario'";
$result=mysql_query($query) or die(mysql_error());
$q_filas=mysql_num_rows($result);
if($q_filas!=1)
{$mensaje=$User_not_exists;
include('user_login.inc');
exit();
}
$row=mysql_fetch_array($result);
$e_mail=$row['e_mail'];
$ape_y_nom=$row['ape_y_nom'];
if (strlen($e_mail)<5) ## Verifico que tenga un e-mail para enviar la contraseña
{$mensaje=$No_e_mail_usr; // Verify that the user has e-mail to send te password
include('user_login.inc');
exit();
}
$securimage = new Securimage();
if ($securimage->check($_POST['captcha']) == false and isset($_SESSION['securimage_code_value'])) ## Verifico el captcha
{$mensaje=$Error_captcha; // Captcha verifying
include('user_login.inc');
exit();
}
$contrasenia=generapwd();
$md5=md5($contrasenia);
## hago la actualización de la contraseña
// Update the password.
$query="UPDATE {$MyPHD}usuario
SET
contrasenia='$md5',
cambia_clave='S',
update_user='$usuario',
update_oper=null,
update_datetime=NOW()
WHERE
usuario_id='$usuario'";
$update=mysql_query($query) or die (mysql_error());
$js_muestro_captcha="";
## Envio correo con la contraseña al usuario.
// Send mail with the users password.
$link=substr($_SERVER['HTTP_REFERER'],0,strrpos($_SERVER['HTTP_REFERER'],"/"))."/user_request.php";
$asunto=$Subject_new_pswd;
$e_mensaje_html="$Body_new_pswd_1 <br /> <br />";
$e_mensaje_html.="$Body_new_pswd_2 <strong>$usuario</strong> $Body_new_pswd_3 <strong>$contrasenia</strong> <br /> <br />";
$e_mensaje_html.="$Body_new_pswd_4 <br /><br />";
$e_mensaje_html.="$Access_at: <a href='$link'>$link</a>";
$e_mensaje_text="$Body_new_pswd_1 \n \n";
$e_mensaje_text.="$Body_new_pswd_2 $usuario $Body_new_pswd_3 $contrasenia \n \n";
$e_mensaje_text.="$Body_new_pswd_4 \n\n";
$e_mensaje_text.="$Access_at: $link";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Port= $Mail_port;
$mail->Host = $Mail_host;
$mail->SMTPAuth = true;
$mail->Username = $Mail_usuario;
$mail->Password = $Mail_clave;
$mail->From = $_SESSION['PHD_FROM_USER_PSW'];
$mail->FromName = $New_pswd;
$mail->AddAddress($e_mail,$ape_y_nom);
$mail->WordWrap = 80;
$mail->IsHTML(true);
$mail->Subject = $asunto;
$mail->Body = "<div style='text-align:center'><img style='text-align:center' src='cid:PHD' alt='phd help desk' border=0 /></div><br /><br /> $e_mensaje_html ";
$mail->AltBody = $e_mensaje_text ;
$mail->AddEmbeddedImage("./images/phd_150_20.gif", "PHD", "phd_150_20.gif",
"base64", "image/gif");
if(@$mail->Send())
{ $mensaje="$Mail_sent ($usuario) $ape_y_nom. <br />";
$mensaje.="$Was_sended_to: $e_mail";
}
else
{$mensaje="$No_mail_sent $usuario. <br />";
$mensaje.="$Mail_srv_err: <em>\"$mail->ErrorInfo\"</em><br />";
$mensaje.="$Try_e_mail: $e_mail";
}
?>