Rev 12 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
12 | daniel-mar | 1 | <?php |
2 | |||
14 | daniel-mar | 3 | if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
12 | daniel-mar | 4 | |
5 | if (isset($_POST['sent']) && ($_POST['sent'] == '1')) |
||
6 | { |
||
7 | echo $header; |
||
8 | if ($modulueberschrift == '') $modulueberschrift = $modul; |
||
9 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
||
10 | |||
11 | if ($mailaddr == '') |
||
12 | { |
||
13 | echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'"> |
||
14 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
15 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
16 | <input type="hidden" name="mailaddr" value="'.$mailaddr.'"> |
||
17 | <input type="hidden" name="sent" value="0"> |
||
18 | |||
19 | Sie müssen eine E-Mail-Adresse angeben! Bei Accounts ohne E-Mail-Adresse kann diese Technik der Passwortgeneration nicht durchgeführt werden. Wenden Sie sich in diesem Fall an den Administrator.<br><br> |
||
20 | |||
21 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zurück"></form>'; |
||
22 | } |
||
23 | else |
||
24 | { |
||
25 | $res = db_query("SELECT `username`, `id` FROM ".$mysql_zugangsdaten['praefix']."users WHERE `email` = '".db_escape($mailaddr)."'"); |
||
26 | if (db_num($res) == 0) |
||
27 | { |
||
28 | echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'"> |
||
29 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
30 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
31 | <input type="hidden" name="mailaddr" value="'.$mailaddr.'"> |
||
32 | <input type="hidden" name="sent" value="0"> |
||
33 | |||
34 | Zu der angegebenen E-Mail-Adresse existiert kein Benutzer.<br><br> |
||
35 | |||
36 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zurück"></form>'; |
||
37 | } |
||
38 | else |
||
39 | { |
||
40 | $res = db_query("SELECT `id`, `username`, `new_password` FROM `".$mysql_zugangsdaten['praefix']."users` WHERE `email` = '".db_escape($mailaddr)."'"); |
||
41 | while ($row = db_fetch($res)) |
||
42 | { |
||
43 | $un = $row['username']; |
||
44 | $id = $row['id']; |
||
45 | |||
46 | if ($row['new_password'] != '') |
||
47 | { |
||
48 | $pw = $row['new_password']; |
||
49 | } |
||
50 | else |
||
51 | { |
||
52 | $pw = zufall(10); |
||
53 | db_query("UPDATE `".$mysql_zugangsdaten['praefix']."users` SET `new_password` = '".db_escape($pw)."' WHERE `id` = '".db_escape($id)."'"); |
||
54 | } |
||
55 | $ac = md5(md5($pw)); |
||
56 | |||
57 | if (array_key_exists("HTTPS", $_SERVER) && $_SERVER("HTTPS") == 'on') |
||
58 | $protokoll = 'https'; |
||
59 | else |
||
60 | $protokoll = 'http'; |
||
61 | |||
62 | // In der E-Mail keine HTML-Sonderzeichenkonvertierung |
||
63 | $mail = "Jemand hat Personal WebBase auf dem Server \"".$_SERVER['HTTP_HOST']."\" angewiesen, ein neues Passwort für die Konten, die auf die E-Mail-Adresse $mailaddr registriert sind, zu generieren. Wenn Sie mehrere Konten besitzen, aber nur das Passwort eines Kontos vergessen haben, bearbeiten Sie nur die relevanten Aktivierungs-E-Mails. Diese E-Mail behandelt das Konto $un.\n\nHier sind Ihre neuen Zugangsdaten:\n\nBenutzername: $un\nPasswort: $pw\n\nBitte beachten Sie, dass diese Änderungen erst gültig werden, wenn Sie folgenden Aktivierungslink anklicken:\n$protokoll://".$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]."?modul=$modul&seite=activate&id=$id&code=$ac\n\nWenn Sie kein neues Passwort angefordert haben, dann ignorieren Sie diese E-Mail einfach."; |
||
64 | |||
65 | $betreff = 'Personal WebBase Passwortgenerierung'; |
||
66 | |||
67 | $header = ''; |
||
68 | if (($konfiguration['main_ueber']['admin_mail'] != '') && (check_email($konfiguration['main_ueber']['admin_mail']))) |
||
69 | { |
||
70 | $header .= 'From: ' . $konfiguration['main_ueber']['admin_mail'] . "\r\n"; |
||
71 | $header .= 'Reply-To: ' . $konfiguration['main_ueber']['admin_mail'] . "\r\n"; |
||
72 | } |
||
73 | $header .= 'X-Mailer: PHP/' . phpversion(); |
||
74 | |||
75 | if (@mail($mailaddr, $betreff, $mail, $header)) |
||
76 | { |
||
77 | echo 'Ihnen wurde ein neues Passwort per E-Mail zugeschickt.<br><br>Prüfen Sie nun Ihr E-Mail-Postfach und aktivieren Sie das neue Passwort mit dem Aktivierungslink, der ebenfalls in der E-Mail enthalten ist.'; |
||
78 | } |
||
79 | else |
||
80 | { |
||
81 | if (function_exists('fehler_melden')) |
||
82 | { |
||
83 | fehler_melden($modul, '<b>Mail-Senden fehlgeschlagen!</b><br><br>Das Senden einer E-Mail mit dem Betreff "'.$betreff.'" an "'.$mailaddr.'" ist fehlgeschlagen!'); |
||
84 | } |
||
85 | |||
86 | echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'"> |
||
87 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
88 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
89 | <input type="hidden" name="mailaddr" value="'.$mailaddr.'"> |
||
90 | <input type="hidden" name="sent" value="0"> |
||
91 | |||
92 | <font color="#FF0000">Es trat ein Fehler beim E-Mail-Versand auf. Informieren Sie den Administrator über dieses Problem.</font><br><br> |
||
93 | |||
94 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zurück"></form>'; |
||
95 | } |
||
96 | } |
||
97 | } |
||
98 | } |
||
99 | } |
||
100 | else |
||
101 | { |
||
102 | |||
103 | echo str_replace('<body', '<body onload="self.focus();document.getElementById(\'mailaddr\').focus();"', $header); |
||
104 | |||
105 | if ($modulueberschrift == '') $modulueberschrift = $modul; |
||
106 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
||
107 | |||
108 | echo 'Geben Sie hier Ihre E-Mail-Adresse ein, die Sie bei der Registrierung bei Personal WebBase angegeben haben. |
||
109 | Wenn Sie keine E-Mail-Adresse angegeben haben, können Sie kein neues Passwort über dieses |
||
110 | Formular generieren. Kontaktieren Sie in diesem Fall den Administrator.<br><br> |
||
111 | |||
112 | <form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="frm"> |
||
113 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
114 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
115 | <input type="hidden" name="sent" value="1"> |
||
116 | |||
117 | E-Mail-Adresse: <input type="text" class="normal" onmouseover="this.className=\'highlight\';" onmouseout="this.className=\'normal\';" name="mailaddr" id="mailaddr" value=""><br><br> |
||
118 | |||
119 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Weiter"> |
||
120 | |||
121 | </form>'; |
||
122 | |||
123 | } |
||
124 | |||
125 | echo $footer; |
||
126 | ?> |