Das Modul stellt ein Formular zur Verfügung, in dem man seinen Frontend-Nutzer-Account eintragen und ein neues Kennwort zusenden lassen kann. Das neue Kennwort ist ein Zufallskennwort, deswegen sollte auch das Modul Change Password auf der Webseite Verwendung finden.
Außerdem muss der Nutzername des Frontend-Nutzers eine E-Mail-Adresse sein (das ist automatisch dann der Fall, wenn die autom. Eintragung über die Newsletter-Module erfolgt).
Beschreibung:
Code: Alles auswählen
Modul: Forgot Password V0.91
Author: HerrB, 04.12.2005
Code: Alles auswählen
echo ' <table cellspacing="0" cellpadding="5" border="0" width="100%">',chr(10);
echo ' <tr valign="top">',chr(10);
echo ' <td>'.mi18n("Sender e-mail:").'</td>',chr(10);
echo ' <td><input type="text" name="CMS_VAR[1]" value="CMS_VALUE[1]" size="30"></td>',chr(10);
echo ' </tr>',chr(10);
echo ' </table>',chr(10);
Code: Alles auswählen
<?php
$arrSettings = array();
$arrSettings["SenderEMail"] = "CMS_VALUE[1]";
if ($auth->auth["uid"] == "nobody" && $_REQUEST["action"] == "helpme" && $_REQUEST["myusername"] != "") {
cInclude("classes", "class.frontend.users.php");
cInclude("classes", "class.phpmailer.php");
$strMessage = "";
$username = strtolower($_REQUEST["myusername"]);
if (isValidMail($username)) {
$frontendusers = new FrontendUserCollection;
$frontendusers->resetQuery();
$frontendusers->setWhere("username", $username);
$frontendusers->setWhere("idclient", $client);
$frontendusers->query();
if ($frontenduser = $frontendusers->next()) {
$pwd = substr(md5(rand()),0,8); // Generating password
$frontenduser->set("password", $pwd);
$frontenduser->store();
$body = mi18n("txtMailPassword")."\n\n".mi18n("Password:")." ".$pwd."\n\n".mi18n("Click here to login: ").
$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang;
$mail = new phpmailer();
$mail->From = $arrSettings["SenderEMail"];
$mail->FromName = $arrSettings["SenderEMail"];
$mail->AddAddress($username);
$mail->Mailer = "mail";
$mail->Subject = mi18n("Website account");
$mail->Body = $body;
if($mail->Send()) {
$strMessage .= mi18n("The new password has been sent to your mail account.");
} else {
$strMessage .= "<strong>".mi18n("Sorry, there was a problem sending you the password by mail. Please ask the webmaster for help.")."</strong>";
}
} else {
$strMessage .= mi18n("Sorry, your account hasn't been found. Please ask the webmaster for help.");
}
} else {
$strMessage .= mi18n("Please provide your username which should be your e-mail address.");
}
echo ' <div style="text-align: center;">',chr(10);
echo ' <table class="special" cellspacing="0">',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="detail_headline">'.mi18n("Forgot password:").'</td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="detail_text">'.$strMessage.'</td>',chr(10);
echo ' </tr>',chr(10);
echo ' </table> ',chr(10);
echo ' </div>',chr(10);
} else {
echo ' <div style="text-align: center;">',chr(10);
echo ' <form name="frmHelpMe" method="post" action="front_content.php?idcatart='.$idcatart.'">',chr(10);
echo ' <input type="hidden" name="action" value="helpme">',chr(10);
echo ' <table class="special" cellspacing="0">',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="detail_headline" colspan="2">'.mi18n("Forgot password:").'</td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="detail_text" style="width: 100px;">'.mi18n("Account:").'</td>',chr(10);
echo ' <td class="detail_text"><input type="input" name="myusername" value="" size="40" maxsize="200"></td>',chr(10);
echo ' </tr>',chr(10);
echo ' <td class="detail_text" style="width: 100px;"> </td>',chr(10);
echo ' <td class="detail_text" style="text-align: center;"><input class="submit" type="submit" name="reset" value="'.mi18n("Send new password").'"></td>',chr(10);
echo ' </tr>',chr(10);
echo ' </table> ',chr(10);
echo ' </form>',chr(10);
echo ' </div>',chr(10);
}
?>
HerrB