Member.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. class Member {
  3. public function Index($params) {
  4. if (Session::IsUserLoggedIn())
  5. return $this->Manage($params);
  6. else
  7. return $this->Login($params);
  8. }
  9. public function Login($params){
  10. if (Session::IsUserLoggedIn()){
  11. header("location:/member/manage");
  12. return;
  13. }
  14. if (!isset($params['email']))
  15. $params['email']="";
  16. $errors=array();
  17. if (isset($params['permission_error']) && $params['permission_error']==true)
  18. $errors[]="You don't have permission to access this page.";
  19. if (isset($params['submit_form']) && $params['email']!=""){
  20. $user=new User($params['email']);
  21. if ($user->UserId!=null && $user->ValidatePassword($params['password'])){
  22. Session::SetLoggedInUser($user);
  23. header("location:/member/manage");
  24. return;
  25. }
  26. $errors[]="Unable to log in. Please check your login details and try again.";
  27. }
  28. return new View("Member/login.view",array(
  29. "errors"=>$errors,
  30. "loginEmail"=>$params['email']
  31. ));
  32. }
  33. public function Logout($params){
  34. Session::Destroy();
  35. header("location:/member");
  36. }
  37. public function Register($params){
  38. if (!isset($params['email'],$params['password']))
  39. return $this->Login($params);
  40. $errors=array();
  41. if ($params['email']=="")
  42. $errors[]="Email blank";
  43. if ($params['password']=="")
  44. $errors[]="Password blank";
  45. if (!Utils::IsValidEmail($params['email']))
  46. $errors[]="Invalid email address";
  47. $user=new User($params['email']);
  48. if ($user->UserId!=0)
  49. $errors[]="Email already in use";
  50. if (count($errors)>0)
  51. return new View("Member/login.view",array(
  52. "errors"=>$errors,
  53. "registerEmail"=>$params['email']
  54. ));
  55. $user=new User();
  56. $user->UserEmail=$params['email'];
  57. $user->UserPassword=$params['password'];
  58. $user->UserCreated=time();
  59. $user->Save();
  60. Session::SetLoggedInUser($user);
  61. header("location:/member/manage");
  62. }
  63. public function Manage($params){
  64. if (!Session::IsUserLoggedIn()){
  65. header("location:/member/");
  66. return;
  67. }
  68. $user=Session::GetLoggedInUser();
  69. $errors=array();
  70. if (isset($params['submit_form']) && $params['new_password']!=""){
  71. if ($params['new_password']==$params['confirm_password']){
  72. $user->UserPassword=$params['new_password'];
  73. $user->Save();
  74. header("location:/member/manage");
  75. return;
  76. } else
  77. $errors[]="Passwords did not match";
  78. }
  79. return new View("Member/manage.view",array("user"=>$user,"errors"=>$errors));
  80. }
  81. }