Modul für Frontend-Login: Passwort vergessen?

Alles rund um Module und Plugins in CONTENIDO 4.9.
avito
Beiträge: 43
Registriert: Do 15. Mai 2008, 13:14
Kontaktdaten:

Modul für Frontend-Login: Passwort vergessen?

Beitrag von avito » Fr 23. Jan 2015, 18:00

Hallo zusammen,

ich wollte mal freundlich in die Runde fragen, ob es für den Frontend-Login (ich nehme das mitgelieferte Modul form_login) auch ein Modul mit der Funktion "Passwort vergessen?" gibt. Über einen Tip wäre ich sehr dankbar und freue mich auf Antworten.

Viele Grüße und danke schon mal vorab.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Di 14. Apr 2015, 16:20

Hallo, das würde ich mich interessieren.

Liebe Grüsse
Benja

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Di 14. Apr 2015, 17:45

Holldrihö ;-)
Ihr müsst es Euch noch ein bissel umstricken, weil direkt so aus einer Kundenseite gezogen, aber im Prinzip sollte es so funktionieren.
Datei entpacken, hochladen und Module synchronisieren.
Ist eigentlich auch nur eine angepasste Variante dessen, was es in 4.8 schon gegeben haben müsste...

LG
Viktor
Dateianhänge
class.phpmailer.zip
Bitte entpacken und nach /cms/includes/ kopieren
(9.9 KiB) 129-mal heruntergeladen
frontenduser---kennwort-vergessen.zip
(7.29 KiB) 118-mal heruntergeladen
Zuletzt geändert von homtata am Di 14. Apr 2015, 21:41, insgesamt 2-mal geändert.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Di 14. Apr 2015, 20:45

Danke Viktor, leider wird bei mir garnichts angezeigt :-(

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Di 14. Apr 2015, 21:37

wer wo wie was wird nix angezeigt? Im Backend im Modulcode? Im Frontend beim Output?

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Di 14. Apr 2015, 21:39

Ah so, ich vergass: es werden ja E-Mails verschickt, und am Anfang des Modulcodes wird die class.phpmailer.php verlangt. Entweder aus einer alten 4.8er Version klauen, oder aus dem obigen Post (ich hänge sie nochmal zum Modulcode-Post dazu).
Diese dann bitte nach /cms/includes/ kopieren, dann nochmal schauen, obs klappt...

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Mi 15. Apr 2015, 08:29

Hallo Viktor,

im Frontend wurde nichts angezeigt. Das mit der Classe hatte ich mir auch schon gedacht. Wenn ich die Datei in den Ordner includes lege wird im Frontend auch der Inhalt anderer Module nicht angezeigt.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Mi 15. Apr 2015, 08:47

Hallo benja,

ein nicht funktionierendes Modul zieht oft nach sich, dass die komplette Seite zerschossen ist, und dann heißt es, den Fehler im entsprechenden Modul zu finden.
Also: hast du die zip-Datei auch entpackt, so dass sie class.phpmailer.php heißt? Sie muss gefunden und einbindbar sein, sonst funktioniert es nicht.

Ich versuche mal, das Modul hier etwas zu kürzen und zu entschlacken, aber weiter testen kann ich es leider nicht - ich bin dann für den Rest der Woche erstmal nicht mehr erreichbar.
Bitte auch in den Mandanteneinstellungen die Variable "global / sender-email" für den Absender setzen.
Einige Übersetzungen bitte noch händisch nachpflegen.

Code: Alles auswählen

<?php 

// Includes
cInclude('frontend', 'includes/class.phpmailer.php'); 

$sEMail = getEffectiveSetting("global", "sender-email");

$sMessage = "";
$errMsg = mi18n("mail_address_empty");

$errCSS  = "<style type='text/css'><!-- label#";
$errCSS2 = " {background-color: red;} --></style>";


if ($auth->auth["uid"] == "nobody" && $_POST["action"] == "helpme") {       

      $strMessage = ""; 
      $username = strtolower($_POST["myusername"]); 
      if (isValidMail($username)) { 
         $frontendusers = new cApiFrontendUserCollection(); 

         $frontendusers->resetQuery(); 
         $frontendusers->setWhere("username", $username); 
         $frontendusers->setWhere("idclient", $client); 
         $frontendusers->query(); 

         if ($frontenduser = $frontendusers->next()) { 
            
              $sActive  = $frontenduser->get('active');
              
              if ( $sActive == "1" ) {
                
			$pwd = substr(md5(rand()),0,8); // Generating password 
			$frontenduser->set("password", $pwd); 
			$frontenduser->set("userconfirmed", 1);	  
			$frontenduser->store(); 


			$FEUserID = $frontenduser->get("idfrontenduser");
			$oFEUser = new cApiFrontendUser();
			$oFEUser->loadByPrimaryKey($FEUserID);
				  

            $sBody = mi18n("mail_pwd_body")."\n\n".mi18n("Kennwort:")." ".$pwd."\n\n".mi18n("login_click")."\n". 
            $cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcat=1&changelang=".$lang."\n\n".mi18n("footer")."\n\n".mi18n("impressum");

            $mail           = new PHPMailer();
			$mail->CharSet  = 'utf-8';
            $mail->From     = $sEMail; 
            $mail->FromName = $sEMail;
            $mail->AddAddress($username); 
            $mail->Mailer   = "mail"; 
            $mail->Subject  = stripslashes(mi18n("mail_pwd_subject")); 
            $mail->Body     = stripslashes($sBody); 

            if($mail->Send()) { 
               $strMsg = "<p id='sucMsg'>".mi18n("new_pwd_sent")."</p>"; 
            } else { 
               $errMsg = mi18n("new_pwd_mail_problem"); 
            } 
            
          } else { // if not activated 
             $errMsg = mi18n("account_not_activated"); 
          }
         } else { 
            $errMsg = mi18n("account_not_found"); 
         } 
      } else { 
         if ( $username != "" ) {$errMsg = mi18n("mail_address_not_valid"); }
      } 
      if ( $strMsg == "" ) {
        $strMsg = "<p id='errMsg'>".$errMsg."</p>";
         } 
         

   } 


// use smarty template to output module
$tpl = cSmartyFrontend::getInstance();

$tpl->assign('msg', $strMsg);
$tpl->assign('url', "front_content.php?idcatart=".$idcatart );
$tpl->assign('mail_label', mi18n("E-Mail-Adresse:") );
$tpl->assign('username', $_POST["myusername"] );
$tpl->assign('send_button', mi18n("send_button") );
$tpl->display('get.tpl');

?>
Versuch mal, ob DAS klappt.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Mi 15. Apr 2015, 08:53

Leider immer noch das gleiche. Trotzdem vielen Dank. Heute Abend kann mir vielleicht jemand helfen.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Mi 15. Apr 2015, 09:14

Ich habe das Modul (die allererste noch unbearbeitete Version, Download s.o.) mal in einen Demomandanten importiert, die classmailer-Datei in cms/includes/ gelegt, das Modul ins Template eingebunden, Seite im Frontend aufgerufen - bei mir wirds angezeigt! Ein Inputfeld mit der Aufforderung, die eigene Mailadresse einzugeben.

Es ist allerdings wirklich wirklich wichtig, dass die class.phpmailer.php an der richtigen Stelle liegt. NICHT in /contenido/includes, sondern /cms/includes (!!).
Ist diese nicht dort, wird jeder weitere Output auf der Seite sofort abgeschossen.

Es sind zwar einige Variablen zu ersetzen im Moduloutput, die es so in einem normalen Mandanten nicht gibt, aber davon abgesehen müsste es funktionieren.
Mein Mandant läuft unter utf-8 (Spracheinstellungen, Installation).

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Mi 15. Apr 2015, 09:23

Dann habe ich die php Datei in den falschen Ordner gepackt. Probiere es später noch mal, bin unterwegs. Danke schon mal :D

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von Faar » Mi 15. Apr 2015, 09:47

homtata hat geschrieben:Holldrihö ;-)
LG
Viktor
Ob das Modul mit einer Funktion "Frontenduser Anmelden" kombinierbar ist?
Also dass sich wie bei einer Community die User selbst anmelden, mit Double Opt In und so Zeug.
:?:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von homtata » Mi 15. Apr 2015, 09:59

Klaro geht das.. hab ich auch irgendwo hier - ist das im Demomandanten nicht drin?
Dann suche ich das mal raus nächste Woche. Auch da gilt: ist auf einen speziellen Kunden angepasst. Der User meldet sich selbst an, kriegt den Registrierungslink, und wird als Frontenduser angelegt wie auch in allen Sprachen des Newsletters. Die Anmeldesprache wird dann im Newsletter aktiv gestellt. Wenn das gebraucht wird, stelle ich das gern online, muss den Modulcode aber vorher wahrscheinlich noch etwas generalisieren und überholen.

LG

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von Faar » Mi 15. Apr 2015, 10:49

homtata hat geschrieben:Der User meldet sich selbst an, kriegt den Registrierungslink, und wird als Frontenduser angelegt wie auch in allen Sprachen des Newsletters. Die Anmeldesprache wird dann im Newsletter aktiv gestellt. Wenn das gebraucht wird, stelle ich das gern online, muss den Modulcode aber vorher wahrscheinlich noch etwas generalisieren und überholen.
Ja doch, das klingt interessant.
Gibts das auch mit ohne Newsletterfunktion oder mit und ohne. :roll:
Ich kann es ja anpassen aber für andere wäre es sicher wichtig, dass es universal einsetzbar wäre.

VG,
Faar
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Modul für Frontend-Login: Passwort vergessen?

Beitrag von benja » Mi 15. Apr 2015, 12:17

Hallo Viktor,

jetzt funktioniert es. Aber so richtig verstehe ich das noch nicht. Dafür muss die E-Mail-Adresse hinterlegt werden. Wo mache ich das denn? Wenn ich einen Benutzer angebe, gibt es keine Möglichkeit eine E-Mail-Adresse zu hinterlegen. Es soll in dem Fall keine Anmeldung geben, nur ein Login für ausgewählte Personen.

Antworten