<?php date_default_timezone_set("UTC"); $filename = "output.gpx"; $firstDate = new DateTime("2014-04-01"); $date = new DateTime("2014-05-01"); //$date = new DateTime(); <- for today's date $segments = []; @unlink($filename); while ($date > $firstDate) { $formattedDate = $date->format('Ymd'); $date->sub(new DateInterval("P1D")); echo "Getting segments for {$formattedDate} (total " . count($segments) . ")...\n"; foreach (getSegments($formattedDate) as $s) { array_push($segments, $s); } } file_put_contents($filename, makeXml($segments)); function getSegments($date) { $data = json_decode(file_get_contents("https://api.moves-app.com/api/v1/user/storyline/daily/{$date}?trackPoints=true&access_token=<<INSERT ACCESS TOKEN HERE>>")); return $data[0]->segments; } function makeXml($segments) { $xml = '<?xml version="1.0"?><gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <metadata> <link href="http://moves-to-gpx.ppy.sh"> <text>moves-to-gpx</text> </link> </metadata>
<?php require_once 'database/Database.php'; //$params = json_decode(file_get_contents('php://input'),false); $data = json_decode($_GET['data']); session_start(); switch ($data->operation) { case "getSegments": getSegments(1); break; case "getSegmentsExceptMaterial": getSegments(0); break; case "getCostCenters": getCostCenters(); break; case "getExpenseDetails": getExpenseDetails($data->projectId); break; case "getProjectWiseSegments": getProjectWiseSegments($data->projectId); break; } function getProjectWiseSegments($projectId) { $db = Database::getInstance(); $conn = $db->getConnection(); $stmt = $conn->prepare("SELECT `budgetsegmentid`, `segmentname` FROM `budget_segment` WHERE `budgetsegmentid` IN (SELECT budgetsegmentid FROM `budget_details` WHERE budget_details.projectid='{$projectId}')"); if ($stmt->execute()) { $json_response = array(); while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {