Subversion Repositories personal-webbase

Rev

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&uuml;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&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 ".$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&uuml;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&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.';
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 &quot;'.$betreff.'&quot; an &quot;'.$mailaddr.'&quot; 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 &uuml;ber dieses Problem.</font><br><br>
93
 
94
<input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Zur&uuml;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&ouml;nnen Sie kein neues Passwort &uuml;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
?>