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