\n", $kml_action, "kml"); download_document_data("\n", $kml_action, "kml"); download_document_data("\n", $kml_action, "kml"); //download_document_data("" . _("GPS track") . " - " . $customer['bedrijfsnaam'] . " - " . $date . "\n", $kml_action, "kml"); if (strlen($end)) { download_document_data("" . _("MTinfo") . " - " . $begin . " " . _("tot") . " " . $end . " (" . $customer['klantnaam'] . ")\n", $kml_action, "kml"); } else { download_document_data("" . _("MTinfo") . " - " . $begin . " (" . $customer['klantnaam'] . ")\n", $kml_action, "kml"); } // default values $counter = 0; $line_width = 3; $org_line_color = ff216ff3; $lookat_range = 200; $icon = ""; if (is_array($_PAGE_INFO['ini'])) { // get line width if ((isset($_PAGE_INFO['ini']['kml']['line_width'])) && (strlen($_PAGE_INFO['ini']['kml']['line_width']))) { $line_width = $_PAGE_INFO['ini']['kml']['line_width']; } // Get line color if ((isset($_PAGE_INFO['ini']['kml']['line_color'])) && (strlen($_PAGE_INFO['ini']['kml']['line_color']))) { $org_line_color = $_PAGE_INFO['ini']['kml']['line_color']; } // Get look at range if ((isset($_PAGE_INFO['ini']['kml']['lookat_range'])) && (strlen($_PAGE_INFO['ini']['kml']['lookat_range']))) { $lookat_range = $_PAGE_INFO['ini']['kml']['lookat_range']; } // Get kml icon if ((isset($_PAGE_INFO['ini']['kml']['icon'])) && (strlen($_PAGE_INFO['ini']['kml']['icon']))) { $icon = $_PAGE_INFO['base'] . SKIN_DIR . $_PAGE_INFO['skin'] . "/" . $_PAGE_INFO['ini']['kml']['icon']; } } // Equipement $equipment = (isset($_GET['equipment'])) ? $_GET['equipment'] : $item; $valid_data = 0; // Create equipment array if (strlen($equipment)) { $items = split(",", $equipment); if (is_array($items)) { foreach($items as $item) { // Fetch equipment name $info = db_fetch_lance($item, "", 1); // Detect firmware version $version_info = db_fetch_firmware($info); // send new document name download_document_data("\t\n", $kml_action, "kml"); $device = db_fetch_system_device_name($_PAGE_INFO['i18n'], $info['device'], $kml_action); $idcode = ($info['idcode'] == $info['serienr']) ? $info['idcode'] : $info['idcode'] . " - " . $info['serienr']; $idcode .= (strlen($info['rtstatus'])) ? " (" . $info['rtstatus'] . ")" : ""; download_document_data("\t\t" . $idcode . " (" . $device . ")" . "\n", $kml_action, "kml"); download_document_data("\t\t\n", $kml_action, "kml"); // JW20100705: Geofence style (green line) download_document_data("\t\t\n", $kml_action, "kml"); // Button styles for ($i=0; $i<5; $i++) { // define line color switch($i) { // Red case 0: $line_color = "7d0000ff"; break; // Green case 1: $line_color = "7d00ff00"; break; // Blue case 2: $line_color = "7dff0000"; break; // Yellow case 3: $line_color = "7d00ffff"; break; // purple case 4: $line_color = "7dc080ff"; break; default: break; } download_document_data("\t\t\n", $kml_action, "kml"); } // Initial values $prev_coordinate = ""; $line_placed = ""; // Get all gps coordinates $coordinates = db_fetch_lance_log_gps_info($item, 0, $begin, $end, 0); $last_long = ""; $prev = ""; $coords_incr = TRUE; if (is_array($coordinates)) { if ($coordinates['result']) { for ($i = 0; $i < $coordinates['nr_rows']; $i++) { // Last coordinate? $last = (($i + 1) == $coordinates['nr_rows']) ? 1 : 0; // Fetch coordinate data $coordinate = mysql_fetch_assoc($coordinates['result']); // First/last coordinates or to far or time gap (> 60 secs) if ((!is_array($prev_coordinate)) || ($last) || (abs($coordinate['longitude'] - $prev_coordinate['longitude']) > 0.1) || (abs($coordinate['latitude'] - $prev_coordinate['latitude']) > 0.1) || (abs($coordinate['t'] - $prev_coordinate['t']) > 60)) { // Initital value $points = array(); // Create end point if (($line_placed) && (!$last)) { $prev_coordinate['lookat_range'] = $lookat_range; array_push($points, $prev_coordinate); } // Create starting point $coordinate['lookat_range'] = $lookat_range; array_push($points, $coordinate); // New start point/end point if (is_array($points)) { for($j=0; $j not a real trace!! if (($i) && (!$j) && (!$line_placed)) { download_document_data("\t\t\t\t" . convert_datetime($start_time,TRUE) . "\n", $kml_action, "kml"); download_document_data("\t\t\n", $kml_action, "kml"); // Valid data $valid_data = 1; } // Create new starting point download_document_data("\t\t\n", $kml_action, "kml"); $start_time = $points[$j]['t']; $start_latitude = $points[$j]['latitude']; $start_longitude = $points[$j]['longitude']; } download_document_data("\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t" . date("Y-m-d H:i:s", $points[$j]['t']) . "\n", $kml_action, "kml"); if ((isset($_GET['speed'])) || (!isset($_GET['equipment']))) { download_document_data("\t\t\t\t" . _("Speed") . ": " . $points[$j]['speed'] . " km/h\n", $kml_action, "kml"); } download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $points[$j]['longitude'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $points[$j]['latitude'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $points[$j]['heading'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $points[$j]['lookat_range'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . date("Y-m-d", $points[$j]['t']) . "T" . date("H:i:s", $points[$j]['t']) . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t#". $info['idcode'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $points[$j]['longitude'] . "," . $points[$j]['latitude'] . ",0\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\n", $kml_action, "kml"); if (((!$j) && ($line_placed)) || ($last)) { // Store trace download_document_data("\t\t\t\t" . date("Y-m-d H:i:s", $start_time) . " - " . date("Y-m-d H:i:s", $points[$j]['t']) . "\n", $kml_action, "kml"); download_document_data("\t\t\n", $kml_action, "kml"); if (!isset($_GET['equipment'])) { // Determine gps info $gps_info_start = $start_latitude . ", " . $start_longitude; $gps_info_start_link = GOOGLE_MAPS . "maps?q=" . $start_latitude . ", " . $start_longitude; $gps_info_end = $points[$j]['latitude'] . ", " . $points[$j]['longitude']; $gps_info_end_link = GOOGLE_MAPS . "maps?q=" . $points[$j]['latitude'] . ", " . $points[$j]['longitude']; // Determine time info $timestamp_start = $start_time; $timestamp_end = $points[$j]['t']; // Get duration in hours/minutes/seconds $duration = $timestamp_end - $timestamp_start; $hours = (int)($duration/3600); $duration = (int)$duration - ($hours*3600); $minutes = (int)($duration/60); $duration = (int)$duration - ($minutes*60); $seconds = (int)($duration); $duration = sprintf("%02u:%02u:%02u", $hours, $minutes, $seconds); // Do not display GPS data anymore, only KML attachment //report_data(array(value => array(++$counter, $gps_info_start, $timestamp_start, $gps_info_end, $timestamp_end, $duration), // border => array("LRBT","LRBT","LRBT","LRBT","LRBT","LRBT") , // bold => array(0,0,0,0,0,0) , // align => array("C","L","L","L","L","L") , // font_size => array(8,8,8,8,8,8) , // cell_width => array(15,35,33,35,33,29) , // check_page_end => 1 , // ishtml => array("",array(type => link, data => $gps_info_start_link),"",array(type => link, data => $gps_info_end_link),"",""))); } // Valid data $valid_data = 1; } } } // clear flag $line_placed = 0; } else { // Create line element download_document_data("\t\t\t\n", $kml_action, "kml"); // Initial values $button_selected = 0; // JW20100705: Geofencing $geofence_info = db_fetch_data("select minor from log_zkl where major=0xB and (minor=0x88 or minor=0x89) and zkl='" . $info['id'] . "' and id<'" . $coordinate['id'] . "' and sdcard='" . $coordinate['sdcard'] . "' and rpgmcount='" . $coordinate['rpgmcount'] . "' and startup='" . $coordinate['startup'] . "'order by id desc limit 1;"); $geofence_inside = is_array($geofence_info) && $geofence_info[0]['minor'] == 0x88; download_document_data("\t\t\t\t" . date("Y-m-d H:i:s", $coordinate['t']) . "\n", $kml_action, "kml"); if ((isset($_GET['speed'])) || (!isset($_GET['equipment']))) { if ($button_selected) { download_document_data("\t\t\t\t" . _("Speed") . ": " . $coordinate['speed'] . " km/h, " . _("Button") . ": " . $button_selected . "\n", $kml_action, "kml"); } else { download_document_data("\t\t\t\t" . _("Speed") . ": " . $coordinate['speed'] . " km/h\n", $kml_action, "kml"); } } else if ($button_selected) { download_document_data("\t\t\t\t" . _("Button") . ": " . $button_selected . "\n", $kml_action, "kml"); } download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $coordinate['longitude'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $coordinate['latitude'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $coordinate['heading'] . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $lookat_range . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . date("Y-m-d", $point['t']) . "T" . date("H:i:s", $point['t']) . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); // Define style $style = ($button_selected) ? $info['idcode'] . "_" . ($button_selected - 1) : ($info['idcode'] . ($geofence_inside ? '_geofence_inside' : '')); download_document_data("\t\t\t\t#". $style . "\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\t\t" . $prev_coordinate['longitude'] . "," . $prev_coordinate['latitude'] . ",0 " . $coordinate['longitude'] . "," . $coordinate['latitude'] . ",0\n", $kml_action, "kml"); download_document_data("\t\t\t\t\n", $kml_action, "kml"); download_document_data("\t\t\t\n", $kml_action, "kml"); // Set flag $line_placed = 1; } // Store coordinate $prev_coordinate = $coordinate; } } } download_document_data("\t\n", $kml_action, "kml"); } } } // KML footer download_document_data("\n", $kml_action, "kml"); download_document_data("", $kml_action, "kml"); ?>