Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?
2
	function microtime_float()
3
	{
4
	    list($usec, $sec) = explode(" ", microtime());
5
    	return ((float)$usec + (float)$sec);
6
	}
7
 
8
	$time_start = microtime_float();
9
 
10
 
11
	/* ************************************************************************************ */
12
	/* SYSTEM-INIT									 										*/
13
	/* ************************************************************************************ */
14
	/*
15
		1.	Starten der Session
16
		2.	Auslesen der ini-Dateien die:
17
			- alle relevanten Informationen f�r jedes Module bereitstellen
18
			- alle Standardtemplates definieren
19
 
20
		3.	Kernrroutinen einbinden die zum Laden aller Serviceroutinen notwendig sind
21
		4.	Laden aller externen Serviceroutinen
22
	*/
23
	/* ************************************************************************************ */
24
 
25
	/*	1.	*/
26
	@session_start();
27
 
28
	$_TMPL = array();
29
 
30
	/*	2.	*/
31
	// Konfigurationen Parsen
32
	$_INI							=	parse_ini_file($iniFiles['global']['default']		,true);
33
	$_INI_TEMPLATE					=	parse_ini_file($iniFiles['global']['templates']		,true);
34
 
35
	$_INI_LOCAL						=	parse_ini_file($iniFiles['local']['default']		,true);
36
	$_INI_TEMPLATE_LOCAL			=	parse_ini_file($iniFiles['local']['templates']		,true);
37
 
38
	$_SESSION['INI'] 			 	= 	array_merge ($_INI, $_INI_LOCAL);
39
	$_SESSION['INI']['TEMPLATE'] 	= 	array_merge ($_INI_TEMPLATE, $_INI_TEMPLATE_LOCAL);
40
 
41
	// Welche Datenbank soll genommen werden fuer Fallbacks
42
	// Markus
43
	if ($_SESSION['INI']['useBackupDatabase'] == TRUE)
44
	{
45
		$_SESSION['INI']['dbConnect']['useDB'] = $_SESSION['INI']['dbConnect']['backupDatabase'];
46
	} else {
47
		$_SESSION['INI']['dbConnect']['useDB'] = $_SESSION['INI']['dbConnect']['database'];
48
	}
49
 
50
	/*
51
	foreach(array_keys($_SESSION['INI']) AS $elem) {
52
		if(is_array($_SESSION['INI'][$elem])) {
53
			foreach(array_keys($_SESSION['INI'][$elem]) AS $counter) {
54
				if (empty($_SESSION['INI'][$elem][$counter]))
55
				{
56
					$_SESSION['INI'][$elem] = ($counter==0) ? $_SESSION['INI'][$elem][$counter+1] : $_SESSION['INI'][$elem][$counter];
57
				} else {
58
					$_SESSION['INI'][$elem] = $_SESSION['INI'][$elem][$counter];
59
				}
60
			}
61
		}
62
	}
63
	*/
64
 
65
	// @since 07/04/2007
66
	// New Shop Base Module
67
	// @author Markus Niewerth
68
	require_once("module/shop/includes/classes/Weban_Shop.class.php");
69
	require_once("module/shop/includes/classes/Error.class.php");
70
	require_once("module/shop/includes/classes/Error_Object.class.php");
71
	require_once("module/shop/includes/classes/Functions.class.php");
72
	require_once("module/shop/includes/classes/Basket.class.php");
73
	require_once("module/Rapid_Templates/Rapid_Templates.class.php");
74
	require_once('module/Email_Safe/Email_Safe.class.php');
75
 
76
	// Shop initialisieren
77
	$Weban_Shop = &new Weban_Shop ($_SESSION['INI']['shops_ID'], $_SESSION['INI']['language']);
78
	// EMail Schutz
79
	$eSafe 		= &new Email_Safe ();
80
 
81
	/*	3.	*/
82
	// Wird noch ben�tigt f�r Styles und JavaScripts
83
	require_once("module/shop/includes/listFiles.php");
84
 
85
	/*	4.	*/
86
	// Laden aller benoetigten globalen Funktionen
87
	// Benoetigt die Shop  Basis- Klasse!
88
	$Weban_Shop->Functions->factory('load');
89
 
90
	/*
91
		// Email Register erstellen
92
		$Weban_Shop->create_email_register($_SESSION['INI']['shopMails']);
93
 
94
 
95
 
96
		$emailCode 	= $Weban_Shop->translate_email_code("info@siebeker.de", $_SESSION['emailRegister']);
97
		$emailLnk  	= "image.php?mx=".$emailCode;
98
		$emailPrint = "<a href=\"#/email/open/$emailCode\" onClick=\"mxopen('$emailCode'); return false;\" onmouseover=\"changeStatus('$emailCode');\"><img src=\"$emailLnk\" border=0></a>";
99
 
100
		foreach (array_keys($_SESSION['INI']['shopMails']) AS $elem) {
101
			$_SESSION['emailCodes'][$elem] 	= $Weban_Shop->translate_email_code($_SESSION['INI']['shopMails'][$elem], $_SESSION['emailRegister']);
102
			$_SESSION['emailLnks'][$elem]  	= "image.php?mx=".$_SESSION['emailCodes'][$elem];
103
			$_SESSION['emailPrints'][$elem] = "<a href=\"#/email/open/".$_SESSION['emailCodes'][$elem]."\" onClick=\"mxopen('".$_SESSION['emailCodes'][$elem]."'); return false;\" onmouseover=\"changeStatus('".$_SESSION['emailCodes'][$elem]."');\"><img src=\"".$_SESSION['emailLnks'][$elem]."\" border=0></a>";
104
		}
105
	*/
106
 
107
	// Interne Navigation
108
	$_keys=array_keys($_GET);
109
	foreach($_keys as $_key)
110
	{
111
		switch($_key)
112
		{
113
			case 'show_functions':
114
					pre($Weban_Shop,false,true);
115
				break;
116
		}
117
	}
118
 
119
	// Laden von lokalen funktionen
120
	require_once("includes/system/itemKorrektur.php");
121
	require_once("includes/system/itemContainerKorrektur.php");
122
 
123
	// Template Daten definieren
124
	// @titel
125
	$_TMPL['title'] = getTitle();
126
 
127
	if ($item)
128
	{
129
		$title=getTitle()." - ";
130
		$len = strlen($title);
131
		$_TMPL['meta']['content'] = $title.(substr(preg_replace("/\s+/", " ", preg_replace("/[\n\t\r]/", " ", strip_tags($item['beschreibung']))), 0, (250-$len)));
132
	}
133
	else
134
	{
135
		$_TMPL['meta']['content'] = getTitle();
136
	}
137
 
138
	//exit();
139
	/* ************************************************************************************ */
140
	/* SHOP-INIT									 										*/
141
	/* ************************************************************************************ */
142
	/*
143
		1. Warenkorb erstellen falls noch keiner existiert
144
		2. Referrer in ShopLog-Session sichern
145
		3. Einstiegsseite sichern
146
		4. Referrer beim ersten Aufruf loggen
147
	*/
148
	/* ************************************************************************************ */
149
 
150
	/*	1.	*/
151
	if (!is_array($_SESSION['SHOP']['BASKET']))
152
		{ $_SESSION['SHOP']['BASKET']=array(); }
153
 
154
	/*	2.	*/
155
	if (!isset($_SESSION['shopLog']['referrer']))
156
		{ $_SESSION['shopLog']['referrer'] = $_SERVER['HTTP_REFERER'];}
157
 
158
	/*	3.	*/
159
	if (!isset($_SESSION['shopLog']['start_url']))
160
		{ $_SESSION['shopLog']['start_url'] = $_GET['from'];}
161
 
162
	/*	4.	*/
163
	if ($_SESSION['shopLog']['referrerLogged'] != true)
164
	{
165
		shopLog
166
		(
167
			"Preisagentur",
168
			$_SESSION['shopLog']['referrer'],
169
			$_SESSION['shopLog']['start_url'],
170
			$_GET['item'],
171
			$_SERVER["HTTP_ACCEPT_LANGUAGE"],
172
			false
173
		);
174
		$_SESSION['shopLog']['referrerLogged'] = true;
175
	}
176
 
177
	/* ************************************************************************************ */
178
	/* L�nder Spezialverwaltung																*/
179
	/* ************************************************************************************ */
180
	if (!isset($_SESSION["languageException"]))
181
	{
182
		if (in_array( substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2), array("fi","se","dk","nw")))
183
			{ $_SESSION["languageException"] = true; }
184
		else
185
			{ $_SESSION["languageException"] = false; }
186
	}
187
 
188
	/* ************************************************************************************ */
189
	/* Bestellung Schrittverwaltung															*/
190
	/* ************************************************************************************ */
191
	$_SESSION['SHOP']['buy']['step']=1;
192
	if ($_REQUEST['step'])
193
	{
194
		$_SESSION['SHOP']['buy']['step']=$_REQUEST['step'];
195
	}
196
 
197
	/* ************************************************************************************ */
198
	/* Befehlsinterpreter 2 (f�r Post-Formulare) 											*/
199
	/* ************************************************************************************ */
200
 
201
	if ($_POST["billigerGesehen"])
202
	{
203
		$_GET["item"] = $_POST["item"];
204
		billigerGesehen($_POST["billigerGesehen"],$_POST["item"]);
205
	}
206
 
207
	/* ************************************************************************************ */
208
	/* Befehlsinterpreter																	*/
209
	/* ************************************************************************************ */
210
	/*
211
		Alle als $_GET eingegangenen Kommandos an die Verarbeitungsroutinen �bergeben
212
	*/
213
	/* ************************************************************************************ */
214
 
215
	foreach(array_keys($_GET) as $cmd)
216
	{
217
		switch($cmd)
218
		{
219
			case (preg_match("/^sonderpreis\/(.*?)\.php/", $_GET['file'], $treffer) > 0):
220
 
221
							sonderPreisLogin(strip_tags($treffer[1]));
222
 
223
							foreach(sonderPreisGetItems($_SESSION["sonderPreis"]["kundenDaten"]["ID"]) as $sonderPreisItem)
224
							{
225
								if ($sonderPreisItem["inBasket"] == 1)
226
								{
227
									setBasketItem($sonderPreisItem["artikel_ID"]);
228
								}
229
							}
230
 
231
							basketUpdate();
232
							$_GET=array("basket" => "true");
233
							unset($_SESSION['navigation']['position']);
234
							unset($_REQUEST["staticNav"]);
235
 
236
							break;
237
			case "basketItemRemove":
238
							unset($_SESSION['SHOP']['BASKET'][$_GET['basketItemRemove']]);
239
			case "confirm":
240
							if ($_GET['confirm'])
241
							{
242
								if ($_GET['update'])
243
								{
244
									$_SESSION['SHOP']['BASKET'][$_GET['ID']]['Menge']++;
245
								}
246
								else
247
								{
248
									setBasketItem($_GET['item'], $_GET['option']);
249
								}
250
								unset($_SESSION['navigation']['position']);
251
							}
252
			case "basket":
253
							basketUpdate();
254
			case "shop":
255
			case "search":
256
			case "file":
257
							unset($_SESSION['navigation']['position']);
258
							break;
259
			case "itemContainer":
260
			case "navigation":
261
							cmdNavigation($_GET[$cmd]); break;
262
			case "item":
263
							$item=getItem($_GET[$cmd]);
264
							cmdNavigation($item['Father']);
265
							//unset($item);
266
							break;
267
		}
268
	}
269
	if (count($_GET) == 0)
270
	{
271
		unset($_SESSION['navigation']['position']);
272
	}
273
 
274
	//ob_start();
275
?>