<?php

require("functions.php");

function parseToXML($htmlStr) {
    $xmlStr = str_replace('<', '&lt;', $htmlStr);
    $xmlStr = str_replace('>', '&gt;', $xmlStr);
    $xmlStr = str_replace('"', '&quot;', $xmlStr);
    $xmlStr = str_replace("'", '&#39;', $xmlStr);
    $xmlStr = str_replace("&", '&amp;', $xmlStr);
    $xmlStr = str_replace("Á", '&#193;', $xmlStr);
    $xmlStr = str_replace("á", '&#225;', $xmlStr);
    $xmlStr = str_replace("À", '&#192;', $xmlStr);
    $xmlStr = str_replace("á", '&#224;', $xmlStr);
    $xmlStr = str_replace("Ì", '&#204;', $xmlStr);
    $xmlStr = str_replace("ì", '&#236;', $xmlStr);
    $xmlStr = str_replace("Ù", '&#217;', $xmlStr);
    $xmlStr = str_replace("ù", '&#249;', $xmlStr);
    $xmlStr = str_replace("É", '&#201;', $xmlStr);
    $xmlStr = str_replace("é", '&#233;', $xmlStr);
    $xmlStr = str_replace("È", '&#200;', $xmlStr);
    $xmlStr = str_replace("è", '&#232;', $xmlStr);
    $xmlStr = str_replace("Ó", '&#211;', $xmlStr);
    $xmlStr = str_replace("ó", '&#243;', $xmlStr);
    $xmlStr = str_replace("Ò", '&#210;', $xmlStr);
    $xmlStr = str_replace("ò", '&#242;', $xmlStr);

    return $xmlStr;
}

// Query for Fragerunde 2, Frage 4: sigaretta
$query = "SELECT DISTINCT(ort.plz) AS plz, 
         ort.ortsname AS ortsname, ort.lat AS lat, ort.lng AS lng, 
         antwort.antwort_informant AS response, informant.geschlecht AS sex 
         FROM antwort, informant, ort 
         WHERE fragenr = 4 AND  antwort.fragerunde = 2 
         AND antwort.antwort_informant <> '' 
         AND antwort.informantid = informant.informantid 
         AND informant.ortid = ort.ortid 
         AND (informant.geschlecht LIKE '%' AND informant.informant_alter > 0) 
         ORDER BY antwort.antwort_informant;";

$result = mysqli_query($db_server, $query);
if (!$result) {
    die('Invalid query: ' . mysqli_error());
}

header("Content-type: text/xml");

// Start XML file, echo parent node
echo '<markers>';

// Iterate through the rows, printing XML nodes for each
while ($row = @mysqli_fetch_assoc($result)) {
    $response = parseToXML($row['response']);
    // Add to the XML Document Node
    echo '<marker ';
    echo 'loc="' . parseToXML($row['ortsname']) . '" ';
    echo 'ortsname="' . parseToXML($row['ortsname']) . '" ';
    echo 'response="' . $response . '" ';
    echo 'lat="' . $row['lat'] . '" ';
    echo 'lng="' . $row['lng'] . '" ';
    echo 'sex="' . parseToXML($row['sex']) . '" ';
    if (preg_match("/^si[cg]/i", $response)) {
        echo 'type="sigaretta" ';
    } elseif (preg_match("/^ci/i", $response)) {
        echo 'type="cicca" ';
    } elseif (preg_match("/^[sz]iz/i", $response)) {
        echo 'type="sizza" ';
    } elseif (preg_match("/^b/i", $response)) {
        echo 'type="bionda" ';
    } elseif (preg_match("/^p/i", $response)) {
        echo 'type="paglia" ';
    } else {
        echo 'type="altro" ';
    }
    echo 'checked="true" ';
    echo '/>';
}

// End of XML file
echo '</markers>';
?>
