index.php 3.1 KB

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