Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. <?php
  2. require_once("Manager.php");
  3.  
  4. //Get action + data
  5. $data = $_POST;
  6. if (array_key_exists("mode", $_GET) && $_GET["mode"] == "get") {
  7. $data = $_GET;
  8. }
  9. if (!array_key_exists("action", $data)) {
  10. echo "No action defined.";
  11. exit();
  12. }
  13. $action = $data["action"];
  14.  
  15. switch ($action) {
  16. // username, password
  17. case "login":
  18. login($data);
  19. break;
  20. //
  21. case "logout":
  22. logout($data);
  23. break;
  24. // username, password, email, fullname, authtoken
  25. case "addaccount":
  26. addaccount($data);
  27. break;
  28. // id, username, email, fullname, authtoken
  29. case "changeaccount":
  30. changeaccount($data);
  31. break;
  32. // id, password, authtoken
  33. case "changepassword":
  34. changepassword($data);
  35. break;
  36. // id, permissions, authtoken
  37. case "changepermissions":
  38. changepermissions($data);
  39. break;
  40. // id, authtoken
  41. case "removeaccount":
  42. removeaccount($data);
  43. break;
  44. default:
  45. echo "Action not found";
  46. exit();
  47. }
  48.  
  49. echo true;
  50. return;
  51.  
  52. function login($data) {
  53. $username = htmlspecialchars($data["username"]);
  54. $password = htmlspecialchars($data["password"]);
  55.  
  56. $user = Manager::getDatabase()->getUserByUsername($username);
  57. if ($user == null || !$user->checkPassword($password)) {
  58. echo "Je gebruikersnaam of wachtwoord klopt niet.";
  59. exit();
  60. }
  61.  
  62. Manager::getSession()->setCurrentUser($user);
  63. return true;
  64. }
  65.  
  66. function logout($data) {
  67. if (!Manager::getSession()->isLoggedIn()) {
  68. echo "Je bent niet ingelogd.";
  69. exit();
  70. }
  71.  
  72. Manager::getSession()->logout();
  73. return true;
  74. }
  75.  
  76. function addaccount($data) {
  77. $username = htmlspecialchars($data["username"]);
  78. $password = htmlspecialchars($data["password"]);
  79. $email = htmlspecialchars($data["email"]);
  80. $fullname = htmlspecialchars($data["fullname"]);
  81. $authtoken = htmlspecialchars($data["authtoken"]);
  82.  
  83. Manager::getSession()->checkLoginAndToken($authtoken);
  84.  
  85. if (Manager::getDatabase()->getUserByUsername($username) != null) {
  86. echo "Er bestaat al een gebruiker met deze gebruikersnaam.";
  87. exit();
  88. }
  89.  
  90. $user = new User();
  91. $user->setUsername($username);
  92. $user->changePassword($password);
  93. $user->setEmail($email);
  94. $user->setFullname($fullname);
  95. $user->setPermissions([]);
  96. $user->generateNewToken();
  97.  
  98. Manager::getDatabase()->saveUser($user);
  99. return true;
  100. }
  101.  
  102. function changeaccount($data) {
  103. $id = htmlspecialchars($data["id"]);
  104. $username = htmlspecialchars($data["username"]);
  105. $email = htmlspecialchars($data["email"]);
  106. $fullname = htmlspecialchars($data["fullname"]);
  107. $authtoken = htmlspecialchars($data["authtoken"]);
  108.  
  109. Manager::getSession()->checkLoginAndToken($authtoken);
  110.  
  111. foreach (Manager::getDatabase()->getAllUsers() as $dbuser) {
  112. if ($dbuser->getId() != $id && $dbuser->getUsername() == $username) {
  113. echo "De gebruikersnaam is al in gebruik";
  114. exit();
  115. }
  116. }
  117.  
  118. $user = Manager::getDatabase()->getUserById($id);
  119. if ($username != null) $user->setUsername($username);
  120. if ($email != null) $user->setEmail($email);
  121. if ($fullname != null) $user->setFullname($fullname);
  122.  
  123. Manager::getDatabase()->saveUser($user);
  124. return true;
  125. }
  126.  
  127. function changepassword($data) {
  128. $id = htmlspecialchars($data["id"]);
  129. $password = $data["password"];
  130. $authtoken = htmlspecialchars($data["authtoken"]);
  131.  
  132. Manager::getSession()->checkLoginAndToken($authtoken);
  133.  
  134. $user = Manager::getDatabase()->getUserById($id);
  135. $user->changePassword($password);
  136.  
  137. Manager::getDatabase()->saveUser($user);
  138. return true;
  139. }
  140.  
  141. function changepermissions($data) {
  142. $id = htmlspecialchars($data["id"]);
  143. $perms = json_decode($data["permissions"]);
  144. $authtoken = htmlspecialchars($data["authtoken"]);
  145.  
  146. Manager::getSession()->checkLoginAndToken($authtoken);
  147.  
  148. $user = Manager::getDatabase()->getUserById($id);
  149. $user->setPermissions($perms);
  150.  
  151. Manager::getDatabase()->saveUser($user);
  152. return true;
  153. }
  154.  
  155. function removeaccount($data) {
  156. $id = htmlspecialchars($data["id"]);
  157. $authtoken = htmlspecialchars($data["authtoken"]);
  158.  
  159. Manager::getSession()->checkLoginAndToken($authtoken);
  160.  
  161. $user = Manager::getDatabase()->getUserById($id);
  162. Manager::getDatabase()->removeUser($user);
  163. return true;
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement