Subversion-Projekte lars-tiefland.webhosting

Revision

Revision 85 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
96 lars 1
<?php
31 lars 2
	// $URL: file:///svn/repos/webhosting/trunk/order.php $ last modified in Revision $Rev: 96 $ by $Author: lars $ at $Date: 2010-06-27 21:53:30 +0200 (So, 27 Jun 2010) $
23 lars 3
	define(MAX_EMAIL,10);
4
 
1 lars 5
	require("functions.php");
14 lars 6
 
7
	//Smarty
1 lars 8
	require("libs/Smarty.class.php");
14 lars 9
	$smarty=new Smarty();
10
 
11
	//PEAR
12
	require ("Validate.php");
13
	$val=new Validate();
14
 
15
	//Variablen
1 lars 16
	$mode=isset($_POST["mode"])?$_POST["mode"]:"step1";
17
	$name=addslashes((isset($_POST["name"]))?$_POST["name"]:"");
18
	$vname=addslashes((isset($_POST["firstname"]))?$_POST["firstname"]:"");
19
	$email=addslashes((isset($_POST["email"]))?$_POST["email"]:"");
20
	$domain=addslashes((isset($_POST["domain"]))?$_POST["domain"]:"");
25 lars 21
	$email1=addslashes((isset($_POST["email1"]) && !empty($_POST["email1"]))?$_POST["email1"]:"");
22
	$email2=addslashes((isset($_POST["email2"]) && !empty($_POST["email2"]))?$_POST["email2"]:"");
23
	$email3=addslashes((isset($_POST["email3"]) && !empty($_POST["email3"]))?$_POST["email3"]:"");
24
	$email4=addslashes((isset($_POST["email4"]) && !empty($_POST["email4"]))?$_POST["email4"]:"");
25
	$email5=addslashes((isset($_POST["email5"]) && !empty($_POST["email5"]))?$_POST["email5"]:"");
26
	$email6=addslashes((isset($_POST["email6"]) && !empty($_POST["email6"]))?$_POST["email6"]:"");
27
	$email7=addslashes((isset($_POST["email7"]) && !empty($_POST["email7"]))?$_POST["email7"]:"");
28
	$email8=addslashes((isset($_POST["email8"]) && !empty($_POST["email8"]))?$_POST["email8"]:"");
29
	$email8=addslashes((isset($_POST["email9"]) && !empty($_POST["email9"]))?$_POST["email9"]:"");
30
	$email10=addslashes((isset($_POST["email10"]) && !empty($_POST["email10"]))?$_POST["email10"]:"");
1 lars 31
	$emails=addslashes((isset($_POST["emails"]))?$_POST["emails"]:"");
23 lars 32
	if ($emails=="")
33
	{
25 lars 34
		$emails.="$email1@$domain\n";
35
		$emails.=($email2)?"$email2@$domain\n":"";
36
		$emails.=($email3)?"$email3@$domain\n":"";
37
		$emails.=($email4)?"$email4@$domain\n":"";
31 lars 38
		$emails.=($email5)?"$email5@$domain\n":"";
39
		$emails.=($email6)?"$email6@$domain\n":"";
40
		$emails.=($email7)?"$email7@$domain\n":"";
41
		$emails.=($email8)?"$email8@$domain\n":"";
42
		$emails.=($email9)?"$email9@$domain\n":"";
43
		$emails.=($email10)?"$email10@$domain\n":"";
23 lars 44
	}
25 lars 45
	$emails=trim($emails);
18 lars 46
	$email_type=intval((isset($_POST["email_type"]))?$_POST["email_type"]:-1);
1 lars 47
	$targets=addslashes((isset($_POST["targets"]))?$_POST["targets"]:"");
8 lars 48
	$traffic=intval((isset($_POST["traffic"]))?$_POST["traffic"]:100);
60 lars 49
	$os=intval((isset($_POST["os"]))?$_POST["os"]:1);
19 lars 50
	$webmail=intval((isset($_POST["webmail"]))?$_POST["webmail"]:1);
33 lars 51
	$forum=intval((isset($_POST["forum"]))?$_POST["forum"]:1);
1 lars 52
	$copper=intval((isset($_POST["copper"]))?$_POST["copper"]:0);
53
	$svn=intval((isset($_POST["svn"]))?$_POST["svn"]:0);
54
	$admin_name=addslashes((isset($_POST["admin_name"]))?$_POST["admin_name"]:"");
55
	$admin_pw=addslashes((isset($_POST["admin_pw"]))?$_POST["admin_pw"]:"");
56
	$repo=addslashes((isset($_POST["repo"]))?$_POST["repo"]:"");
57
	$svn_user=addslashes((isset($_POST["svn_user"]))?$_POST["svn_user"]:"");
18 lars 58
 
1 lars 59
	$email_arr=explode("\n",$emails);
25 lars 60
	$email1=($email_arr[0])?substr($email_arr[0],0,strpos($email_arr[0],"@")):"";
61
	$email2=($email_arr[1])?substr($email_arr[1],0,strpos($email_arr[1],"@")):"";
62
	$email3=($email_arr[1])?substr($email_arr[2],0,strpos($email_arr[2],"@")):"";
63
	$email4=($email_arr[2])?substr($email_arr[3],0,strpos($email_arr[3],"@")):"";
64
	$email5=($email_arr[4])?substr($email_arr[4],0,strpos($email_arr[4],"@")):"";
65
	$email6=($email_arr[5])?substr($email_arr[5],0,strpos($email_arr[5],"@")):"";
66
	$email7=($email_arr[6])?substr($email_arr[6],0,strpos($email_arr[6],"@")):"";
67
	$email8=($email_arr[7])?substr($email_arr[7],0,strpos($email_arr[7],"@")):"";
68
	$email9=($email_arr[8])?substr($email_arr[8],0,strpos($email_arr[8],"@")):"";
69
	$email10=($email_arr[9])?substr($email_arr[9],0,strpos($email_arr[9],"@")):"";
1 lars 70
	$target_arr=explode("\n",$targets);
71
	$svn_user_arr=explode("\n",$svn_user);
72
	$e_anz=count($email_arr);
73
	$t_anz=count($target_arr);
6 lars 74
	if($t_anz < $e_anz && $email_type==0)
75
	{
76
		$smarty->assign("meld","Du hast $e_anz E-Mail Adressen angeben. Die Anzahl der Zieladressen beträgt aber nur $t_anz. Für die restlichen E-Mail Adressen wird \"${target_arr[$t_anz-1]}\" verwendet. Sollte dies nicht richtig sein, so gehe bitte zurück und gleiche die Anzahlen ab!");
77
		$smarty->assign("db_meld","");
78
		$smarty->assign("error",false);
79
	}
80
	if($t_anz > $e_anz && $email_type==0)
81
	{
82
		$smarty->assign("meld","Du hast $e_anz E-Mail Adressen angeben. Die Anzahl der Zieladressen beträgt dagegen $t_anz. Für die E-Mail Adresse \"${email_arr[$e_anz-1]}\" werden die übrigen Zieladressen verwendet. Sollte dies nicht richtig sein, so gehe bitte zurück und gleiche die Anzahlen ab!");
83
		$smarty->assign("db_meld","");
84
		$smarty->assign("error",false);
85
	}
21 lars 86
 
87
	if ($e_anz > MAX_EMAIL)
88
	{
89
		$smarty->assign("meld","Du hast mehr als ".MAX_EMAIL." E-Mail Adressen angegeben. Bitte verkleinere die Anzahl!");
90
		$smarty->assign("db_meld","");
91
		$error=true;
92
		$smarty->assign("error",$error);
93
	}
94
	if ($t_anz > MAX_EMAIL)
95
	{
96
		$smarty->assign("meld","Du hast mehr als ".MAX_EMAIL." Zieladressen angegeben. Bitte verkleinere die Anzahl!");
97
		$smarty->assign("db_meld","");
98
		$error=true;
99
		$smarty->assign("error",$error);
100
	}
6 lars 101
	$smarty->assign("y_n_out",array("ja","nein"));
102
	$smarty->assign("y_n_val",array("1","0"));
33 lars 103
	$smarty->assign("f_out",array("phpBB","SMF","keines"));
104
	$smarty->assign("f_val",array("1","2","0"));
105
	$smarty->assign("webm_out",array("V-Webmail","Squirrelmail","Keines"));
106
	$smarty->assign("webm_val",array(1,2,0));
6 lars 107
	$values[]="-1";
108
	$out[]="----- Bitte wählen! -----";
109
	for ($i=1;$i<=10;$i++)
110
	{
111
		$values[]=$i*100;
112
		$out[]=$i*100;
113
	}
114
	for ($i=2;$i<=10;$i++)
115
	{
116
		$values[]=$i*1000;
117
		$out[]=$i*1000;
118
	}
119
	$db_values[]="-1";
120
	$db_out[]="----- Bitte wählen! -----";
121
	for ($i=1;$i<=10;$i++)
122
	{
123
		$db_values[]=$i;
124
		$db_out[]=$i;
125
	}
60 lars 126
	$os_values[]="1";
127
	$os_out[]="Gentoo Linux 2007.0";
68 lars 128
	$os_values[]="2";
60 lars 129
	$os_out[]="Debian 4.0 Etch";
6 lars 130
	$smarty->assign("out1",array("Weiterleitung","POP3/IMAP"));
131
	$smarty->assign("val1",array("0","1"));
132
	$smarty->assign("db_out", $db_out);
133
	$smarty->assign("db_val", $db_values);
134
	$smarty->assign("mb_out", $out);
135
	$smarty->assign("mb_val", $values);
60 lars 136
	$smarty->assign("os_out", $os_out);
137
	$smarty->assign("os_val", $os_values);
1 lars 138
	switch($mode)
139
	{
6 lars 140
		case "change":
141
			$smarty->assign("title","Daten ändern");
8 lars 142
			$tpl_file="order.tpl";
6 lars 143
			break;
1 lars 144
		case "step2":
15 lars 145
			$email_opts["use_rfc822"]=true;
146
			$email_opts["check_domain"]=true;
147
			if (!$val->email($email, $email_opts))
148
			{
149
				$smarty->assign("meld","$email ist keine gültige E-Mail Adresse!");
150
				$email_opts["use_rfc822"]=true;
151
				$email_opts["check_domain"]=false;
152
				if (!$val->email($email, $email_opts))
153
				{
154
					$smarty->assign("db_meld","E-Mail Adresse nicht RFC822 konform!");
155
				}
156
				else
157
				{
158
					$email_opts["use_rfc822"]=false;
159
					$email_opts["check_domain"]=true;
160
					if (!$val->email($email, $email_opts))
161
					{
162
						$smarty->assign("db_meld","Domain existiert nicht!");
163
					}
164
				}
165
				$smarty->assign("error", true);
166
				$error=true;
167
			}
14 lars 168
			if (!$error)
169
			{
15 lars 170
				if (strpos($domain,".")===false || $domain[strlen($domain)-1]==".")
171
				{
172
					$smarty->assign("focus","domain");
173
					$smarty->assign("meld","$domain ist keine gültige Domain!");
174
					$error=true;
175
					$smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
176
					$tpl_file="order.tpl";
177
				}
178
				else
179
				{
16 lars 180
					if (!check_domain($domain, $vname, $name))
181
					{
182
						$smarty->assign("meld","Die Domain $domain gehört nicht $vname $name! Eine Benutzung dieser Domain ist daher nur mit einem KK-Antrag und Zustimmung des bisherigen Eigentümser möglich!");
183
					}
23 lars 184
					$smarty->assign("focus","email1");
15 lars 185
					$smarty->assign("title", "E-Mail Konfiguration");
186
					$tpl_file="order2.tpl";
187
				}
14 lars 188
			}
189
			else
190
			{
191
				$smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
192
				$tpl_file="order.tpl";
193
			}
1 lars 194
			break;
195
		case "step3":
69 lars 196
			$smarty->assign("focus","traffic");
197
			$smarty->assign("title","Konfiguration des Traffics");
1 lars 198
			$tpl_file="order3.tpl";
199
			break;
200
		case "step4":
201
			$smarty->assign("title","Zu installierende Software");
202
			$tpl_file="order4.tpl";
203
			break;
204
		case "step5":
33 lars 205
			if($svn && (!$forum || !$copper))
1 lars 206
			{
207
				$smarty->assign("focus","repo");
208
			}
33 lars 209
			if($forum || $copper)
1 lars 210
			{
211
				$smarty->assign("focus","admin_name");
212
			}
213
			$smarty->assign("title","Installierte Software konfigurieren");
214
			$tpl_file="order5.tpl";
215
			break;
216
		case "step6":
217
			$smarty->assign("title","Bitte alle Daten noch einmal kotrollieren!");
218
			$tpl_file="order6.tpl";
219
			break;
220
		case "finish":
69 lars 221
			$save=speichern($name, $vname, $email, $domain, $email_arr, $email_type, $target_arr, $traffic, $os, $webmail, $forum, $copper, $svn, $admin_name, $admin_pw, $repo, $svn_user_arr);
1 lars 222
			if($save)
223
			{
224
				$sql="SELECT k_id FROM kunden where email='$email'";
225
				$res=mysql_query($sql);
226
				$row=mysql_fetch_assoc($res);
227
				$k_id=$row["k_id"];
228
				$pdf=generate_pdf($k_id);
37 lars 229
				$pdf=generate_pdf_lt($k_id);
1 lars 230
				$mail=send_email($k_id);
231
				if($mail)
232
				{
233
					$meld="Deine Bewerbung wurde erfolgreich eingetragen! Ich werde mich möglichst schnell bei Dir melden! Du erhälst jetzt noch eine Auftragsbestätigung!";
234
					$db_meld="";
235
					$error=false;
236
				}
237
				else
238
				{
239
					$meld="Deine Bewerbung wurde erfolgreich eingetragen! Ich werde mich möglichst schnell bei Dir melden! Leider ist beim Versand der Auftragsbestätigung ein Fehler aufgetreten!";
240
					$db_meld="";
241
					$error=false;
242
				}
243
				mysql_query("COMMIT");
244
				send_order($k_id);
245
				$smarty->assign("weiter","PDF-Datei ansehen");
246
				$smarty->assign("upd",true);
33 lars 247
				$smarty->assign("script","pdf/Kunde_$k_id.pdf");
1 lars 248
			}
249
			else
250
			{
251
				$meld="Leider ist ein Fehler aufgetreten! Bitte versuche es später noch einmal!";
252
				$db_meld=mysql_error();
253
				mysql_query("ROLLBACK");
254
				$error=true;
255
			}
256
			$smarty->assign("meld",$meld);
257
			$smarty->assign("db_meld",$db_meld);
258
			$smarty->assign("error",$error);
259
			$smarty->assign("title", "Abschluß der Bestellung");
260
			$tpl_file="finish.tpl";
261
			break;
262
		default:
263
			$smarty->assign("focus","name");
264
			$smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
85 lars 265
			$tpl_file="order_all.tpl";
1 lars 266
			break;
267
	}
268
	$smarty->assign("name",$name);
269
	$smarty->assign("vname",$vname);
270
	$smarty->assign("email",$email);
24 lars 271
	$smarty->assign("email1",$email1);
272
	$smarty->assign("email2",$email2);
273
	$smarty->assign("email3",$email3);
274
	$smarty->assign("email4",$email4);
275
	$smarty->assign("email5",$email5);
276
	$smarty->assign("email6",$email6);
277
	$smarty->assign("email7",$email7);
278
	$smarty->assign("email8",$email8);
279
	$smarty->assign("email9",$email9);
280
	$smarty->assign("email10",$email10);
1 lars 281
	$smarty->assign("domain",$domain);
282
	$smarty->assign("emails",$emails);
18 lars 283
	$smarty->assign("email_type",$email_type);
1 lars 284
	$smarty->assign("targets",$targets);
285
	$smarty->assign("space",$space);
286
	$smarty->assign("traffic",$traffic);
18 lars 287
	$smarty->assign("db_anz",$db_anz);
60 lars 288
	$smarty->assign("os",$os);
19 lars 289
	$smarty->assign("webmail",$webmail);
33 lars 290
	$smarty->assign("forum",$forum);
18 lars 291
	$smarty->assign("copper",$copper);
292
	$smarty->assign("svn",$svn);
293
	$smarty->assign("admin_name",$admin_name);
294
	$smarty->assign("admin_pw",$admin_pw);
1 lars 295
	$smarty->assign("repo",$repo);
296
	$smarty->assign("svn_user",$svn_user);
35 lars 297
 
82 lars 298
	$smarty->assign("tpl_file", $tpl_file);
299
	$smarty->display("page.tpl");
1 lars 300
?>