Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. <?php
  2. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3. * Simple login module
  4. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  5.  
  6. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7. * Register the module
  8. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  9. function register_simple_login($handler, $navigation)
  10. {
  11. $handler->register_handler(
  12. "Simple login",
  13. "simple_login");
  14.  
  15. $handler->register_handler(
  16. "Check login",
  17. "check_login");
  18.  
  19. $handler->register_handler(
  20. "Logged in",
  21. "logged_in");
  22.  
  23. $handler->register_handler(
  24. "Log out",
  25. "log_out");
  26.  
  27. // Add simple login to the navigation
  28. $navigation -> add_item(
  29. "Simple login",
  30. make_url("Simple_login"));
  31. }
  32.  
  33. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  34. * Main handler for simple login
  35. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  36. function simple_login()
  37. {
  38. // Make sure a user is not already logged in and display
  39. // login form
  40. $content = "";
  41. if(!isset($_SESSION["simple_user"]))
  42. {
  43. $content = instance_view("login");
  44. $content = $content->parse_to_variable(array(
  45. 'target' => make_url("Check_login")));
  46. }
  47.  
  48. // If theare is already a user logged in, redirect to
  49. // logged in page
  50. else
  51. {
  52. redirect(make_url("Logged_in"));
  53. }
  54.  
  55. return make_return("Simple login", $content);
  56. }
  57.  
  58. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  59. * Check that the user exists
  60. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  61. function check_login()
  62. {
  63. // get sumitted username and password from the login form
  64. $username = $_POST['username'];
  65. $password = $_POST['password'];
  66.  
  67. // Create an instance of the users model
  68. $users = instance_model("users");
  69.  
  70. // Check that the user entered actually exists.
  71. $user = $users->check_user($username, $password);
  72.  
  73. // If the above returned an empty string, raise an error
  74. if($user == "")
  75. raise_error("Username or password is incorrect");
  76.  
  77. // Set sesion variable to indicate that a user is logged in
  78. $_SESSION['simple_user'] = $user;
  79.  
  80. // Redirect to logged in page
  81. redirect(make_url("Logged_in"));
  82. }
  83.  
  84. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  85. * Page that indicates that a user is logged in
  86. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  87. function logged_in()
  88. {
  89. // surround pages requireing authentication with this if
  90. // statement
  91. if(simple_auth())
  92. {
  93. // display logged in message
  94. $content = instance_view("logged_in");
  95. $content = $content->parse_to_variable(array(
  96. 'user' => $_SESSION['simple_user'],
  97. 'target' => make_url("Log out")));
  98.  
  99. return make_return("Logged in", $content);;
  100. }
  101. }
  102.  
  103. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  104. * Log out
  105. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  106. function log_out()
  107. {
  108. // wipe session varaible and redirect
  109. unset($_SESSION['simple_user']);
  110. redirect(make_url("Simple_login"));
  111. }
  112.  
  113. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  114. * Check that a user is logged in
  115. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  116. function simple_auth()
  117. {
  118. // Redirect to login form if no user is logged in, return
  119. // false to indicate error
  120. if(!isset($_SESSION["simple_user"]))
  121. {
  122. redirect(make_url("Simple_login"));
  123. return false;
  124. }
  125.  
  126. // else return true to indicate successful auth
  127. else
  128. {
  129. return true;
  130. }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement