Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | daniel-mar | 1 | <?php |
2 | |||
3 | if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
||
4 | |||
5 | if (isset($_POST['sent']) && ($_POST['sent'] == '1')) |
||
6 | { |
||
7 | echo $header; |
||
8 | |||
9 | echo '<h1>'.htmlentities($module_information->caption).'</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 ".$WBConfig->getMySQLPrefix()."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 `".$WBConfig->getMySQLPrefix()."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 `".$WBConfig->getMySQLPrefix()."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 | $mailer = new SecureMailer(); |
||
68 | if (($configuration['main_about']['admin_mail'] != '') && (check_email($configuration['main_about']['admin_mail']))) |
||
69 | { |
||
70 | $mailer->addHeader('From', $configuration['main_about']['admin_mail']); |
||
71 | $mailer->addHeader('Reply-To', $configuration['main_about']['admin_mail']); |
||
72 | } |
||
73 | |||
74 | $mailer->addHeader('X-Mailer', WBUserAgent()); |
||
75 | |||
76 | if ($mailer->sendMail($mailaddr, $betreff, $mail)) |
||
77 | { |
||
78 | 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.'; |
||
79 | } |
||
80 | else |
||
81 | { |
||
82 | if (function_exists('fehler_melden')) |
||
83 | { |
||
84 | fehler_melden($modul, '<b>Mail-Senden fehlgeschlagen!</b><br><br>Das Senden einer E-Mail mit dem Betreff "'.$betreff.'" an "'.$mailaddr.'" ist fehlgeschlagen!'); |
||
85 | } |
||
86 | |||
87 | echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'"> |
||
88 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
89 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
90 | <input type="hidden" name="mailaddr" value="'.$mailaddr.'"> |
||
91 | <input type="hidden" name="sent" value="0"> |
||
92 | |||
93 | <p><span class="red">Es trat ein Fehler beim E-Mail-Versand auf. Informieren Sie den Administrator über dieses Problem.</span></p> |
||
94 | |||
95 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zurück"></form>'; |
||
96 | } |
||
97 | } |
||
98 | } |
||
99 | } |
||
100 | } |
||
101 | else |
||
102 | { |
||
103 | echo str_replace('<body', '<body onload="self.focus();document.getElementById(\'mailaddr\').focus();"', $header); |
||
104 | |||
105 | echo '<h1>'.htmlentities($module_information->caption).'</h1>'; |
||
106 | |||
107 | echo 'Geben Sie hier Ihre E-Mail-Adresse ein, die Sie bei der Registrierung bei Personal WebBase angegeben haben. |
||
108 | Wenn Sie keine E-Mail-Adresse angegeben haben, können Sie kein neues Passwort über dieses |
||
109 | Formular generieren. Kontaktieren Sie in diesem Fall den Administrator.<br><br> |
||
110 | |||
111 | <form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="frm"> |
||
112 | <input type="hidden" name="modul" value="'.$modul.'"> |
||
113 | <input type="hidden" name="seite" value="'.$seite.'"> |
||
114 | <input type="hidden" name="sent" value="1"> |
||
115 | |||
116 | E-Mail-Adresse: <input type="text" class="normal" onmouseover="this.className=\'highlight\';" onmouseout="this.className=\'normal\';" name="mailaddr" id="mailaddr" value=""><br><br> |
||
117 | |||
118 | <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Weiter"> |
||
119 | |||
120 | </form>'; |
||
121 | |||
122 | } |
||
123 | |||
124 | echo $footer; |
||
125 | ?> |