index.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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, lat_d, lon_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. $lat_o = $r_point["lat_o"];
  36. $lon_o = $r_point["lon_o"];
  37. // Destination point
  38. $lat_d = $r_point["lat_d"];
  39. $lon_d = $r_point["lon_d"];
  40. $points[$t_points] = "$r_point[id]$route$r_point[part]0";
  41. $points[$t_points + 1] = "$r_point[id]$route$r_point[part]1";
  42. $t_points = $t_points + 2;
  43. ?>
  44. <node id='<?=$r_point["id"]?><?=$route?><?=$r_point["part"]?>0' lat='<?=$lat_o?>' lon='<?=$lon_o?>' visible='true' version='1' />
  45. <node id='<?=$r_point["id"]?><?=$route?><?=$r_point["part"]?>1' lat='<?=$lat_d?>' lon='<?=$lon_d?>' visible='true' version='1' />
  46. <?php
  47. } // while ($r_point = mysqli_fetch_array($q_point))
  48. ?>
  49. <way id='<?=$route?>' visible='true' version='1'>
  50. <?php
  51. $i = 0;
  52. while($i < $t_points){
  53. ?>
  54. <nd ref='<?=$points[$i]?>' />
  55. <?php
  56. $i = $i + 1;
  57. } // while($i <= $t_points)
  58. ?>
  59. </way>
  60. </osm>