index.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. header('Content-type: application/xml');
  3. echo("<?xml version='1.0' encoding='UTF-8'?>\n");
  4. ?>
  5. <gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="Gasteizko Margolariak" version="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
  6. <?php
  7. session_start();
  8. include("../functions.php");
  9. $con = startdb();
  10. $proto = getProtocol();
  11. $http_host = $_SERVER["HTTP_HOST"];
  12. $server = "$proto$http_host";
  13. // Get path identifier
  14. $route = mysqli_real_escape_string($con, $_GET["route"]);
  15. if (intval($route) != 0){
  16. $q = mysqli_query($con, "SELECT id, name FROM route WHERE id = $route LIMIT 1;");
  17. }
  18. else{
  19. $q = mysqli_query($con, "SELECT id, name FROM route WHERE upper(name) = upper('$route');");
  20. }
  21. if (mysqli_num_rows($q) == 0){
  22. http_response_code(404);
  23. exit(404);
  24. }
  25. $r = mysqli_fetch_array($q);
  26. $route = $r["id"];
  27. $q_point = mysqli_query($con, "SELECT id, part, lat_o, lon_o, lat_d, lon_d FROM route_point WHERE route = $route ORDER by part;");
  28. if (mysqli_num_rows($q) == 0){
  29. http_response_code(404);
  30. exit(404);
  31. }
  32. ?>
  33. <metadata>
  34. <link href='<?=$server?>/gpx/<?=$route?>.gpx'>
  35. <text><?=$r["name"]?> - Gasteizko Margolariak</text>
  36. </link>
  37. </metadata>
  38. <trk>
  39. <name><?=$r["name"]?> - Gasteizko Margolariak</name>
  40. <trkseg>
  41. <?php
  42. $points = array();
  43. $t_points = 0;
  44. while ($r_point = mysqli_fetch_array($q_point)){
  45. // Origin point
  46. $lat_o = $r_point["lat_o"];
  47. $lon_o = $r_point["lon_o"];
  48. // Destination point
  49. $lat_d = $r_point["lat_d"];
  50. $lon_d = $r_point["lon_d"];
  51. $points[$t_points] = "$r_point[id]$route$r_point[part]0";
  52. $points[$t_points + 1] = "$r_point[id]$route$r_point[part]1";
  53. $t_points = $t_points + 2;
  54. ?>
  55. <trkpt lat='<?=$lat_o?>' lon='<?=$lon_o?>' />
  56. <trkpt lat='<?=$lat_d?>' lon='<?=$lon_d?>' />
  57. <?php
  58. } // while ($r_point = mysqli_fetch_array($q_point))
  59. ?>
  60. </trkseg>
  61. </trk>
  62. </gpx>