Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?
2
	knock(__LINE__);
3
 
4
	/* ############################# */
5
	/* Abbrechen wenn Warenkorb leer */
6
	/* ############################# */
7
	// Titeltemplate auslesen
8
/*
9
	$template = file_get_contents("templates/buyContent/1/1.htm");
10
	if ($_SESSION[SHOP][BASKET] == array())
11
		{
12
			$msg[title]=$_SESSION[INI][basket][emptyMsg];
13
			echo templateContent($msg, $template);
14
			return ;
15
		}
16
	else
17
		{
18
			require_once $_SESSION[INI][buy][templatePath]."stepView.php";
19
		}
20
*/
21
 
22
 
23
	/* ##################################### */
24
	/* zusätzliche ServiceRoutinen einbinden */
25
	/* ##################################### */
26
 
27
	foreach(listFiles($_SESSION[INI][buyPath],"php") as $file)
28
	{
29
		require_once $file;
30
	}
31
 
32
	/* ################# */
33
	/* Schrittverwaltung */
34
	/* ################# */
35
	$_SESSION[SHOP][buy][step]=1;
36
	if ($_REQUEST[step])
37
	{
38
		$_SESSION[SHOP][buy][step]=$_REQUEST[step];
39
	}
40
 
41
	/* ############## */
42
	/* NewsletterFlag */
43
	/* ############## */
44
	if ($_POST[newsletter])
45
	{
46
		$_SESSION[SHOP][newsletter] = $_POST[newsletter];
47
	}
48
 
49
	/* ################## */
50
	/* LieferadressenFlag */
51
	/* ################## */
52
	if ($_POST[Lieferadresse])
53
	{
54
		$_SESSION[SHOP][Lieferadresse] = $_POST[Lieferadresse];
55
	}
56
 
57
	if ($_POST[action])
58
	{
59
		// eventuelle Mindestangaben abfragen
60
		$req_error=false;
61
		if ($_POST[req])
62
		{
63
			foreach(array_keys($_POST[req]) as $elem)
64
			{
65
				// Müllfilter
66
				switch($_POST[req][$elem])
67
				{
68
					case "lieferadresse":
69
							if ($_SESSION[SHOP][Lieferadresse] == "true")
70
							{
71
								if (!$_POST[$elem]) { $req_error=true; }
72
							}
73
						break;
74
					case "mail":
75
							if (preg_match("/\@/", $_POST[$elem]) == 0) { $req_error=true; }
76
						break;
77
					default:
78
							if (!$_POST[$elem]) { $req_error=true; }
79
						break;
80
				}
81
			}
82
		}
83
	}
84
 
85
function knock($text)
86
{
87
	global $time_start;
88
	//echo "<li>".$text."|&nbsp;&nbsp;&nbsp;".(microtime_float() - $time_start)."</li>";
89
	$time_start = microtime_float();
90
}
91
 
92
	if ($req_error == true) { $_SESSION[SHOP][buy][step]--; }
93
 
94
	// Eingaben verarbeiten
95
	switch ($_POST[action])
96
	{
97
		case "Versand":
98
						postAction_Versand();
99
					break;
100
		case "Persdata":
101
						// Daten übertragen
102
						$_SESSION[SHOP][buy][Persdata]=$_POST;
103
						unset($_SESSION[SHOP][buy][Persdata][req]);
104
 
105
						shopLog
106
						(
107
							"BestSeite1",
108
							$_SESSION['shopLog']['referrer'],
109
							numberFormat(getBasketSumme(true)),
110
							'0',
111
							false,
112
							true
113
						);
114
 
115
					break;
116
		case "execute":
117
						if ($req_error == false)
118
						{
119
							knock(__LINE__);
120
 
121
							// User in Login erstellen
122
							$Userdata = createUser($_SESSION[SHOP][buy][Persdata]);
123
 
124
							knock(__LINE__);
125
 
126
							// Lieferadresse aus der Session erstellen
127
							$Lieferadresse = getLieferadresse();
128
 
129
							knock(__LINE__);
130
 
131
							// User in Newsletter eintragen
132
							if ($_SESSION[SHOP][newsletter] != "false")
133
							{
134
								knock(__LINE__);
135
								subscribeToNewsletter
136
								(
137
									$Userdata[ID],
138
									$_SESSION[INI][newsletter][$_POST[newsletter]]
139
								);
140
								knock(__LINE__);
141
							}
142
 
143
							// Bestellung erstellen
144
							$bestellId=createOrder($Userdata[ID]);
145
 
146
							knock(__LINE__);
147
 
148
							// Bemerkung bereitstellen
149
							$Bemerkung = getBemerkung(false);
150
							knock(__LINE__);
151
 
152
							$Bemerkung1 = getBemerkung(true);
153
							knock(__LINE__);
154
 
155
							// Artikel der Bestellung zuordnen
156
							insert_into_artikel_to_Bestellung($bestellId);
157
 
158
							knock(__LINE__);
159
 
160
							// Bestellmailvariablen bereitstellen
161
							require_once $_SESSION[INI][buyPath]."bestellen_mail_variablen.php";
162
 
163
							knock(__LINE__);
164
 
165
							// Text für die Mail erstellen
166
							$text=createMailOrderText();
167
 
168
							knock(__LINE__);
169
 
170
							// Bestellmail verschicken
171
							mail
172
							(
173
								$Userdata[E_Mail],
174
								$Bestaetigungsmail[Betreff],
175
								$Bestaetigungsmail[start].
176
								$text
177
								."\n\n".
178
								$Bestaetigungsmail[Kundendaten].
179
								"\n\n".
180
								$Bestaetigungsmail[stop],
181
								"FROM: $shopaddr"
182
							);
183
 
184
							knock(__LINE__);
185
 
186
							// Bestätigungsmail verschicken
187
							mail
188
							(
189
								$shopaddr,
190
								$Bestellmail[Betreff],
191
								$Bestellmail[start].
192
								$text.
193
								"\n\n".
194
								$Bestellmail[Kundendaten].
195
								"\n\n".
196
								$Bestellmail[stop],
197
"FROM: $Userdata[E_Mail]
198
							);
199
 
200
							knock(__LINE__);
201
 
202
							// Bestellung Loggen
203
							shopLog
204
							(
205
								"Bestellung",
206
								$_SESSION['shopLog']['start_url'],
207
								getBasketSumme(),
208
								$bestellId,
209
								SID,
210
								false
211
							);
212
 
213
							knock(__LINE__);
214
 
215
							// Warenkorb löschen
216
							//$_SESSION[SHOP][BASKET]=array();
217
 
218
							knock(__LINE__);
219
						}
220
						else
221
						{
222
							if ($_POST[Newsletter])
223
							{
224
								$_SESSION[SHOP][buy][Newsletter] = $_POST[Newsletter];
225
							}
226
							else
227
							{
228
								unset($_SESSION[SHOP][buy][Newsletter]);
229
							}
230
						}
231
					break;
232
	}
233
 
234
	knock(__LINE__);
235
 
236
	// Templateausgabe
237
	if (($_SESSION[SHOP][BASKET] == array()) and ($_POST[step] != 4))
238
	{
239
		knock(__LINE__);
240
		$msg[title]=$_SESSION[INI][basket][emptyMsg];
241
 
242
		// Titeltemplate auslesen
243
		$template = file_get_contents("templates/basket/basketEmpty.htm");
244
		echo templateContent($msg, $template);
245
	}
246
	else
247
	{
248
		knock(__LINE__);
249
		require_once $_SESSION[INI][buy][templatePath].$_SESSION[SHOP][buy][step].".php";
250
	}
251
?>