Files
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

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"
}