$len=strlen($_POST['hdnr']);
# Fallunterscheidung:
# 1. Fall: HD-Nummer kleiner/gleich 6 Stellen (alte Pro-Car Nummer)
# Voranstellen von PC an die HDNummer.
# Einfügen von "Leerstellen" (Bindestriche) zwischen PC und der eigentlichen Nummer
if($len<=6){
$hdarray[0]="PC";
for($i=1;$i<6;$i++){
$hdarray[$i]="-";
}
for($i=6;$i<=11;$i++){
$hdarray[$i]=substr($_POST['hdnr'],$i-6,1);
}
}
# 2. Fall: HD-Nummer größer 6 Stellen (Mapfre-Pro-Car Nummer)
# Voranstellen von PC an die HDNummer
else if($len>6&&$len<=11){
$hdarray[0]="PC";
for($i=1;$i<=11;$i++){
$hdarray[$i]=substr($_POST['hdnr'],$i-1,1);
}
}
# Öffnen der Datei "vorlage.xml" und Auslesen des Inhaltes in
# $content.
$vorlage = "vorlage.xml";
$readhandler = fopen($vorlage,'r');
$content = fread($readhandler,filesize($vorlage));
# Iteratives Ersetzen der HD-Nr-Platzhalter
for($j=10;$j<=21;$j++){
$content = str_replace("#".$j,$hdarray[$j-10],$content);
}
# Checkbox setzen, wenn CB im Formular gefüllt/gesetzt ist
if($_POST['cb_Allrad']=="on")
$content = str_replace('val_id="cb_Allrad">/////2','val_id="cb_Allrad">/////w',$content);
if($_POST['cb_Transporter']=="on")
$content = str_replace('val_id="cb_Transporter">/////2','val_id="cb_Transporter">/////w',$content);
if($_POST['cb_PKW']=="on")
$content = str_replace('val_id="cb_PKW">/////2','val_id="cb_PKW">/////w',$content);
if($_POST['cb_Schalter']=="on")
$content = str_replace('val_id="cb_Schalter">/////2','val_id="cb_Schalter">/////w',$content);
if($_POST['cb_Automatik']=="on")
$content = str_replace('val_id="cb_Multitronik">/////2','val_id="cb_Multitronik">/////w',$content);
if($_POST['cb_Multitronik']=="on")
$content = str_replace('val_id="cb_Automatik">/////2','val_id="cb_Automatik">/////w',$content);
if($_POST['cb_Turbolader_Ja']=="on")
$content = str_replace('val_id="cb_Turbolader">/////2','val_id="cb_Turbolader">/////w',$content);
if($_POST['cb_Miet_FS_Ja']=="on")
$content = str_replace('val_id="cb_Miet_FS_Ja">/////2','val_id="cb_Miet_FS_Ja">/////w',$content);
if($_POST['cb_Miet_FS_Nein']=="on")
$content = str_replace('val_id="cb_Miet_FS_Nein">/////2','val_id="cb_Miet_FS_Nein">/////w',$content);
if($_POST['cb_Zweck_Privat']=="on")
$content = str_replace('val_id="cb_Zweck_Privat">/////2','val_id="cb_Zweck_Privat">/////w',$content);
if($_POST['cb_Zweck_Gewerblich']=="on")
$content = str_replace('val_id="cb_Zweck_Gewerblich">/////2','val_id="cb_Zweck_Gewerblich">/////w',$content);
# Überführen der restlichen Formularfelder
# in ein Daten-Array $data
$counter=0;
foreach($_POST as $key=>$value){
$data[$counter-1] = $value;
#Debug-Informationen über Daten im Array $data[]
echo "[".$counter."]";
#print_r($data[$counter-1]);
print_r("[".$key."] ");
print_r($value);
echo "<br/>";
$counter++;
}
exit();
# Definition von Search- and Replace-Arrays
# zur Ersetzung von Sonderzeichen und Umlauten
# vor dem Schreiben in die XML
$search = array('Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', 'ß');
$replace = array('Ae', 'Oe', 'Ue','ae', 'oe', 'ue', 'ss');
# Iteratives Ersetzen
for($c=1;$c<11;$c++){
$string = str_replace($search, $replace, $data[$c]);
$content = str_replace('#'.($c+30),$string,$content);
}
# Erstzulassungsdatum erzeugen und #41 damit ersetzen
$content = str_replace('#41',$data['11'].".".$data['12'].".".$data['13'],$content);
# Iteratives Ersetzen
for($c=14;$c<18;$c++){
$string = str_replace($search, $replace, $data[$c]);
$content = str_replace('#'.($c+30),$string,$content);
}
# PS aus KW berechnen und #56 ersetzen
$content = str_replace('#56',round($data['16']*1.36,0),$content);
# Iteratives Ersetzen
for($c=21;$c<26;$c++){
$string = str_replace($search, $replace, $data[$c]);
$content = str_replace('#'.($c+30),$string,$content);
}
# aktuelles Datum generieren und #57 ersetzen
$content = str_replace('#57',date("d.m.Y",time()),$content);
# XML-Datei erzeugen
$writehandler = fopen("anfrage.xml",'w');
# Fehlerbehandlung, wenn kein Schreibzugriff auf das Dateisystem
if(!$writehandler){
print("Cannot create file");
exit;
}
# Fehlerbehandlung, wenn Datei von anderem Prozess verwendet wird
# und der Inhalt nicht geschrieben werden kann,
# ansonsten, den Inhalt $content an den writehandler übergeben
if(!fwrite($writehandler,$content)){
print("Cannot write content");
exit;
};
# Datei schließen
fclose($writehandler);