Location: PHPKode > projects > PHD Help Desk > include/usr_gen_clave.inc
<?PHP
/*
    Nombre: usr_gen_clave.inc
    Autor: Julio Tuozzo
    Función: Genera una nueva contraseña para el usuario
    Function: create a new operator password
    Ver: 2.00
*/

require('funcionesPHP.inc');
require('class.phpmailer.php');

## Inicializo las variables y genero la contraseña
// Inicializing variables and create password

if (get_magic_quotes_gpc())
    { foreach($_POST as $clave => $valor)
      {$_POST[$clave]=stripslashes($_POST[$clave]);
      }
    }

foreach($_POST as $clave => $valor)
     {$_POST[$clave]=trim(htmlentities($_POST[$clave],ENT_QUOTES));
     }

$usuario_id=$_POST['usuario_id'];
$e_mail=$_POST['e_mail'];
$ape_y_nom=$_POST['ape_y_nom'];
$contrasenia=generapwd();
$md5=md5($contrasenia);


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
       }

else
        {## hago la actualización de la contraseña
        // Update the password.

        $query="UPDATE {$MyPHD}usuario
                SET
                contrasenia='$md5',
                cambia_clave='S',
                update_oper='{$_SESSION[PHD_OPERADOR]}',
                update_user=null,
        		update_datetime=NOW()
		        WHERE
		        usuario_id='$usuario_id'";

         $update=mysql_query($query) or die (mysql_error());

         ## Busco el correo del remitente
         // Search the e-mail of the sender

        $query="SELECT e_mail from {$MyPHD}operador where operador_id='{$_SESSION['PHD_OPERADOR']}'";
        $result=mysql_query($query) or die (mysql_error());
        $row = mysql_fetch_array($result);

        ## 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_id</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_id $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 = $row['e_mail'];
        $mail->FromName = $_SESSION['PHD_APE_Y_NOM'];
        $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_id) $ape_y_nom. <br />";
              $mensaje.="$Was_sended_to: $e_mail <br />";
              $mensaje.="$New_pswd_assigned $contrasenia";
            }
        else
            {$mensaje="$No_mail_sent ($usuario_id) $ape_y_nom. <br />";
             $mensaje.="$Mail_srv_err: <em>\"$mail->ErrorInfo\"</em><br />";
             $mensaje.="$Try_e_mail: $e_mail  <br />";
             $mensaje.="$New_pswd_assigned $contrasenia";
            }
       }

$piso=$telefono=$e_mail=$ape_y_nom=$usuario_id='';
?>
Return current item: PHD Help Desk