Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpsession_start();require_once "connect2.php";// $charset laden um die jeweiligen ISO-Zeichensätzte zu laden.require_once "charset.php";$path = "includes/artikel_zusatzinfo/";require_once $path."system.php";if (!$ini = parse_ini_file($path.$webs[ID].".ini",true)){}$html = "";$expName = $_REQUEST['expName']?$_REQUEST['expName']:array_keys($_SESSION['ini']['generateXML']);//die Auswahl der verschiedenen immodienste anzeigenif(!$_REQUEST['mode']){if(($_REQUEST['action'] != "edit")and($_REQUEST['action']!="update")){$html .= buildImmoSelect();}} else {$html .= createXML();}$_SESSION['ini'] = $ini;//echo $html;function buildImmoSelect() {global $webs;global $ini;$html = "";$html .= "<div style=\"padding:20px;\">\n";$html .= "Bitte klicken Sie auf den Immobilien-Anbieter, für den die XML-Dateien generiert werden sollen:";$html .= "\n\n<form name=\"\" action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">\n";foreach($_SESSION['ini']['generateXML'] as $key => $val) {if($val==1){$html .= "<a href=\"".$_SERVER['PHP_SELF']."?mode=all&expName=".$key."\">".$ini[$key]['rs_link_text']."</a> \n";// erstmal hier den ftp_upload anbieten. später dann über webrechte gesteuert.if($ini[$key]){if($ini[$key]['xml_upload']){//$html .= "<a href=\"/content-management/cronjobs/xml_ftpupload.php?expName=".$key."&img_upload=".$ini[$key]['img_upload']."&xml_upload=".$ini[$key]['xml_upload']."&webId=".$webs['ID']."\">zum XML Upload</a>";}}}}$html .= "</form>\n";$html .= "</div>\n";return $html;}//create_XML();function createXML() {global $data; // artikel_zusatzinfo für einen bestimmten Artikelglobal $expName;if(($_REQUEST['artikelId']) and ($_REQUEST['mode']=="single")){if(is_array($expName)){foreach($expName as $key => $val){if($val == "is24"){// einzel-XML-erstellung erstmal auskommentiertis24_single_XML($data,$val);}else{// TODO: die funktion für die anderen anbieter..//...}}}else{if($expName=="is24"){is24_single_XML($data,$expName);}else{// TODO: die funktion für die anderen anbieter..//...}}}if($_REQUEST['mode']=="all"){if(is_array($expName)){foreach($expName as $key => $val){if($val == "is24"){is24_all_XML($val);}else{// TODO: die funktion für die anderen anbieter..//...}}}else{if($expName=="is24"){is24_all_XML($expName);}else{// TODO: die funktion für die anderen anbieter..//...}}}}function is24_single_XML($data,$expName) {global $ini;unset($data['Formular']);unset($data['Rubrik']);$add_data['StatusHP'] = "aktiv";$add_data['StatusIS24'] = "aktiv";$add_data['StatusVBM'] = "aktiv";$add_data['Importmodus'] = "importieren";$add_data['Waehrung'] = "EUR";$imgData = $_SESSION['imgData'];$xw = New xmlWriter(); // Neues xmlWriter Objekt$xw->openMemory(); // Oeffnen eines XML-Dokuments im Speicher$xw->setIndent(TRUE);$xw->startDocument(); // start document// start Rootelement$xw->startElement("IS24ImmobilienTransfer"); // start <IS24ImmobilienTransfer>$xw->writeAttribute("xmlns", "http://www.immobilienscout24.de/immobilientransfer");$xw->writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");$xw->writeAttribute("xsi:schemaLocation", "http://www.immobilienscout24.de/immobilientransfer is24immotransfer.xsd");$xw->writeAttribute("ErstellerSoftware", "is24_xml_gen");$xw->writeAttribute("ErstellerSoftwareVersion","Webagentur Niewerth, Gladbeck");$xw->writeAttribute("EmailBeiFehler", $ini[$expName]['email_on_error']);// start Anbieter$xw->startElement("Anbieter"); // start <Anbieter>$xw->writeAttribute("ScoutKundenID", $ini[$expName]['kundenID']);// start Artikel Properties// Elemente zur Objektbeschreibung Anfang$orig_data = $data;if(is_array($data)){$arrKeys = array_keys($data);$data[$arrKeys[0]][$arrKeys[0]]['AnbieterObjektID'] = $_REQUEST['artikelId']."_".$data[$arrKeys[0]][$arrKeys[0]]['AnbieterObjektID'];//folgende Punkte werden erstmal gelöscht, weil sie am ende nach den multimediaanhängen//angefügt werden müssen.unset($data[$arrKeys[0]]['Kaufpreise']);unset($data[$arrKeys[0]]['Mietpreise']);unset($data[$arrKeys[0]]['BefeuerungsArt']);unset($data[$arrKeys[0]]['Energieausweis']);$xw->startElement($arrKeys[0]);}foreach($data as $key => $val) {if(is_array($val)) {foreach($val as $k => $v){if($k==$arrKeys[0]){foreach($v as $key_ => $val_){if(($key_!="Rubrik")and($key_!="Region")){// arrays werden komma-getrennt übergeben/// wie z.B. bei Multiselect-Boxenif(is_array($val_)){if(strlen($val_)){$val_ = implode(",",$val_);}}if($val_=="on")$val_ = "true";if(strlen($val_)>0){$xw->writeAttribute($key_,trim(utf8_encode(strip_tags($val_))));}}}if(is_array($add_data)){foreach($add_data as $addk => $addv){$xw->writeAttribute($addk,utf8_encode(strip_tags($addv)));}}}else{$xw->startElement($k); // start Objekttypforeach($v as $key_ => $val_){if(($key_!="Rubrik")and($key_!="Region")){// arrays werden komma-getrennt übergeben/// wie z.B. bei Multiselect-Boxenif(is_array($val_)){if(strlen($val_)){$val_ = implode(",",$val_);}}if($val_=="on")$val_ = "true";if(strlen($val_)>0){if(($key_=="Objektbeschreibung")or($key_=="Lage")or($key_=="Ausstattung")or($key_=="SonstigeAngaben")) {$xw->text(trim(utf8_encode(strip_tags($val_))));}else{$xw->writeAttribute($key_,trim(utf8_encode(strip_tags($val_))));}}}}$xw->endElement(); // end Objekttyp}}// die bilder müssen noch angefügt werdenif(is_array($imgData)){foreach($imgData as $key1 => $val1){$xw->startElement('MultimediaAnhang');foreach($imgData[$key1] as $k1 => $v1){$xw->writeAttribute($k1,utf8_encode(strip_tags($v1)));}$xw->endElement(); // close node}}}}if(is_array($orig_data)){$arrKeys = array_keys($orig_data);}foreach($orig_data[$arrKeys[0]] as $key => $val) {if(is_array($val)){$build = 0;if(($key == "Kaufpreise")or($key == "Mietpreise")){foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($v){if($v == "on")$v = "true";$xw->writeAttribute($k,trim(utf8_encode(strip_tags($v))));}}}$xw->endElement(); // close node $arrKeys[0]}if($key == "BefeuerungsArt"){$build = 0;foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($k){if($v){foreach($v as $k_ => $v_){$xw->startElement($v_);$xw->endElement();}}}}}$xw->endElement(); // close node $arrKeys[0]}if($key == "Energieausweis"){$build = 0;foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($k){if($v){if($v == "on")$v = "true";$xw->writeAttribute($k,trim(utf8_encode(strip_tags($v))));}}}}$xw->endElement(); // close node $arrKeys[0]}}}$xw->endElement(); // close node $arrKeys[0]$xw->endElement(); // close node <Anbieter>// close Rootelement$xw->endElement(); // close node <IS24ImmobilienTransfer>// end document$xw->endDocument();//speichern in XML datei// IhrDateiname_st_ZJH_imt.xml$filepath = "/web/apache/content-management/xml/".$expName."/".$ini['web']['xmlFolder']."/";$filename = $_POST['artikelId']."_".$ini['web']['xmlPrefix'].$expName."_st_ZJH_imt.xml";if($fp = fopen($filepath.$filename,"w")) {fputs($fp,$xw->outputMemory());fclose($fp);build_log($_POST['artikelId'],"xml_export","/xml/".$expName."/".$ini['web']['xmlFolder']."/".$filename);}echo $xw->outputMemory(); // Ausgabe des erzeugten XML}function is24_all_XML($expName) {global $ini;echo buildImmoSelect();$sql = "select a.artikel_zusatzinfo as data,a.ID as artikelIdfrom artikel a,directory dwhere a.Father in(select directory.ID as dirId from directory where d.sichtbar=1 and a.Father = d.Id)and immo_export_".$ini[$expName]['immoExportId']."=1order by a.ID";$add_data['StatusHP'] = "aktiv";$add_data['StatusIS24'] = "aktiv";$add_data['StatusVBM'] = "aktiv";$add_data['Importmodus'] = "importieren";$add_data['Waehrung'] = "EUR";if($q=mysql_query($sql)) {while($r=mysql_fetch_assoc($q)){if($r['data']){$data = unserialize($r['data']);}$imgData = is24_getImgData($ini,$expName,$r['artikelId']);unset($data['Formular']);unset($data['Rubrik']);$xw = New xmlWriter(); // Neues xmlWriter Objekt$xw->openMemory(); // Oeffnen eines XML-Dokuments im Speicher$xw->setIndent(TRUE);$xw->startDocument(); // start document// start Rootelement$xw->startElement("IS24ImmobilienTransfer"); // start <IS24ImmobilienTransfer>$xw->writeAttribute("xmlns", "http://www.immobilienscout24.de/immobilientransfer");$xw->writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");$xw->writeAttribute("xsi:schemaLocation", "http://www.immobilienscout24.de/immobilientransfer is24immotransfer.xsd");$xw->writeAttribute("ErstellerSoftware", "is24_xml_gen");$xw->writeAttribute("ErstellerSoftwareVersion","Webagentur Niewerth, Gladbeck");$xw->writeAttribute("EmailBeiFehler", $ini[$expName]['email_on_error']);// start Anbieter$xw->startElement("Anbieter"); // start <Anbieter>$xw->writeAttribute("ScoutKundenID", $ini[$expName]['kundenID']);// start Artikel Properties// Elemente zur Objektbeschreibung Anfang$orig_data = $data;if(is_array($data)){$arrKeys = array_keys($data);$data[$arrKeys[0]][$arrKeys[0]]['AnbieterObjektID'] = $r['artikelId']."_".$data[$arrKeys[0]][$arrKeys[0]]['AnbieterObjektID'];//folgende Punkte werden erstmal gelöscht, weil sie am ende nach den multimediaanhängen//angefügt werden müssen.unset($data[$arrKeys[0]]['Kaufpreise']);unset($data[$arrKeys[0]]['Provision']);unset($data[$arrKeys[0]]['Mietpreise']);unset($data[$arrKeys[0]]['BefeuerungsArt']);unset($data[$arrKeys[0]]['Energieausweis']);$xw->startElement($arrKeys[0]);}foreach($data as $key => $val) {if(is_array($val)) {foreach($val as $k => $v){if($k==$arrKeys[0]){foreach($v as $key_ => $val_){if(($key_!="Rubrik")and($key_!="Region")){// arrays werden komma-getrennt übergeben/// wie z.B. bei Multiselect-Boxenif(is_array($val_)){if(strlen($val_)){$val_ = implode(",",$val_);}}if($val_=="on")$val_ = "true";if(strlen($val_)>0){$xw->writeAttribute($key_,trim(utf8_encode(strip_tags($val_))));}}}if(is_array($add_data)){foreach($add_data as $addk => $addv){$xw->writeAttribute($addk,utf8_encode(strip_tags($addv)));}}}else{$xw->startElement($k); // start Objekttypforeach($v as $key_ => $val_){if(($key_!="Rubrik")and($key_!="Region")){// arrays werden komma-getrennt übergeben/// wie z.B. bei Multiselect-Boxenif(is_array($val_)){if(strlen($val_)){$val_ = implode(",",$val_);}}if($val_=="on")$val_ = "true";if(strlen($val_)>0){if(($key_=="Objektbeschreibung")or($key_=="Lage")or($key_=="Ausstattung")or($key_=="SonstigeAngaben")){$xw->text(trim(utf8_encode(strip_tags($val_))));}else{$xw->writeAttribute($key_,trim(utf8_encode(strip_tags($val_))));}}}}$xw->endElement(); // end Objekttyp}}// die bilder müssen noch angefügt werdenif(is_array($imgData)){foreach($imgData as $key1 => $val1){$xw->startElement('MultimediaAnhang');foreach($imgData[$key1] as $k1 => $v1){$xw->writeAttribute($k1,utf8_encode(strip_tags($v1)));}$xw->endElement(); // close node}}}}if(is_array($orig_data)){$arrKeys = array_keys($orig_data);}foreach($orig_data[$arrKeys[0]] as $key => $val) {if(is_array($val)){$build = 0;if(($key == "Kaufpreise")or($key == "Mietpreise")or($key=="Provision")){foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($v){if($v == "on")$v = "true";$xw->writeAttribute($k,trim(utf8_encode(strip_tags($v))));}}}$xw->endElement(); // close node $arrKeys[0]}if($key == "BefeuerungsArt"){$build = 0;foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($k){if($v){foreach($v as $k_ => $v_){$xw->startElement($v_);$xw->endElement();}}}}}$xw->endElement(); // close node $arrKeys[0]}if($key == "Energieausweis"){$build = 0;foreach($val as $k => $v){if($k){if($v){$build=1;}}}if($build==1){$xw->startElement($key);foreach($val as $k => $v){if($k){if($v){if($v == "on")$v = "true";$xw->writeAttribute($k,trim(utf8_encode(strip_tags($v))));}}}}$xw->endElement(); // close node $arrKeys[0]}}}$xw->endElement(); // close node $arrKeys[0]$xw->endElement(); // close node <Anbieter>// close Rootelement$xw->endElement(); // close node <IS24ImmobilienTransfer>// end document$xw->endDocument();//speichern in XML datei// IhrDateiname_st_ZJH_imt.xml$filepath = "/web/apache/content-management/xml/".$expName."/".$ini['web']['xmlFolder']."/";$filename = $r['artikelId']."_".$ini['web']['xmlPrefix'].$expName."_st_ZJH_imt.xml";if($fp = fopen($filepath.$filename,"w")) {fputs($fp,$xw->outputMemory());fclose($fp);echo "<div style=\"padding-left:20px;\">Datei '<a href=\"/xml/".$expName."/".$ini['web']['xmlFolder']."/".$filename."\">".$filename."</a>' wurde erstellt.</div>\n";build_log($r['artikelId'],"xml_export","/xml/".$expName."/".$ini['web']['xmlFolder']."/".$filename);}//echo $xw->outputMemory(); // Ausgabe des erzeugten XML}//end while} //end if}?>