/**
  * @brief Create a basic Location Based POI (Textual representation with default design)
  * @param String $id Id of the AREL Object
  * @param String $title Title of the AREL Object to be displayed in the popup (if added) as well as list and map
  * @param Array $location An array given all location parameters (latitude, longitude and altitude)
  * @param String $thumbnail provides an thumbnail to be displayed in the liveview and on the list
  * @param String $icon provides an icon how the model will be displayed on a map (optional)
  * @param String $description The description to be written in the pop up or the additional information
  * @param Array $buttons An array defining buttons to be shown in the pop up / detail display 
  */
 public static function createLocationBasedPOI($id, $title, $location, $thumbnail, $icon, $description, $buttons = array())
 {
     $obj = new ArelObjectPoi($id);
     $obj->setTitle($title);
     $obj->setLocation($location);
     $obj->setThumbnail($thumbnail);
     $obj->setIcon($icon);
     if (!empty($description) || !empty($buttons)) {
         $popup = new ArelPopup();
         $popup->setDescription($description);
         $popup->setButtons($buttons);
         $obj->setPopup($popup);
     }
     return $obj;
 }
/**
 * @param $pois SQLite3Result with POIs
 * @return string An AREL XML with all the POIs in SQLite3Result
 */
function build_xml($pois, $lang = "en")
{
    $array_objects = array();
    //Loop through all the results from query and create POI objects
    while ($row = $pois->fetchArray()) {
        //Create ArelObjectPOI using AREL Library.
        $obj = new ArelObjectPoi($row['id']);
        //Set properties of the POI object
        $obj->setTitle($row['title']);
        $obj->setLocation(array($row['latitude'], $row['longitude'], 0));
        $obj->setThumbnail($row['thumbnailURL']);
        $obj->setIcon($row['iconURL']);
        //Create localized buttons. The localized string are in "jsonTranslator.php" file.
        $array_buttons = array();
        if ($row['phoneNumber'] != "") {
            array_push($array_buttons, array('BTN_CALL', 'Call', 'tel:' . $row['phoneNumber']));
        }
        if ($row['homepage'] != "") {
            array_push($array_buttons, array('BTN_OPEN_WEB', 'Web Page', $row['homepage']));
        }
        if ($row['imageURL'] != '') {
            array_push($array_buttons, array('BTN_VIEW_IMAGE', 'Image', $row['imageURL']));
        }
        if ($row['videoURL'] != '') {
            array_push($array_buttons, array('BTN_PLAY_VIDEO', 'Video', $row['videoURL']));
        }
        if ($row['soundURL'] != '') {
            array_push($array_buttons, array('BTN_PLAY_AUDIO', 'Sound', $row['soundURL']));
        }
        array_push($array_buttons, array('BTN_ROUTE', 'Sound', 'route:daddr=' . $row['latitude'] . ',' . $row['longitude']));
        //Setting up POI object popup properties
        $popup = new ArelPopup();
        $popup->setDescription($row['description']);
        $popup->setButtons($array_buttons);
        $obj->setPopup($popup);
        array_push($array_objects, $obj);
    }
    $log_file = fopen("logFile.log", "a");
    //Write to file how many POIs have been retrieved
    if ($log_file) {
        fwrite($log_file, "Total POIs retrieved from sqlite database: " . count($array_objects) . ".\n");
        fclose($log_file);
    }
    //call function to create XML response using AREL Library
    createLocationBasedAREL($array_objects, $lang);
}