Subversion-Projekte lars-tiefland.webhosting

Revision

Revision 82 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?
        // $URL: file:///svn/repos/webhosting/trunk/order.php $ last modified in Revision $Rev: 85 $ by $Author: lars $ at $Date: 2010-06-19 19:22:36 +0200 (Sa, 19 Jun 2010) $
        define(MAX_EMAIL,10);
        
        require("functions.php");

        //Smarty
        require("libs/Smarty.class.php");
        $smarty=new Smarty();

        //PEAR
        require ("Validate.php");
        $val=new Validate();

        //Variablen
        $mode=isset($_POST["mode"])?$_POST["mode"]:"step1";
        $name=addslashes((isset($_POST["name"]))?$_POST["name"]:"");
        $vname=addslashes((isset($_POST["firstname"]))?$_POST["firstname"]:"");
        $email=addslashes((isset($_POST["email"]))?$_POST["email"]:"");
        $domain=addslashes((isset($_POST["domain"]))?$_POST["domain"]:"");
        $email1=addslashes((isset($_POST["email1"]) && !empty($_POST["email1"]))?$_POST["email1"]:"");
        $email2=addslashes((isset($_POST["email2"]) && !empty($_POST["email2"]))?$_POST["email2"]:"");
        $email3=addslashes((isset($_POST["email3"]) && !empty($_POST["email3"]))?$_POST["email3"]:"");
        $email4=addslashes((isset($_POST["email4"]) && !empty($_POST["email4"]))?$_POST["email4"]:"");
        $email5=addslashes((isset($_POST["email5"]) && !empty($_POST["email5"]))?$_POST["email5"]:"");
        $email6=addslashes((isset($_POST["email6"]) && !empty($_POST["email6"]))?$_POST["email6"]:"");
        $email7=addslashes((isset($_POST["email7"]) && !empty($_POST["email7"]))?$_POST["email7"]:"");
        $email8=addslashes((isset($_POST["email8"]) && !empty($_POST["email8"]))?$_POST["email8"]:"");
        $email8=addslashes((isset($_POST["email9"]) && !empty($_POST["email9"]))?$_POST["email9"]:"");
        $email10=addslashes((isset($_POST["email10"]) && !empty($_POST["email10"]))?$_POST["email10"]:"");
        $emails=addslashes((isset($_POST["emails"]))?$_POST["emails"]:"");
        if ($emails=="")
        {
                $emails.="$email1@$domain\n";
                $emails.=($email2)?"$email2@$domain\n":"";
                $emails.=($email3)?"$email3@$domain\n":"";
                $emails.=($email4)?"$email4@$domain\n":"";
                $emails.=($email5)?"$email5@$domain\n":"";
                $emails.=($email6)?"$email6@$domain\n":"";
                $emails.=($email7)?"$email7@$domain\n":"";
                $emails.=($email8)?"$email8@$domain\n":"";
                $emails.=($email9)?"$email9@$domain\n":"";
                $emails.=($email10)?"$email10@$domain\n":"";
        }
        $emails=trim($emails);
        $email_type=intval((isset($_POST["email_type"]))?$_POST["email_type"]:-1);
        $targets=addslashes((isset($_POST["targets"]))?$_POST["targets"]:"");
        $traffic=intval((isset($_POST["traffic"]))?$_POST["traffic"]:100);
        $os=intval((isset($_POST["os"]))?$_POST["os"]:1);
        $webmail=intval((isset($_POST["webmail"]))?$_POST["webmail"]:1);
        $forum=intval((isset($_POST["forum"]))?$_POST["forum"]:1);
        $copper=intval((isset($_POST["copper"]))?$_POST["copper"]:0);
        $svn=intval((isset($_POST["svn"]))?$_POST["svn"]:0);
        $admin_name=addslashes((isset($_POST["admin_name"]))?$_POST["admin_name"]:"");
        $admin_pw=addslashes((isset($_POST["admin_pw"]))?$_POST["admin_pw"]:"");
        $repo=addslashes((isset($_POST["repo"]))?$_POST["repo"]:"");
        $svn_user=addslashes((isset($_POST["svn_user"]))?$_POST["svn_user"]:"");

        $email_arr=explode("\n",$emails);
        $email1=($email_arr[0])?substr($email_arr[0],0,strpos($email_arr[0],"@")):"";
        $email2=($email_arr[1])?substr($email_arr[1],0,strpos($email_arr[1],"@")):"";
        $email3=($email_arr[1])?substr($email_arr[2],0,strpos($email_arr[2],"@")):"";
        $email4=($email_arr[2])?substr($email_arr[3],0,strpos($email_arr[3],"@")):"";
        $email5=($email_arr[4])?substr($email_arr[4],0,strpos($email_arr[4],"@")):"";
        $email6=($email_arr[5])?substr($email_arr[5],0,strpos($email_arr[5],"@")):"";
        $email7=($email_arr[6])?substr($email_arr[6],0,strpos($email_arr[6],"@")):"";
        $email8=($email_arr[7])?substr($email_arr[7],0,strpos($email_arr[7],"@")):"";
        $email9=($email_arr[8])?substr($email_arr[8],0,strpos($email_arr[8],"@")):"";
        $email10=($email_arr[9])?substr($email_arr[9],0,strpos($email_arr[9],"@")):"";
        $target_arr=explode("\n",$targets);
        $svn_user_arr=explode("\n",$svn_user);
        $e_anz=count($email_arr);
        $t_anz=count($target_arr);
        if($t_anz < $e_anz && $email_type==0)
        {
                $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!");
                $smarty->assign("db_meld","");
                $smarty->assign("error",false);
        }
        if($t_anz > $e_anz && $email_type==0)
        {
                $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!");
                $smarty->assign("db_meld","");
                $smarty->assign("error",false);
        }

        if ($e_anz > MAX_EMAIL)
        {
                $smarty->assign("meld","Du hast mehr als ".MAX_EMAIL." E-Mail Adressen angegeben. Bitte verkleinere die Anzahl!");
                $smarty->assign("db_meld","");
                $error=true;
                $smarty->assign("error",$error);
        }
        if ($t_anz > MAX_EMAIL)
        {
                $smarty->assign("meld","Du hast mehr als ".MAX_EMAIL." Zieladressen angegeben. Bitte verkleinere die Anzahl!");
                $smarty->assign("db_meld","");
                $error=true;
                $smarty->assign("error",$error);
        }
        $smarty->assign("y_n_out",array("ja","nein"));
        $smarty->assign("y_n_val",array("1","0"));
        $smarty->assign("f_out",array("phpBB","SMF","keines"));
        $smarty->assign("f_val",array("1","2","0"));
        $smarty->assign("webm_out",array("V-Webmail","Squirrelmail","Keines"));
        $smarty->assign("webm_val",array(1,2,0));
        $values[]="-1";
        $out[]="----- Bitte wählen! -----";
        for ($i=1;$i<=10;$i++)
        {
                $values[]=$i*100;
                $out[]=$i*100;
        }
        for ($i=2;$i<=10;$i++)
        {
                $values[]=$i*1000;
                $out[]=$i*1000;
        }
        $db_values[]="-1";
        $db_out[]="----- Bitte wählen! -----";
        for ($i=1;$i<=10;$i++)
        {
                $db_values[]=$i;
                $db_out[]=$i;
        }
        $os_values[]="1";
        $os_out[]="Gentoo Linux 2007.0";
        $os_values[]="2";
        $os_out[]="Debian 4.0 Etch";
        $smarty->assign("out1",array("Weiterleitung","POP3/IMAP"));
        $smarty->assign("val1",array("0","1"));
        $smarty->assign("db_out", $db_out);
        $smarty->assign("db_val", $db_values);
        $smarty->assign("mb_out", $out);
        $smarty->assign("mb_val", $values);
        $smarty->assign("os_out", $os_out);
        $smarty->assign("os_val", $os_values);
        switch($mode)
        {
                case "change":
                        $smarty->assign("title","Daten ändern");
                        $tpl_file="order.tpl";
                        break;
                case "step2":
                        $email_opts["use_rfc822"]=true;
                        $email_opts["check_domain"]=true;
                        if (!$val->email($email, $email_opts))
                        {
                                $smarty->assign("meld","$email ist keine gültige E-Mail Adresse!");
                                $email_opts["use_rfc822"]=true;
                                $email_opts["check_domain"]=false;
                                if (!$val->email($email, $email_opts))
                                {
                                        $smarty->assign("db_meld","E-Mail Adresse nicht RFC822 konform!");
                                }
                                else
                                {
                                        $email_opts["use_rfc822"]=false;
                                        $email_opts["check_domain"]=true;
                                        if (!$val->email($email, $email_opts))
                                        {
                                                $smarty->assign("db_meld","Domain existiert nicht!");
                                        }
                                }
                                $smarty->assign("error", true);
                                $error=true;
                        }
                        if (!$error)
                        {
                                if (strpos($domain,".")===false || $domain[strlen($domain)-1]==".")
                                {
                                        $smarty->assign("focus","domain");
                                        $smarty->assign("meld","$domain ist keine gültige Domain!");
                                        $error=true;
                                        $smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
                                        $tpl_file="order.tpl";
                                }
                                else
                                {
                                        if (!check_domain($domain, $vname, $name))
                                        {
                                                $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!");
                                        }
                                        $smarty->assign("focus","email1");
                                        $smarty->assign("title", "E-Mail Konfiguration");
                                        $tpl_file="order2.tpl";
                                }
                        }
                        else
                        {
                                $smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
                                $tpl_file="order.tpl";
                        }
                        break;
                case "step3":
                        $smarty->assign("focus","traffic");
                        $smarty->assign("title","Konfiguration des Traffics");
                        $tpl_file="order3.tpl";
                        break;
                case "step4":
                        $smarty->assign("title","Zu installierende Software");
                        $tpl_file="order4.tpl";
                        break;
                case "step5":
                        if($svn && (!$forum || !$copper))
                        {
                                $smarty->assign("focus","repo");
                        }
                        if($forum || $copper)
                        {
                                $smarty->assign("focus","admin_name");
                        }
                        $smarty->assign("title","Installierte Software konfigurieren");
                        $tpl_file="order5.tpl";
                        break;
                case "step6":
                        $smarty->assign("title","Bitte alle Daten noch einmal kotrollieren!");
                        $tpl_file="order6.tpl";
                        break;
                case "finish":
                        $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);
                        if($save)
                        {
                                $sql="SELECT k_id FROM kunden where email='$email'";
                                $res=mysql_query($sql);
                                $row=mysql_fetch_assoc($res);
                                $k_id=$row["k_id"];
                                $pdf=generate_pdf($k_id);
                                $pdf=generate_pdf_lt($k_id);
                                $mail=send_email($k_id);
                                if($mail)
                                {
                                        $meld="Deine Bewerbung wurde erfolgreich eingetragen! Ich werde mich möglichst schnell bei Dir melden! Du erhälst jetzt noch eine Auftragsbestätigung!";
                                        $db_meld="";
                                        $error=false;
                                }
                                else
                                {
                                        $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!";
                                        $db_meld="";
                                        $error=false;
                                }
                                mysql_query("COMMIT");
                                send_order($k_id);
                                $smarty->assign("weiter","PDF-Datei ansehen");
                                $smarty->assign("upd",true);
                                $smarty->assign("script","pdf/Kunde_$k_id.pdf");
                        }
                        else
                        {
                                $meld="Leider ist ein Fehler aufgetreten! Bitte versuche es später noch einmal!";
                                $db_meld=mysql_error();
                                mysql_query("ROLLBACK");
                                $error=true;
                        }
                        $smarty->assign("meld",$meld);
                        $smarty->assign("db_meld",$db_meld);
                        $smarty->assign("error",$error);
                        $smarty->assign("title", "Abschluß der Bestellung");
                        $tpl_file="finish.tpl";
                        break;
                default:
                        $smarty->assign("focus","name");
                        $smarty->assign("title", "Ich möchte auf dem Server von Lars Tiefland gehostet werden");
                        $tpl_file="order_all.tpl";
                        break;
        }
        $smarty->assign("name",$name);
        $smarty->assign("vname",$vname);
        $smarty->assign("email",$email);
        $smarty->assign("email1",$email1);
        $smarty->assign("email2",$email2);
        $smarty->assign("email3",$email3);
        $smarty->assign("email4",$email4);
        $smarty->assign("email5",$email5);
        $smarty->assign("email6",$email6);
        $smarty->assign("email7",$email7);
        $smarty->assign("email8",$email8);
        $smarty->assign("email9",$email9);
        $smarty->assign("email10",$email10);
        $smarty->assign("domain",$domain);
        $smarty->assign("emails",$emails);
        $smarty->assign("email_type",$email_type);
        $smarty->assign("targets",$targets);
        $smarty->assign("space",$space);
        $smarty->assign("traffic",$traffic);
        $smarty->assign("db_anz",$db_anz);
        $smarty->assign("os",$os);
        $smarty->assign("webmail",$webmail);
        $smarty->assign("forum",$forum);
        $smarty->assign("copper",$copper);
        $smarty->assign("svn",$svn);
        $smarty->assign("admin_name",$admin_name);
        $smarty->assign("admin_pw",$admin_pw);
        $smarty->assign("repo",$repo);
        $smarty->assign("svn_user",$svn_user);
        
        $smarty->assign("tpl_file", $tpl_file);
        $smarty->display("page.tpl");
?>