Subversion Repositories personal-webbase

Rev

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&uuml;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&uuml;ssen eine E-Mail-Adresse angeben! Bei Accounts ohne E-Mail-Adresse kann diese Technik der Passwortgeneration nicht durchgef&uuml;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&uuml;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&uuml;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&uuml;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 &quot;'.$betreff.'&quot; an &quot;'.$mailaddr.'&quot; 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 &uuml;ber dieses Problem.</span></p>
94
 
95
<input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zur&uuml;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&ouml;nnen Sie kein neues Passwort &uuml;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
?>