| 1 |
lars |
1 |
<?php
|
|
|
2 |
/**
|
|
|
3 |
* XML_Serializer
|
|
|
4 |
*
|
|
|
5 |
* Creates XML documents from PHP data structures like arrays, objects or scalars.
|
|
|
6 |
*
|
|
|
7 |
* PHP versions 4 and 5
|
|
|
8 |
*
|
|
|
9 |
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
|
|
10 |
* that is available through the world-wide-web at the following URI:
|
|
|
11 |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
|
|
12 |
* the PHP License and are unable to obtain it through the web, please
|
|
|
13 |
* send a note to license@php.net so we can mail you a copy immediately.
|
|
|
14 |
*
|
|
|
15 |
* @category XML
|
|
|
16 |
* @package ImmoScout24Export
|
|
|
17 |
* @author Markus Niewerth <markus@weban.de>
|
|
|
18 |
* @copyright 1997-2007 The PHP Group
|
|
|
19 |
* @license http://www.php.net/license/3_0.txt PHP License 3.0
|
|
|
20 |
* @version CVS: $Id: ImmoScout24Export.php,v 1.0 2007/09/27 9:45:30 markusniewerth Exp $
|
|
|
21 |
* @link http://pear.php.net/package/XML_Serializer
|
|
|
22 |
* @see XML_Unserializer
|
|
|
23 |
*/
|
|
|
24 |
|
|
|
25 |
// error_reporting(E_ALL ^ E_WARNING);
|
|
|
26 |
|
|
|
27 |
// Klasse anfordern
|
|
|
28 |
require_once "/web/apache/content-management/classes/ImmoScout24Export.php";
|
|
|
29 |
// Datenbank verbindung zur Hauptdatenbank
|
|
|
30 |
require_once "/web/apache/content-management/Online-Shop/connect2.php";
|
|
|
31 |
|
|
|
32 |
$webs_id = 97;
|
|
|
33 |
$propertie = 508;
|
|
|
34 |
$remote_db_name = $webs['datenbank'];
|
|
|
35 |
|
|
|
36 |
$sql =
|
|
|
37 |
"
|
|
|
38 |
SELECT * FROM
|
|
|
39 |
$database_name.webs w ,
|
|
|
40 |
$database_name.webs_properties wp
|
|
|
41 |
WHERE
|
|
|
42 |
wp.webs=$webs_id
|
|
|
43 |
AND
|
|
|
44 |
w.ID=$webs_id
|
|
|
45 |
AND
|
|
|
46 |
wp.properties=$propertie
|
|
|
47 |
";
|
|
|
48 |
|
|
|
49 |
$sql2 =
|
|
|
50 |
"
|
|
|
51 |
SELECT
|
|
|
52 |
a.*,
|
|
|
53 |
d.ID AS dID,
|
|
|
54 |
d.Language AS dLanguage,
|
|
|
55 |
d.Father AS dFather,
|
|
|
56 |
d.sichtbar AS dSichtbar,
|
|
|
57 |
d.range AS dRange,
|
|
|
58 |
d.Name AS dName,
|
|
|
59 |
d.Kennung AS dKennung,
|
|
|
60 |
d.linkDirFather AS dlinkDirFather,
|
|
|
61 |
d.bild_url AS dBild_url,
|
|
|
62 |
d.bild_url2 AS dBild_url2,
|
|
|
63 |
d.bild_url3 AS dBild_url3,
|
|
|
64 |
d.bild_url4 AS dBild_url4,
|
|
|
65 |
d.bild_url5 AS dBild_url5,
|
|
|
66 |
d.short_line_1 AS dShort_line_1,
|
|
|
67 |
d.short_line_2 AS dShort_line_2,
|
|
|
68 |
d.short_line_3 AS dShort_line_3,
|
|
|
69 |
d.short_line_4 AS dShort_line_4,
|
|
|
70 |
d.short_line_5 AS dShort_line_5,
|
|
|
71 |
d.Beschreibung AS dBeschreibung,
|
|
|
72 |
d.Beschreibung2 AS dBeschreibung2,
|
|
|
73 |
d.Artikelstamm AS dArtikelstamm,
|
|
|
74 |
d.status AS dStatus,
|
|
|
75 |
d.erstellt_am AS dErstellt_am,
|
|
|
76 |
d.erstellt_von AS dErstellt_von,
|
|
|
77 |
d.letzte_Aenderung_am AS dLetzte_Aenderung_am,
|
|
|
78 |
d.letzte_Aenderung_von AS dLetzte_Aenderung_von
|
|
|
79 |
FROM
|
|
|
80 |
$remote_db_name.artikel a ,
|
|
|
81 |
$remote_db_name.directory d
|
|
|
82 |
WHERE
|
|
|
83 |
d.ID=a.Father
|
|
|
84 |
AND
|
|
|
85 |
(
|
|
|
86 |
immo_export_0 = 1
|
|
|
87 |
OR
|
|
|
88 |
immo_export_1 = 1
|
|
|
89 |
OR
|
|
|
90 |
immo_export_2 = 1
|
|
|
91 |
)
|
|
|
92 |
";
|
|
|
93 |
|
|
|
94 |
// directory: ID Language Father sichtbar range Name Kennung linkDirFather bild_url bild_url2 bild_url3 bild_url4 bild_url5 short_line_1 short_line_2 short_line_3 short_line_4 short_line_5 Beschreibung Beschreibung2 Artikelstamm status erstellt_am erstellt_von letzte_Aenderung_am letzte_Aenderung_von
|
|
|
95 |
|
|
|
96 |
// artikel: ID Language Father kennung Rang hersteller kurzbezeichnung langbezeichnung EAN beschreibung short_line_1 short_line_2 short_line_3 short_line_4 short_line_5 short_line_6 short_line_7 short_line_8 short_line_9 short_line_10 bild_1_url bildunterschrift_1 bild_position_1 bild_2_url bildunterschrift_2
|
|
|
97 |
// bild_position_2 bild_3_url bildunterschrift_3 bild_position_3 bild_4_url bildunterschrift_4 bild_position_4 bild_5_url bildunterschrift_5 bild_position_5 bild_6_url bildunterschrift_6 bild_position_6 bild_7_url bildunterschrift_7 bild_position_7 gewicht preis1 preis2 preis3 preis4 preis5 preis6 preis7 preis8
|
|
|
98 |
// autoupdate1 autoupdate2 autoupdate3 autoupdate4 autoupdate5 autoupdate6 preis_neu1 preis_neu2 preis_neu3 preis_neu4 preis_neu5 preis_neu6 tax1 tax2 tax3 tax4 tax5 tax6 Lieferstatus LieferstatusMaintainer status Eigenschaft_1 Eigenschaft_2 Eigenschaft_3 Eigenschaft_4 Eigenschaft_5 Eigenschaft_6 Eigenschaft_7
|
|
|
99 |
// Eigenschaft_8 immo_export_0 immo_export_1 immo_export_2 suchbegriffe artikel_zusatzinfo gueltig_von gueltig_bis erstellt_am erstellt_von letzte_Aenderung_am letzte_Aenderung_von
|
|
|
100 |
|
|
|
101 |
// $webs[db_server], $webs[db_username], $webs[db_password], $webs[datenbank]
|
|
|
102 |
|
|
|
103 |
/*
|
|
|
104 |
[ID] => 42673
|
|
|
105 |
[kunde] => GWG
|
|
|
106 |
[datenbank] => gwg_gladbeck_de
|
|
|
107 |
[db_server] =>
|
|
|
108 |
[db_username] =>
|
|
|
109 |
[db_password] =>
|
|
|
110 |
[domain] => gwg-gladbeck.de
|
|
|
111 |
[domain_logo] => 97.jpg
|
|
|
112 |
[kunde_bezeichnung] => GWG
|
|
|
113 |
[kunde_begruessung] => Herzlich wilkommen!
|
|
|
114 |
[bgcolor_seite] => FFFFFF
|
|
|
115 |
[bgcolor_links] => 005B44
|
|
|
116 |
[bgcolor_rechts] => FFFFFF
|
|
|
117 |
[font_color_rechts] => 000000
|
|
|
118 |
[font_color_links] => FFFFFF
|
|
|
119 |
[font_color_seite] => 000000
|
|
|
120 |
[hintergrundbild] =>
|
|
|
121 |
[verzeichnis] => /web/apache/gwg-gladbeck.de
|
|
|
122 |
[erstellt_am] => 2007-07-03 08:43:58
|
|
|
123 |
[erstellt_von] => admin
|
|
|
124 |
[letzte_Aenderung_am] => 2007-12-12 15:57:22
|
|
|
125 |
[letzte_Aenderung_von] => admin
|
|
|
126 |
[max_artikel] => 0
|
|
|
127 |
[max_Aktionsartikel] => 0
|
|
|
128 |
[Shop_tree_Breite] =>
|
|
|
129 |
[FTP_server] => gwg-gladbeck.de
|
|
|
130 |
[FTP_user] => gwg-gladbeck.de
|
|
|
131 |
[FTP_passwd] => g-w7-a
|
|
|
132 |
[FTP_passiv] => 0
|
|
|
133 |
[system_copyright] =>
|
|
|
134 |
[remoteHosts] =>
|
|
|
135 |
[webs] => 97
|
|
|
136 |
[properties] => 508
|
|
|
137 |
[Bezeichnung] => immobilienscout24;immonet;immopool
|
|
|
138 |
*/
|
|
|
139 |
|
|
|
140 |
$query = mysql_query ($sql) or print
|
|
|
141 |
(
|
|
|
142 |
"<hr><h2>Error</h2>Fehler im MySql Kommando: <br>".mysql_errno().": ".mysql_error()."<br><textarea style='width: 400; height: 400;'>$sql</textarea>"
|
|
|
143 |
);
|
|
|
144 |
|
|
|
145 |
while ( $configData=mysql_fetch_assoc($query) )
|
|
|
146 |
{
|
|
|
147 |
print_r($configData);
|
|
|
148 |
$portals = explode(";", $configData['Bezeichnung']);
|
|
|
149 |
}
|
|
|
150 |
|
|
|
151 |
// Konfiguration
|
|
|
152 |
$config = array(
|
|
|
153 |
'username' => $configData['FTP_user'],
|
|
|
154 |
'password' => $configData['FTP_passwd'],
|
|
|
155 |
'hostname' => $configData['FTP_server'],
|
|
|
156 |
'path' => "immoscout",
|
|
|
157 |
'file' => "ImmoScout24Export_GWG_".date("Y-m-d-h-i-s").".xml"
|
|
|
158 |
);
|
|
|
159 |
|
|
|
160 |
|
|
|
161 |
$query2 = mysql_query ($sql2) or print
|
|
|
162 |
(
|
|
|
163 |
"<hr><h2>Error</h2>Fehler im MySql Kommando: <br>".mysql_errno().": ".mysql_error()."<br><textarea style='width: 400; height: 400;'>$sql</textarea>"
|
|
|
164 |
);
|
|
|
165 |
|
|
|
166 |
while ( $exposeData=mysql_fetch_assoc($query2) )
|
|
|
167 |
{
|
|
|
168 |
print_r($config);
|
|
|
169 |
print_r($exposeData);
|
|
|
170 |
// ImmoScout24 Daten
|
|
|
171 |
$tags[] = array(
|
|
|
172 |
|
|
|
173 |
"IS24ImmobilienTransfer" => array (
|
|
|
174 |
"close" => 1,
|
|
|
175 |
"xmlns" => "http://www.immobilienscout24.de/immobilientransfer",
|
|
|
176 |
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
|
|
|
177 |
"xsi:schemaLocation" => "http://gwg.weban.de/XML/xsi/is24immotransfer.xsd",
|
|
|
178 |
"ErstellerSoftware" => "ImmoScout24Export",
|
|
|
179 |
"ErstellerSoftwareVersion" => "1.0",
|
|
|
180 |
"EmailBeiFehler" => "markus@weban.de"
|
|
|
181 |
),
|
|
|
182 |
"Anbieter" => array (
|
|
|
183 |
"close" => 1,
|
|
|
184 |
"ScoutKundenID" => "30302"
|
|
|
185 |
),
|
|
|
186 |
"WohnungMiete" => array (
|
|
|
187 |
"close" => 1,
|
|
|
188 |
"AnbieterObjektID" => $exposeData['ID'],
|
|
|
189 |
"Ueberschrift" => $exposeData['kurzbezeichnung'],
|
|
|
190 |
"Importmodus" => "importieren",
|
|
|
191 |
"Wohnflaeche" => $exposeData['short_line_2'],
|
|
|
192 |
"Zimmer" => $exposeData['short_line_3'],
|
|
|
193 |
"Adressdruck" => "true" ,
|
|
|
194 |
"AnzahlBadezimmer" => "2" ,
|
|
|
195 |
"AnzahlSchlafzimmer" => "2" ,
|
|
|
196 |
"Aufzug" => "true" ,
|
|
|
197 |
"BalkonTerrasse" => "true" ,
|
|
|
198 |
"Baujahr" => "1869" ,
|
|
|
199 |
"BetreutesWohnen" => "true" ,
|
|
|
200 |
"Einbaukueche" => "true" ,
|
|
|
201 |
"Etage" => "2" ,
|
|
|
202 |
"Etagenzahl" => "6" ,
|
|
|
203 |
"Foerderung" => "true" ,
|
|
|
204 |
"FreiAb" => "sofort" ,
|
|
|
205 |
"GartenBenutzung" => "true" ,
|
|
|
206 |
"GruppierungsID" => "1" ,
|
|
|
207 |
"Haustiere" => "nachVereinbarung" ,
|
|
|
208 |
"Heizungsart" => "Zentralheizung" ,
|
|
|
209 |
"Nutzflaeche" => "22" ,
|
|
|
210 |
"Objektzustand" => "Gepflegt" ,
|
|
|
211 |
"Parkplatz" => "true" ,
|
|
|
212 |
"Provision" => "3.8% zzg. 16%MSt" ,
|
|
|
213 |
"Rollstuhlgerecht" => "true" ,
|
|
|
214 |
"StatusHP" => "aktiv" ,
|
|
|
215 |
"StatusIS24" => "aktiv" ,
|
|
|
216 |
"StatusVBM" => "aktiv" ,
|
|
|
217 |
"Waehrung" => "EUR" ,
|
|
|
218 |
"WohnungKategorie" => "Etagenwohnung"
|
|
|
219 |
),
|
|
|
220 |
|
|
|
221 |
"Adresse" => array (
|
|
|
222 |
"close" => 0,
|
|
|
223 |
"Strasse" => "Magazin Str.",
|
|
|
224 |
"Hausnummer" => "15-16",
|
|
|
225 |
"Ort" => "Berlin",
|
|
|
226 |
"Postleitzahl" => "10179",
|
|
|
227 |
"Laenderkennzeichen" => "DEU"
|
|
|
228 |
),
|
|
|
229 |
|
|
|
230 |
"Kontaktperson" => array (
|
|
|
231 |
"close" => 0,
|
|
|
232 |
"Anrede" => "Herr",
|
|
|
233 |
"Vorname" => "Martin",
|
|
|
234 |
"Nachname" => "Mustermann",
|
|
|
235 |
"Strasse" => "Musterstr.",
|
|
|
236 |
"Hausnummer" => "22",
|
|
|
237 |
"Ort" => "Musterhausen",
|
|
|
238 |
"Postleitzahl" => "12345",
|
|
|
239 |
"Laenderkennzeichen" => "DEU",
|
|
|
240 |
"Telefon" => "0123-43627272872",
|
|
|
241 |
"Mobiltelefon" => "0179-534538729238",
|
|
|
242 |
"Telefax" => "0123-43276728298",
|
|
|
243 |
"Homepage" => "www.makler-wer.de",
|
|
|
244 |
"EMail" => "info@wer.de"
|
|
|
245 |
),
|
|
|
246 |
|
|
|
247 |
"SonstigeAngaben" => array (
|
|
|
248 |
"close" => 2,
|
|
|
249 |
"Contents" => "Sonstige Angaben"
|
|
|
250 |
),
|
|
|
251 |
|
|
|
252 |
"MultimediaAnhang" => array (
|
|
|
253 |
"close" => 0,
|
|
|
254 |
"AnhangArt" => "video",
|
|
|
255 |
"Titel" => "Video",
|
|
|
256 |
"Dateityp" => ".MPG",
|
|
|
257 |
"Abspieldauer" => "22",
|
|
|
258 |
"Dateiname" => "video1.mpg"
|
|
|
259 |
),
|
|
|
260 |
"Mietpreise" => array (
|
|
|
261 |
"close" => 0,
|
|
|
262 |
"Kaltmiete" => "1234.3",
|
|
|
263 |
"Heizkosten" => "200.30",
|
|
|
264 |
"HeizkostenInWarmmieteEnthalten" => "true",
|
|
|
265 |
"Kaution" => "3 Moanatsmieten",
|
|
|
266 |
"Nebenkosten" => "250.33",
|
|
|
267 |
"StellplatzMiete" => "160.00",
|
|
|
268 |
"Warmmiete" => "2223.56"
|
|
|
269 |
)
|
|
|
270 |
|
|
|
271 |
);
|
|
|
272 |
}
|
|
|
273 |
|
|
|
274 |
echo $sql2;
|
|
|
275 |
/*
|
|
|
276 |
|
|
|
277 |
www.ImmobilienScout24.de:
|
|
|
278 |
Kunden-Nr: Ihre Scout Kunden-ID.
|
|
|
279 |
Schemadatei: is24immotransfer.xsd
|
|
|
280 |
Übertragung: FTP, als Zip-Archiv, (Teilabgleich)
|
|
|
281 |
Host-Name: ftp.is24.de
|
|
|
282 |
Benutzername: Ihre Scout Kunden-ID
|
|
|
283 |
Kennwort: Ihr Scout Passwort
|
|
|
284 |
|
|
|
285 |
www.Immonet.de:
|
|
|
286 |
Kunden-Nr: Ihre Immonet Anbieter-Id.
|
|
|
287 |
Schemadatei: openimmo.xsd
|
|
|
288 |
Übertragung: FTP, als Zip-Archiv, Teilabgleich
|
|
|
289 |
Host-Name: ftp.immonet.de
|
|
|
290 |
Benutzername: Ihr spezieller Immonet-igeda username (bekommen Sie über uns)
|
|
|
291 |
Kennwort: Ihr spezielles Immonet-igeda passwd (bekommen Sie über uns)
|
|
|
292 |
|
|
|
293 |
www.immowelt.de:
|
|
|
294 |
Kunden-Nr: Ihre immowelt Anbieter ID.
|
|
|
295 |
Schemadatei: openimmo.xsd
|
|
|
296 |
Übertragung: FTP, als Zip-Archiv, (Teilabgleich)
|
|
|
297 |
Host-Name: ftp2.immowelt.net
|
|
|
298 |
Benutzername: Ihr immowelt Benutzername
|
|
|
299 |
Kennwort: Ihr immowelt Kennwort
|
|
|
300 |
|
|
|
301 |
www.immobilien.de:
|
|
|
302 |
Kunden-Nr: Ihre immobilien.de Kunden Nr.
|
|
|
303 |
Schemadatei: openimmo.xsd
|
|
|
304 |
Übertragung: FTP, als Zip-Archiv, (Teilabgleich)
|
|
|
305 |
Host-Name: openimmo.immobilien.de
|
|
|
306 |
Benutzername: Ihre immobilien Benutzername (Kunden Nr)
|
|
|
307 |
Kennwort: Ihr immobilien Passwort
|
|
|
308 |
|
|
|
309 |
www.immopool.de:
|
|
|
310 |
Kunden-Nr: Ihre immopool Anbieternr.
|
|
|
311 |
Schemadatei: openimmo.xsd
|
|
|
312 |
Übertragung: FTP, als Zip-Archiv, (Teilabgleich)
|
|
|
313 |
Host-Name: 62.225.144.225
|
|
|
314 |
Verzeichnis: /Igeda/ Ihre immopool User-ID
|
|
|
315 |
Benutzername: Ihre immopool User-ID
|
|
|
316 |
Kennwort: Ihr immopool Passwort
|
|
|
317 |
|
|
|
318 |
www. planethome.de:
|
|
|
319 |
Kunden-Nr: Ihr Planethome Username
|
|
|
320 |
Schemadatei: openimmo.xsd
|
|
|
321 |
Übertragung: EMAIL, als Zip-Archiv
|
|
|
322 |
E-Mail Adresse objekteinstellung@planethome.de
|
|
|
323 |
E-Mail Betreff IMS 2000 Objekteinstellung: Ihr Planethome Username, Ihr Firmenname
|
|
|
324 |
|
|
|
325 |
*/
|
|
|
326 |
$immoCompanys = array
|
|
|
327 |
(
|
|
|
328 |
"immobilienscout24",
|
|
|
329 |
"immonet",
|
|
|
330 |
"immowelt",
|
|
|
331 |
"immobilien",
|
|
|
332 |
"immopool",
|
|
|
333 |
"planethome"
|
|
|
334 |
);
|
|
|
335 |
|
|
|
336 |
$ftpServer= array
|
|
|
337 |
(
|
|
|
338 |
"immobilienscout24",
|
|
|
339 |
"immonet",
|
|
|
340 |
"immowelt",
|
|
|
341 |
"immobilien",
|
|
|
342 |
"immopool",
|
|
|
343 |
"planethome"
|
|
|
344 |
);
|
|
|
345 |
|
|
|
346 |
/*
|
|
|
347 |
// GWG-Konfiguration
|
|
|
348 |
$config = array(
|
|
|
349 |
'username' => "gwg-gladbeck.de",
|
|
|
350 |
'password' => "g-w7-a",
|
|
|
351 |
'hostname' => "gwg-gladbeck.de",
|
|
|
352 |
'path' => "immoscout",
|
|
|
353 |
'file' => "ImmoScout24Export_GWG_".date("Y-m-d-h-i-s").".xml"
|
|
|
354 |
);
|
|
|
355 |
|
|
|
356 |
// initiate a ImmoScout24Export object
|
|
|
357 |
$ImmoScout24Export = &new ImmoScout24Export('gwg_gladbeck_de');
|
|
|
358 |
$header = $ImmoScout24Export->getXMLDeclaration('1.0','UTF-8');
|
|
|
359 |
$string = $ImmoScout24Export->parse2XML($tags);
|
|
|
360 |
|
|
|
361 |
// Save Handler
|
|
|
362 |
$ImmoScout24Export->XMLSave($content, "ImmoScout24Export.xml","./XML_DATA/");
|
|
|
363 |
|
|
|
364 |
// show export
|
|
|
365 |
if (($return = $ImmoScout24Export->export($config)) !== FALSE)
|
|
|
366 |
{
|
|
|
367 |
echo "UploadServer: ".$config['hostname']."<br>";
|
|
|
368 |
echo "UploadUser: ".$config['username']."<br>";
|
|
|
369 |
echo "UploadVerzeichnis: ./".$config['path']."/<br>";
|
|
|
370 |
|
|
|
371 |
echo "Der Export verlief erfolgreich, die Datei: ".$config['file']." hat folgenden Inhalt: <br />";
|
|
|
372 |
echo "<textarea name=\"textarea\" id=\"textarea\" cols=\"80\" rows=\"20\">$return</textarea>";
|
|
|
373 |
}
|
|
|
374 |
*/
|
|
|
375 |
?>
|