user.inc.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. Class User {
  3. private $username = "";
  4. private $userID = NULL;
  5. private $password = "";
  6. private $email = "";
  7. private $loggedIn = false;
  8. public function __construct($username) {
  9. if($username != NULL) {
  10. $this->username = $username;
  11. }
  12. }
  13. public function setLoggedIn($loggedIn) {
  14. $this->loggedIn = $loggedIn;
  15. }
  16. public function getLoggedIn() {
  17. return $this->loggedIn;
  18. }
  19. public function setUserID($userID) {
  20. $this->userID = $userID;
  21. }
  22. public function getUserID() {
  23. return $this->userID;
  24. }
  25. public function login($username, $password) {
  26. global $db;
  27. global $CONFIG;
  28. $this->username = $username;
  29. $this->password = $password;
  30. $user = $db->selectQuery("SELECT * FROM `users` WHERE `username` = '" . $username . "'");
  31. if(sizeof($user) > 1) {
  32. die('Something really went wrong.');
  33. }
  34. if(sizeof($user) < 1) {
  35. die('No such user.');
  36. }
  37. if($user[0]->password === md5($password)) {
  38. $_SESSION['loggedIn'] = true;
  39. $_SESSION['username'] = $this->username;
  40. $this->loggedIn = true;
  41. header("Location: " . $CONFIG['url']);
  42. } else {
  43. return false;
  44. }
  45. }
  46. public function loginByUsername($username) {
  47. global $db;
  48. $user = $db->selectQuery("SELECT * FROM `users` WHERE `username` = '" . $username . "'");
  49. if(sizeof($user) > 1) {
  50. die('Something really went wrong.');
  51. }
  52. if(sizeof($user) < 1) {
  53. die('No such user.');
  54. }
  55. $_SESSION['loggedIn'] = true;
  56. $this->userID = $user[0]->id;
  57. $this->loggedIn = true;
  58. }
  59. public function logout() {
  60. global $CONFIG;
  61. $this->username = "";
  62. $this->password = "";
  63. $this->email = "";
  64. $_SESSION['loggedIn'] = false;
  65. $this->loggedIn = false;
  66. unset($_SESSION['username']);
  67. session_destroy();
  68. header("Location: " . $CONFIG['url']);
  69. }
  70. }
  71. ?>