$error

"; exit; } /* Hibaüzenet kiírása END */ /* CURL START */ function copen($url) { $curl = @curl_init(); @curl_setopt($curl, CURLOPT_URL, $url); @curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if (!$retval = @curl_exec($curl)) { errormessage(@curl_error($curl)); } @curl_close($curl); return $retval; } /* CURL END */ header('Content-Type: text/html; charset=utf-8'); echo " {$_hex['title']} "; /* Kliens oldali gyorsítótárazás START */ if ($_hex['disable_local_cache'] || !is_file($_hex['local_cache_file']) || filemtime($_hex['local_cache_file']) < time() - 60 * $_hex['local_cache_minutes']) { /* HEX XML és HEX XSD állományok letöltése START */ $xml_url = "http://hex.hasznaltauto.hu/{$_hex['xml_version']}/xml/{$_hex['export_name']}"; $xsd_url = "http://hex.hasznaltauto.hu/{$_hex['xml_version']}/hex.xsd"; if (ini_get("allow_url_fopen")) { $xml_string = @file_get_contents($xml_url); $xsd_string = @file_get_contents($xsd_url); } else if (function_exists("curl_init")) { $xml_string = copen($xml_url); $xsd_string = copen($xsd_url); } else { errormessage("A HEX állományok nem tölthetőek le, mert a szerver beállításai ezt nem teszik lehetővé."); } if (!$xml_string || !$xsd_string) { errormessage("Hiba a HEX állományok letöltése közben."); } /* HEX XML és HEX XSD állományok letöltése END */ /* HEX XML ellenőrzése START */ libxml_use_internal_errors(true); $objDomDocument = new DomDocument(); $objDomDocument->loadXML($xml_string); if (!$hirdetesek = @simplexml_import_dom($objDomDocument)) { errormessage("A feldolgozandó XML üres, vagy nem XML adatokat tartalmaz: $xml_url"); } if ($hirdetesek->getName() != 'hirdetesek') { errormessage("HEX hiba: " . (string)$hirdetesek); } if (!isset($hirdetesek->attributes()->min_client_version) || !isset($hirdetesek->attributes()->max_client_version)) { errormessage("A használt XML nem tartalmazza a szükséges kliens-verziószám megkötéseket. Az XML nem dolgozható fel."); } if (version_compare(HEX_CLIENT_VERSION, (string)$hirdetesek->attributes()->min_client_version) < 0 || version_compare((string)$hirdetesek->attributes()->max_client_version, HEX_CLIENT_VERSION) < 0) { errormessage("A használni kívánt HEX XML nem használható ezzel a programmal. Kérem, ellenőrizze a verziószámokat és szükség esetén frissítse a HEX klienst!"); } if (!@$objDomDocument->schemaValidateSource($xsd_string)) { $xsd_errors = array(); foreach (libxml_get_errors() as $eachError) { $xsd_errors[] = $eachError->message; } errormessage("Az XML nem felel meg a sémának. Hibák: " . implode("/n", $xsd_errors)); } $hirdetesek_szama = count($hirdetesek->children()); if ($hirdetesek_szama == 0) { errormessage("Jelenleg nincsenek megjeleníthető hirdetések."); } /* HEX XML ellenőrzése END */ /* HEX XML adatainak feldolgozása tömbbe START */ $adatok = array(); $i = 0; foreach ($hirdetesek->children() as $hirdetes) { $adatok[$i] = array( 'hirdeteskod' => (int)$hirdetes->attributes()->hirdeteskod, 'gyartmany' => (string)$hirdetes->attributes()->gyartmany, 'tipus' => (string)$hirdetes->attributes()->tipus, 'kategoria' => (string)$hirdetes->attributes()->kategoria, 'adatok' => array(), 'kepek' => array() ); foreach ($hirdetes->children() as $elem) { if ($elem->getName() == 'kepek') { foreach($elem->children() as $kep) { $adatok[$i]['kepek'][] = array( 'kicsi' => (string)$kep->attributes()->kicsi, 'kozepes' => (string)$kep->attributes()->kozepes, 'nagy' => (string)$kep ); } } else { $adatok[$i]['adatok'][(string)$elem->getName()] = array( 'nev' => (string)$elem->attributes()->megnevezes, 'ertek' => (string)$elem ); } } $i++; } /* HEX XML adatainak feldolgozása tömbbe END */ /* Helyi gyorsítótár-állomány írása START */ if (!$_hex['disable_local_cache'] && (!is_file($_hex['local_cache_file']) || is_writable($_hex['local_cache_file']))) { $handle = fopen($_hex['local_cache_file'], "w"); fwrite($handle, serialize($adatok)); fclose($handle); } /* Helyi gyorsítótár-állomány írása START */ } else if (is_file($_hex['local_cache_file'])) { /* Helyi gyorsítótár-állomány beolvasása START */ $adatok = unserialize(file_get_contents($_hex['local_cache_file'])); $hirdetesek_szama = count($adatok); /* Helyi gyorsítótár-állomány beolvasása END */ } /* Kliens oldali gyorsítótárazás END */ if (isset($_GET['hirdeteskod']) && is_numeric($_GET['hirdeteskod'])) { $row = false; foreach ($adatok as $sorszam => $tartalom) { if ($tartalom['hirdeteskod'] == $_GET['hirdeteskod']) { $row = $tartalom; } } if (!$row) { errormessage("A megadott kódú hirdetés nem található az adatbázisban!"); } else { if (isset($_GET['kep']) && is_numeric($_GET['kep'])) { /* KÉP megjelenítése START */ foreach ($row['kepek'] as $kepindex => $kep) { if ($kepindex == $_GET['kep']) { $nagykep = $kep; break; } } if (isset($nagykep)) { echo "
"; } else { errormessage("A megadott kép nem található az adatbázisban!"); } /* KÉP megjelenítése END */ } else { /* Jármű adatlapja START */ echo "

{$row['gyartmany']} {$row['tipus']}

"; $i = 0; foreach ($row['adatok'] as $elem) { echo " "; $i++; } echo "
{$elem['nev']}: {$elem['ertek']}
"; foreach ($row['kepek'] as $kepindex => $kep) { echo "\"\""; } echo "

« Vissza

"; /* Jármű adatlapja END */ } } } else { /* Hirdetések listázása START */ $page = isset($_GET['page']) && is_numeric($_GET['page']) && ($_GET['page'] - 1) * $_hex['results_per_page'] < $hirdetesek_szama ? $_GET['page'] : 1; $from = ($page - 1) * $_hex['results_per_page']; $to = min($page * $_hex['results_per_page'] - 1, $hirdetesek_szama - 1); echo "

Adatbázisban talált járművek

"; for ($i = $from; $i <= $to; $i++) { echo " "; } echo "
Találatok száma: " . count($adatok) . "
Gyártmány, típus Vételár Évjárat Telj. Motor
" . ($i+1) . ". " . (count($adatok[$i]['kepek']) > 0 ? "\"\"" : " ") . " {$adatok[$i]['gyartmany']} {$adatok[$i]['tipus']} {$adatok[$i]['adatok']['ar']['ertek']} {$adatok[$i]['adatok']['evjarat']['ertek']} " . (isset($adatok[$i]['adatok']['teljesitmeny']) ? $adatok[$i]['adatok']['teljesitmeny']['ertek'] : " ") . " " . (isset($adatok[$i]['adatok']['uzemanyag']) ? $adatok[$i]['adatok']['uzemanyag']['ertek'] : " ")."
"; /* Oldalszámozás START */ if ($to < $hirdetesek_szama - 1 || $from > 0) { echo "

" . ($from > 0 ? "« Előző" :"") . ($to < $hirdetesek_szama - 1 && $from > 0 ? " | " : "") . ($to < $hirdetesek_szama - 1 ? "Következő »" : "") . "

"; } /* Oldalszámozás END */ /* Hirdetések listázása START */ } /* Oldalak megjelenítése START */ echo " "; ?>