Modul: Forgot Password/Passwort vergessen

Gesperrt
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Modul: Forgot Password/Passwort vergessen

Beitrag von HerrB » Sa 3. Dez 2005, 19:17

Ein weiteres Modul für V4.6.x. Es ist noch nicht ganz perfekt (und wie ich es gerade schreibe, in der Form ungetestet), aber vielleicht hilft es schon mal. Über einen Test würde ich mich freuen.

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
Eingabe:

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);
Ausgabe:

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>&nbsp;',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;">&nbsp;</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>&nbsp;',chr(10);
      echo '  </form>',chr(10);
      echo '  </div>',chr(10);
   }
?>
Gruß
HerrB
Zuletzt geändert von HerrB am Fr 2. Feb 2007, 10:18, insgesamt 2-mal geändert.
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » So 4. Dez 2005, 13:45

Hallo HerrB
Bei der Ausgabe leuchtet die rote Laterne :-(

Wahrscheinlich muss noch hinter das letzte Echo ein }
Gruß
Florian

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 4. Dez 2005, 15:00

Yep, danke. War auf die Schnelle... :wink:

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

vize
Beiträge: 18
Registriert: Mo 24. Okt 2005, 14:57
Kontaktdaten:

Beitrag von vize » Mi 29. Mär 2006, 12:42

Hallo HerrB

habe es gerade bei mir eingebaut in Version 4.6.8 funktioniert einwandfrei

Gruß

Vize

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Do 24. Aug 2006, 16:41

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).
Ich bin am suchen und suchen *gg* aber der kleine Hinweis gibt Hoffnung dass wenigstens einer weiß wo man zumindest Hinweise auf die Umsetzung dazu gibt. Wo findet man diese automatische Eintragung über Newslettermodule für Frontenduser denn?

Hab es selbst versucht sie anzupassen aber ich krieg irgendwie das Modul nicht dazu die FEGroups zu lesen...
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 24. Aug 2006, 18:28

Standard-Newsletter-Module, aktuelle (fehlerbereinigte) Version siehe Signatur.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

blau1
Beiträge: 24
Registriert: Do 13. Jul 2006, 10:14
Wohnort: Mainz
Kontaktdaten:

Gutes Modul...

Beitrag von blau1 » Do 1. Feb 2007, 18:50

Ich wollte nur mal Danke sagen, das Modul funktioniert super!

Gesperrt