53 lines
2.4 KiB
PHP
53 lines
2.4 KiB
PHP
<?php
|
|
header('Content-Encoding: UTF-8');
|
|
header('Content-Type: text/csv; charset=UTF-8');
|
|
header('Content-Disposition: attachment; filename="mytransport-'.date("Ymd-Hi").'.csv"');
|
|
//echo "\xEF\xBB\xBF"; // UTF-8 BOM
|
|
|
|
require('../backend.php');
|
|
require('config.php');
|
|
require('functions.php');
|
|
|
|
$member_id = 3;
|
|
$members_id = "3,22";
|
|
|
|
$q = "SELECT parsedemail_item.*,parsedemail_item_advice_google.id AS gid,parsedemail_item_advice_google.routes,trackedemail_item.id as tid,trackedemail_item.member_id, ";
|
|
$q.= " b.address AS location_start,b.latitude AS location_start_lat,b.longitude AS location_start_lng, b.timezone AS location_start_tz,
|
|
b.geocoding_date AS location_geocoding_date, c.address AS location_end, c.latitude AS location_end_lat,c.longitude AS location_end_lng ";
|
|
$q.= " FROM trackedemail_item, parsedemail_item ";
|
|
$q.= " LEFT JOIN parsedemail_item_advice_google ON parsedemail_item.id=parsedemail_item_advice_google.parsedemail_item_id ";
|
|
$q.= " LEFT JOIN address b ON (b.id=a.location_start_id) LEFT JOIN address c ON (c.id=a.location_end_id) ";
|
|
$q.= " WHERE trackedemail_item.id=parsedemail_item.trackedemail_item_id AND trackedemail_item.member_id IN (${members_id})";
|
|
//$q.= " AND parsedemail_item.location_start_tz='Asia/Singapore';";
|
|
$q.= " AND parsedemail_item.dup_id IS NULL";
|
|
$q.= " ORDER BY parsedemail_item.travel_date DESC, parsedemail_item.travel_date_end DESC";
|
|
//echo $q;
|
|
$r = pg_query($q);
|
|
echo '"Travel Date (Start)";"End Time";"Duration";"Distance";"Travel From";"Travel To";"Cost";"Provider";"Routes";"Member ID"' . "\n";
|
|
|
|
$arrayToCsvLine = function(array $values) {
|
|
$line = '';
|
|
$values = array_map(function ($v) {
|
|
return '"' . str_replace('"', '""', $v) . '"';
|
|
}, $values);
|
|
$line .= implode(';', $values);
|
|
return $line;
|
|
};
|
|
|
|
while ($f=pg_fetch_assoc($r)) {
|
|
$duration = getDuration($f["duration"],$f["travel_date"],$f["travel_date_end"]);
|
|
$line = array(
|
|
$f["travel_date"],
|
|
getEndDateTime($f["travel_date"],$f["travel_date_end"],$f["duration"]),
|
|
$duration==""?"0":(int)$duration,
|
|
$f["distance"]==""?"0.00":sprintf("%0.02f",1.0*$f["distance"]),
|
|
$f["location_start"],
|
|
$f["location_end"],
|
|
$f["cost"]==""?"0.00":sprintf("%0.02f",1.0*$f["cost"]),
|
|
getTransportProvider($f["transport_provider_id"]),
|
|
$f["routes"]==""?"0":(int)$f["routes"],
|
|
$f["member_id"]
|
|
);
|
|
echo $arrayToCsvLine($line)."\n"; // ."\r\n"
|
|
}
|