Subversion-Projekte lars-tiefland.webhosting

Revision

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