Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Simple login module
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Register the module
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function register_simple_login($handler, $navigation)
- {
- $handler->register_handler(
- "Simple login",
- "simple_login");
- $handler->register_handler(
- "Check login",
- "check_login");
- $handler->register_handler(
- "Logged in",
- "logged_in");
- $handler->register_handler(
- "Log out",
- "log_out");
- // Add simple login to the navigation
- $navigation -> add_item(
- "Simple login",
- make_url("Simple_login"));
- }
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Main handler for simple login
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function simple_login()
- {
- // Make sure a user is not already logged in and display
- // login form
- $content = "";
- if(!isset($_SESSION["simple_user"]))
- {
- $content = instance_view("login");
- $content = $content->parse_to_variable(array(
- 'target' => make_url("Check_login")));
- }
- // If theare is already a user logged in, redirect to
- // logged in page
- else
- {
- redirect(make_url("Logged_in"));
- }
- return make_return("Simple login", $content);
- }
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Check that the user exists
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function check_login()
- {
- // get sumitted username and password from the login form
- $username = $_POST['username'];
- $password = $_POST['password'];
- // Create an instance of the users model
- $users = instance_model("users");
- // Check that the user entered actually exists.
- $user = $users->check_user($username, $password);
- // If the above returned an empty string, raise an error
- if($user == "")
- raise_error("Username or password is incorrect");
- // Set sesion variable to indicate that a user is logged in
- $_SESSION['simple_user'] = $user;
- // Redirect to logged in page
- redirect(make_url("Logged_in"));
- }
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Page that indicates that a user is logged in
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function logged_in()
- {
- // surround pages requireing authentication with this if
- // statement
- if(simple_auth())
- {
- // display logged in message
- $content = instance_view("logged_in");
- $content = $content->parse_to_variable(array(
- 'user' => $_SESSION['simple_user'],
- 'target' => make_url("Log out")));
- return make_return("Logged in", $content);;
- }
- }
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Log out
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function log_out()
- {
- // wipe session varaible and redirect
- unset($_SESSION['simple_user']);
- redirect(make_url("Simple_login"));
- }
- /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Check that a user is logged in
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- function simple_auth()
- {
- // Redirect to login form if no user is logged in, return
- // false to indicate error
- if(!isset($_SESSION["simple_user"]))
- {
- redirect(make_url("Simple_login"));
- return false;
- }
- // else return true to indicate successful auth
- else
- {
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement