Automatically exported from code.google.com/p/planningalerts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.php 3.0 KiB

18 jaren geleden
17 jaren geleden
18 jaren geleden
17 jaren geleden
18 jaren geleden
17 jaren geleden
18 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. require_once ("config.php");
  3. require_once ("user.php");
  4. require_once ("stats.php");
  5. $index_page = new index_page;
  6. class index_page {
  7. //Properties
  8. var $warnings = "";
  9. var $onloadscript = "";
  10. var $postcode = "";
  11. var $email = "";
  12. var $alert_area_size = "m";
  13. var $email_warn = false;
  14. var $postcode_warn = false;
  15. //Constructor
  16. function index_page() {
  17. //check for postback vs load
  18. if (isset($_POST["_is_postback"])) {
  19. $this->unbind();
  20. $this->process();
  21. }else{
  22. $this->setup();
  23. $this->bind();
  24. }
  25. }
  26. //setup
  27. function setup (){
  28. }
  29. //Bind
  30. function bind() {
  31. //page vars
  32. $form_action = $_SERVER['PHP_SELF'];
  33. $this->onloadscript = "setFocus('txtEmail');";
  34. //smarty
  35. $smarty = new Smarty;
  36. $smarty->force_compile = true;
  37. $smarty->compile_dir = SMARTY_COMPILE_DIRECTORY;
  38. $smarty->assign("stats", stats::get_stats());
  39. $smarty->assign("menu_item", "signup");
  40. $smarty->assign("postcode", $this->postcode);
  41. $smarty->assign("email", $this->email);
  42. $smarty->assign("alert_area_size", $this->alert_area_size);
  43. $smarty->assign("page_title","Email alerts of planning applications near you");
  44. $smarty->assign("warnings", $this->warnings);
  45. $smarty->assign("email_warn", $this->email_warn);
  46. $smarty->assign("postcode_warn", $this->postcode_warn);
  47. $smarty->assign("onloadscript", $this->onloadscript);
  48. $smarty->assign("small_zone_size",SMALL_ZONE_SIZE);
  49. $smarty->assign("medium_zone_size",MEDIUM_ZONE_SIZE);
  50. $smarty->assign("large_zone_size",LARGE_ZONE_SIZE);
  51. //Render
  52. $smarty->display('index.tpl');
  53. }
  54. function unbind (){
  55. //Get postcode and setup the group
  56. $this->postcode = $_POST['txtPostcode'];
  57. $this->email = $_POST['txtEmail'];
  58. $this->alert_area_size = $_POST['radAlertAreaSize'];
  59. }
  60. function validate (){
  61. if($this->email =="" || !valid_email($this->email)){
  62. $this->email_warn = true;
  63. $this->warnings .= " Please enter a valid email address.";
  64. }
  65. if($this->postcode =="" || !is_postcode($this->postcode)){
  66. $this->postcode_warn = true;
  67. $this->warnings .= " Please enter a valid postcode.";
  68. }
  69. if($this->alert_area_size != "s" && $this->alert_area_size != "m" && $this->alert_area_size != "l"){
  70. $this->warnings .= " Please select an area for the alerts.";
  71. }
  72. return $this->warnings =="";
  73. }
  74. function process (){
  75. if($this->validate()){
  76. $user = new user();
  77. //Populate new user
  78. $user->populate_new($this->email, $this->postcode, $this->alert_area_size);
  79. //Save
  80. $user->save(true);
  81. //send to check mail page
  82. $base_url = BASE_URL;
  83. header("Location: {$base_url}/checkmail.php");
  84. }else{
  85. $this->bind();
  86. }
  87. }
  88. }
  89. ?>