Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

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