\n
"; echo "

" . TITLE_SITE . "

"; $action = $_POST["action"]; $mail = $_POST["email"]; if($action == "Valider"){ $nbAttributionMail = getNbAttributionEmail($mail,$link); if($nbAttributionMail==0){ echo "
Aucun utilisateur ne correspond à cet adresse e-mail."; echo "

Retour à la page de connexion"; exit(); } elseif($nbAttributionMail>1){ echo "
Plusieurs utilisateurs correspondent à cet adresse e-mail.
Les informations de connexion ne seront donc pas envoyées.
"; echo "

Retour à la page de connexion"; exit(); } $table = getStatutUtilisateur($mail,$link); $infosCompte=envoiMailPassword($mail,$table,$link); //si on a trouvé le compte utilisateur on lui envoie un mail if($infosCompte!=-1){ envoiMail(MAIL_ADRESS, $mail,'', $infosCompte['sujet'], $infosCompte['message']); //on enregistre le nouveau password $updateUtilisateur["id_utilisateur"]=$infosCompte['id_utilisateur']; $updateUser["password"]= md5($infosCompte['password']); updateTuple($updateUtilisateur, $updateUser, "utilisateur", $link); echo "
Vos informations de connexion vous ont été envoyées."; echo "

Retour à la page de connexion"; } exit(); } echo "

Mot de passe oublié

\n"; echo "Vous avez oublié votre login ou votre mot de passe?"; echo "
"; echo "Entrez l'adresse électronique que vous utilisez sur le livret,
vos informations de connexion vous seront renvoyées.
Un nouveau mot de passe vous sera attribué.
"; echo "
"; echo " "; echo ""; echo " "; echo " "; echo " "; // bouton submit echo " \n"; echo " \n"; echo " \n"; echo "
"; //Formulaire echo "
\n"; echo " \n"; // titre du formulaire echo " \n"; echo " \n"; echo " \n"; // e-mail echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo " Entrez votre adresse e-mail :\n"; echo " \n"; echo "
\n"; echo " \n"; echo "
"; //echo "
"; echo "
\n"; echo " \n"; echo "
"; //************************************************************************************************* //Texte provisoire en attendant que les mials puissent être envoyés vers toutes les boîtes mails echo "

A l'intention des utilisateurs :

En raison d'un problème de traitement de mails, certaines boîtes peuvent ne rien recevoir.
\n Nous vous invitons donc directement à contacter l'administrateur du site pour obtenir un nouveau mot de passe.
\n Merci de votre comprehension.
Mail de l'administrateur : pmedan@cfa-afia.org

"; //************************************************************************************************* echo "

Retour à la page de connexion"; echo "
"; /*************************************************** ** Function: getStatutUtilisateur ** Input: STRING email, MysqlLink link ** Output: STRING ** Description: ** ** Cette fonctions renvoie le type du statut de l'utilisateur en fonction de son adresse mail ** C'est le nom de la table qui est renvoyé ** */ function getStatutUtilisateur($email,&$link){ //tableau associatif des tables à consulter $table = array(2=>"apprenti" , 3=>"chargemission", 4=>"enseignant", 5=>"maitre", 6=>"secretariat", 7 => "special", 8 =>"admissible"); //pour chaque table on regarde si le mail correspond à un utilisateur de ce type foreach($table as $key=>$value){ $request = "select u.id_statut from $value, utilisateur u where email='$email' and $value.id_utilisateur=u.id_utilisateur"; $result = mysql_query($request,$link); $ligne = mysql_fetch_assoc($result); //si oui on renvoie la table correspondant au type de l'utilisateur if($ligne) return $table[$ligne['id_statut']]; } //si on a pas trouvé on renvoie -1 return -1; } /*************************************************** ** Function: getNbAttributionEmail ** Input: STRING email, MysqlLink link ** Output: INTEGER ** Description: ** ** Cette fonctions renvoie le nombre de fois qu'une adresse mail est attribuée ** afin de ne pas renvoyer les infos de connexion si plusieurs utilisateurs ont le même mail ** */ function getNbAttributionEmail($email,&$link){ //tableau associatif des tables à consulter $table = array(2=>"apprenti" , 4=>"enseignant", 5=>"maitre", 6=>"secretariat", 7 => "special", 8 =>"admissible"); //nb de fois que l'adresse mail est attribué $nbAttributionMail = 0; //pour chaque table on regarde si le mail correspond à un utilisateur de ce type foreach($table as $key=>$value){ $request = "select u.id_statut from $value, utilisateur u where email='$email' and $value.id_utilisateur=u.id_utilisateur"; $result = mysql_query($request,$link); $ligne = mysql_fetch_assoc($result); //si oui on renvoie la table correspondant au type de l'utilisateur if($ligne) $nbAttributionMail++; } //si on a pas trouvé on renvoie -1 return $nbAttributionMail; } /*************************************************** ** Function: envoiMailPassword ** Input: STRING email, STRING table, MysqlLink link ** Output: ARRAY ** Description: ** ** Cette fonction prépare le mail à envoyer à l'utilisateur dont le password ** est modifié */ function envoiMailPassword($mail,$table,$link){ $request = "select u.id_utilisateur,login,password from $table, utilisateur u where email='$mail' and $table.id_utilisateur=u.id_utilisateur"; $result = mysql_query($request,$link); if($ligne = mysql_fetch_assoc($result)){ $ret["id_utilisateur"] = $ligne['id_utilisateur']; $ret["login"]=$ligne['login']; $newPassword =randomPassword(6); $ret["password"]=$newPassword;//$ligne['password']; $ret["sujet"]="Votre mot de passe pour www.cfa-afia.com"; // contenu du message $message = "Bonjour,\n\nVous avez fait une demande pour obtenir de nouveaux paramètres de connexion au Livret Electronique d'Apprentissage.\n"; $message .= "Vos paramètres de connexion sont:\n"; $message .= "Login : ".$ligne['login']."\n"; $message .= "Password : ".$newPassword."\n\n"; $message .= "A très bientôt sur ".URL; $message .= "\nCordialement,\n\n"; $message .= MAIL_SIGN; $ret["message"]=$message; return $ret; } //si on a pas trouvé on renvoie -1 return -1; } ?>