Subversion-Projekte lars-tiefland.webhosting

Revision

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