3048f62fff991cd7ccc258cffbc691434ee6000e
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

1) <?php
2) 
3) require_once('inc/db_connect.php');
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

4) require_once('mail.php');
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

5) 
6) function customer_with_email($email)
7) {
8)   $email = mysql_real_escape_string($email);
9)   $result = db_query("SELECT kundennr FROM kundendaten.kundenkontakt WHERE wert='{$email}' LIMIT 1;");
10)   if (mysql_num_rows($result) == 0)
11)     return NULL;
12)   else
13)     return mysql_fetch_object($result)->kundennr;
14) }
15) 
16) 
17) 
18) function create_customer($data)
19) {
20) 
21)   if (customer_with_email($data['email']) !== NULL)
22)   {
bernd Logger mit Logleveln

bernd authored 15 years ago

23)     logger(LOG_WARNING, 'modules/register/include/register', 'register', "Attempt to create customer with duplicate email »{$data['email']}«");
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

24)     return NULL;
25)   }
26) 
27)   $anrede = mysql_escape_string($data['anrede']);
28)   $firma = mysql_escape_string($data['firma']);
29)   $vorname = mysql_escape_string($data['vorname']);
30)   $nachname = mysql_escape_string($data['nachname']);
31)   $email = mysql_escape_string($data['email']);
32) 
bernd Logger mit Logleveln

bernd authored 15 years ago

33)   logger(LOG_INFO, 'modules/register/include/register', 'register', "Creating new account: {$anrede} / {$firma} / {$vorname} / {$nachname} / {$email}");
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

34)   
35)   $realname = maybe_null(chop($vorname.' '.$nachname));
36) 
37)   $anrede = maybe_null($anrede);
38)   $firma = maybe_null($firma);
39)   $vorname = maybe_null($vorname);
40)   $nachname = maybe_null($nachname);
41) 
42)   db_query("BEGIN");
bernd Kunden-Status wird benutzt...

bernd authored 17 years ago

43)   db_query("INSERT INTO kundendaten.kunden (firma, nachname, vorname, anrede, erstellungsdatum,status) VALUES ({$firma}, {$nachname}, {$vorname}, {$anrede}, CURDATE(), 3)");
bernd Neues Modul für "Kunde werden"

bernd authored 17 years ago

44)   $customerno = mysql_insert_id();
45)   db_query("INSERT INTO kundendaten.kundenkontakt (typ, comment, wert, name, kundennr) VALUES ('email', 'extern', '{$email}', {$realname}, {$customerno})");
46)   db_query("COMMIT");
47)   return $customerno;
48) 
49) }
50) 
51) 
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

52) function send_initial_customer_token($customerno)
53) {
54)   $customerno = (int) $customerno;
55)   $token = get_customer_token($customerno);
56)   $customer = get_customer_info($customerno);
57)   $email = get_customer_email($customerno);
58)   $anrede = "Sehr geehrte Damen und Herren";
59)   if ($customer['title'] == 'Herr')
60)     $anrede = "Sehr geehrter Herr {$customer['name']}";
61)   elseif ($customer['title'] == 'Frau')
62)     $anrede = "Sehr geehrte Frau {$customer['name']}";
63)   $msg = "{$anrede},
64) 
65) wir freuen uns, Sie bei schokokeks.org begrüßen zu dürfen.
66) 
67) 
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

68) Sie haben sich als Kunde von schokokeks.org Webhosting 
69) angemeldet. Diese E-Mail ist ein Zwischenschritt um die Gültigkeit 
70) Ihrer E-Mail-Adresse zu überprüfen.
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

71) 
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

72) Um ein Passwort für Ihren Kunden-Zugang festzulegen, rufen Sie 
73) bitte die folgende Adresse auf:
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

74)  https://config.schokokeks.org/go/index/validate_token.php?customerno={$customer['customerno']}&token={$token}
75) 
76) Sollte Ihr E-Mail-Programm diesen Link nicht korrekt an den Browser
77) übertragen, rufen Sie bitte die Seite
78)  https://config.schokokeks.org/go/index/validate_token.php
79) auf und geben Sie die folgenden Daten ein:
80)  Kundennummer: {$customer['customerno']}
81)  Code:         {$token}
82) 
83) Diese Prozedur müssen Sie bis spätestens 24 Stunden nach Erhalt
84) dieser Nachricht durchführen, sonst verliert der Code seine
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

85) Gültigkeit und der Zugang wird wieder gelöscht.
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

86) 
87) Sofern Sie keinen Account bei schokokeks.org angemeldet haben, 
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

88) können Sie diese Nachricht ignorieren.
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

89) ";
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

90)   send_mail($email, "Willkommen bei schokokeks.org Webhosting", $msg);
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

91) }
92) 
93) 
bernd AGB muss man annehmen und A...

bernd authored 17 years ago

94) function notify_admins_about_new_customer($customerno)
95) {
96)   $customerno = (int) $customerno;
97)   $customer = get_customer_info($customerno);
98)   $email = get_customer_email($customerno);
99)   $msg = "Folgender Kunde hat sich gerade über's Webinterface neu angemeldet:
100) 
101) Kundennummer: {$customerno}
102) Name: {$customer['name']}
103) E-mail: {$email}
104) 
105) Registriert von IP-Adresse {$_SERVER['REMOTE_ADDR']}.
106) ";
107)   send_mail("root@schokokeks.org", "[Webinterface] Neuer Kunde", $msg);
108)   
109)   
110) }
111) 
bernd Neue Token-Mail, Erstellung...

bernd authored 17 years ago

112) function welcome_customer($customerno)
113) {
114)   $customerno = (int) $customerno;
115)   $customer = get_customer_info($customerno);
116)   $email = get_customer_email($customerno);
117)   $anrede = "Sehr geehrte Damen und Herren";
118)   if ($customer['title'] == 'Herr')
119)     $anrede = "Sehr geehrter Herr {$customer['name']}";
120)   elseif ($customer['title'] == 'Frau')
121)     $anrede = "Sehr geehrte Frau {$customer['name']}";
122)   $msg = "{$anrede}.
123) 
124) Herzlich willkommen bei schokokeks.org!
125) 
126) Wir freuen uns, dass Sie sich für schokokeks.org entschieden haben.
127) 
128) Um Ihnen den Einstieg besonders angenehm zu gestalten, haben wir in 
129) unserem Wiki eine Seite eingerichtet, die Ihnen die ersten Schritte 
130) erläutern soll.
131) Rufen Sie dazu bitte die Adresse 
132)  https://wiki.schokokeks.org/Erste_Schritte
133) auf.
134) 
135) Auch die anderen Bereiche des Wikis stecken voller Tipps und 
136) Informationen. Schauen Sie sich um, es lohnt sich!
137) 
138) ";
139)  /*
140)   * FIXME: Diese Mail muss noch überarbeitet werden!
141)   */
142) 
143)   send_mail($email, "Willkommen bei schokokeks.org", $msg);
144) }
145) 
146) 
147) 
148) 
149)