| 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 |
?>
|