Automatically exported from code.google.com/p/planningalerts
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

application.php 6.4 KiB

17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
16 anos atrás
17 anos atrás
17 anos atrás
17 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. require_once('config.php');
  3. require_once('DB.php');
  4. class Application{
  5. var $authority_id = 0;
  6. var $council_reference = "";
  7. var $date_recieved = "";
  8. var $date_scraped ="";
  9. var $address = "";
  10. var $postcode = "";
  11. var $description = "";
  12. var $status = "";
  13. var $info_url = "";
  14. var $info_tinyurl = "";
  15. var $comment_url = "";
  16. var $comment_tinyurl = "";
  17. var $map_url = "";
  18. var $x = 0;
  19. var $y = 0;
  20. #lat/lon used by rss.tpl, not yet in schema
  21. var $lat = 0;
  22. var $lon = 0;
  23. #authority name in join'd table 'authority'
  24. var $authority_name = "";
  25. function exists(){
  26. $db = DB::connect(DB_CONNECTION_STRING);
  27. $exists = false;
  28. $council_reference = $db->quote($this->council_reference);
  29. $authority_id = $db->quote($this->authority_id);
  30. $sql = "select application_id
  31. from application
  32. where council_reference = $council_reference
  33. and authority_id = $authority_id";
  34. if(sizeof($db->getAll($sql)) >0){
  35. $exists = true;
  36. }
  37. return $exists;
  38. }
  39. //Save
  40. function save(){
  41. $db = DB::connect(DB_CONNECTION_STRING);
  42. $council_reference = $db->quote($this->council_reference);
  43. $address = $db->quote($this->address);
  44. $postcode = $db->quote($this->postcode);
  45. $description = $db->quote($this->description);
  46. $info_url = $db->quote($this->info_url);
  47. $info_tinyurl = $db->quote($this->info_tinyurl);
  48. $comment_url = $db->quote($this->comment_url);
  49. $comment_tinyurl = $db->quote($this->comment_tinyurl);
  50. $authority_id = $db->quote($this->authority_id);
  51. $x = $db->quote($this->x);
  52. $y = $db->quote($this->y);
  53. $date_scraped = $db->quote($this->date_scraped);
  54. $map_url = $db->quote($this->map_url);
  55. $sql ="insert into application
  56. (
  57. council_reference,
  58. address,
  59. postcode,
  60. description,
  61. info_url,
  62. info_tinyurl,
  63. comment_url,
  64. comment_tinyurl,
  65. authority_id,
  66. x,
  67. y,
  68. date_scraped,
  69. map_url
  70. )
  71. values(
  72. $council_reference,
  73. $address,
  74. $postcode,
  75. $description,
  76. $info_url,
  77. $info_tinyurl,
  78. $comment_url,
  79. $comment_tinyurl,
  80. $authority_id,
  81. $x,
  82. $y,
  83. $date_scraped,
  84. $map_url
  85. )";
  86. $db->query($sql);
  87. }
  88. }
  89. class Applications{
  90. //by point
  91. function query($x,$y,$d) {
  92. $db = DB::connect(DB_CONNECTION_STRING);
  93. $sql = "select council_reference, address, postcode, description, info_url, comment_url, map_url, x, y, date_recieved, date_scraped, full_name
  94. from application
  95. inner join authority on application.authority_id = authority.authority_id
  96. where application.x > " . $db->quote($x - $d) . " and application.x < " . $db->quote($x + $d) .
  97. " and application.y > " . $db->quote($y - $d) . " and application.y < " . $db->quote($y + $d) .
  98. " order by date_scraped desc limit 100";
  99. $application_results = $db->getAll($sql);
  100. return applications::load_applications($application_results);
  101. }
  102. //by area
  103. function query_area($x1,$y1,$x2,$y2) {
  104. $db = DB::connect(DB_CONNECTION_STRING);
  105. $sql = "select council_reference, address, postcode, description, info_url, comment_url, map_url, x, y, date_recieved, date_scraped, full_name
  106. from application
  107. inner join authority on application.authority_id = authority.authority_id
  108. where application.x > " . $db->quote($x1) . " and application.x < " . $db->quote($x2) .
  109. " and application.y > " . $db->quote($y1) . " and application.y < " . $db->quote($y2) .
  110. " order by date_scraped desc limit 100";
  111. $application_results = $db->getAll($sql);
  112. return applications::load_applications($application_results);
  113. }
  114. //by authority
  115. function query_authority($authority_short_name) {
  116. $db = DB::connect(DB_CONNECTION_STRING);
  117. $sql = "select council_reference, address, postcode, description, info_url, comment_url, map_url, x, y, date_recieved, date_scraped, full_name
  118. from application
  119. inner join authority on application.authority_id = authority.authority_id
  120. where authority.short_name = " . $db->quote($authority_short_name) ." order by date_scraped desc limit 100";
  121. $application_results = $db->getAll($sql);
  122. return applications::load_applications($application_results);
  123. }
  124. //latest
  125. function query_latest($count = 100) {
  126. $db = DB::connect(DB_CONNECTION_STRING);
  127. $sql = "select council_reference, address, postcode, description, info_url, comment_url, map_url, x, y, date_recieved, date_scraped, full_name
  128. from application
  129. inner join authority on application.authority_id = authority.authority_id
  130. order by date_scraped desc limit " . $count;
  131. $application_results = $db->getAll($sql);
  132. return applications::load_applications($application_results);
  133. }
  134. function load_applications($application_results){
  135. $applications = array();
  136. if (sizeof($application_results) > 0) {
  137. for ($i=0; $i < sizeof($application_results); $i++) {
  138. $application = new application();
  139. $application->council_reference = $application_results[$i][0];
  140. $application->address = $application_results[$i][1];
  141. $application->postcode = $application_results[$i][2];
  142. $application->description = $application_results[$i][3];
  143. $application->info_url = $application_results[$i][4];
  144. $application->comment_url = $application_results[$i][5];
  145. $application->map_url = $application_results[$i][6];
  146. $application->x = $application_results[$i][7];
  147. $application->y = $application_results[$i][8];
  148. $application->date_received = $application_results[$i][9];
  149. $application->date_scraped = $application_results[$i][10];
  150. $application->authority_name = $application_results[$i][11];
  151. $os = new OSRef($application->x, $application->y);
  152. $latlng = $os->toLatLng();
  153. $application->lat = $latlng->lat;
  154. $application->lon = $latlng->lng;
  155. array_push($applications, $application);
  156. }
  157. }
  158. return $applications;
  159. }
  160. }
  161. ?>