index.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <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">
  3. <?php
  4. session_start();
  5. include("../functions.php");
  6. $con = startdb();
  7. $proto = getProtocol();
  8. $http_host = $_SERVER["HTTP_HOST"];
  9. $server = "$proto$http_host";
  10. // Get path identifier
  11. $route = mysqli_real_escape_string($con, $_GET["route"]);
  12. if (intval($route) != 0){
  13. $q = mysqli_query($con, "SELECT id, name FROM route WHERE id = $route LIMIT 1;");
  14. }
  15. else{
  16. $q = mysqli_query($con, "SELECT id, name FROM route WHERE upper(name) = upper('$route');");
  17. }
  18. if (mysqli_num_rows($q) == 0){
  19. http_response_code(404);
  20. exit(404);
  21. }
  22. $r = mysqli_fetch_array($q);
  23. $route = $r["id"];
  24. $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;");
  25. if (mysqli_num_rows($q) == 0){
  26. http_response_code(404);
  27. exit(404);
  28. }
  29. ?>
  30. <metadata>
  31. <link href='<?=$server?>/gpx/<?=$route?>.gpx'>
  32. <text><?=$r["name"]?> - Gasteizko Margolariak</text>
  33. </link>
  34. </metadata>
  35. <trk>
  36. <name><?=$r["name"]?> - Gasteizko Margolariak</name>
  37. <trkseg>
  38. <?php
  39. $points = array();
  40. $t_points = 0;
  41. while ($r_point = mysqli_fetch_array($q_point)){
  42. // Origin point
  43. if ((strlen($r_point["lat_o"]) == 0 || strlen($r_point["lon_o"]) == 0) && strlen($r_point["place_o"]) != 0){
  44. $q_place = mysqli_query($con, "SELECT lat, lon FROM place WHERE id = $r_point[place_o];");
  45. if (mysqli_num_rows($q_place) == 0){
  46. http_response_code(501);
  47. exit(501);
  48. }
  49. else{
  50. $r_place = mysqli_fetch_array($q_place);
  51. $lat_o = $r_place["lat"];
  52. $lon_o = $r_place["lon"];
  53. }
  54. }
  55. else{
  56. $lat_o = $r_point["lat_o"];
  57. $lon_o = $r_point["lon_o"];
  58. }
  59. // Destination point
  60. if ((strlen($r_point["lat_d"]) == 0 || strlen($r_point["lon_d"]) == 0) && strlen($r_point["place_d"]) != 0){
  61. $q_place = mysqli_query($con, "SELECT lat, lon FROM place WHERE id = $r_point[place_d];");
  62. if (mysqli_num_rows($q_place) == 0){
  63. http_response_code(501);
  64. exit(501);
  65. }
  66. else{
  67. $r_place = mysqli_fetch_array($q_place);
  68. $lat_d = $r_place["lat"];
  69. $lon_d = $r_place["lon"];
  70. }
  71. }
  72. else{
  73. $lat_d = $r_point["lat_d"];
  74. $lon_d = $r_point["lon_d"];
  75. }
  76. $points[$t_points] = "$r_point[id]$route$r_point[part]0";
  77. $points[$t_points + 1] = "$r_point[id]$route$r_point[part]1";
  78. $t_points = $t_points + 2;
  79. ?>
  80. <trkpt lat='<?=$lat_o?>' lon='<?=$lon_o?>' />
  81. <trkpt lat='<?=$lat_d?>' lon='<?=$lon_d?>' />
  82. <?php
  83. } // while ($r_point = mysqli_fetch_array($q_point))
  84. ?>
  85. </trkseg>
  86. </trk>
  87. </gpx>