Subversion-Projekte lars-tiefland.webhosting

Revision

Revision 60 | Revision 68 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

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