diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/login.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/login.php b/lib/login.php new file mode 100644 index 0000000..1da5a02 --- /dev/null +++ b/lib/login.php @@ -0,0 +1,36 @@ +<?php +function check_login() { + if(!isset($_COOKIE['username'])) return false; + if(!isset($_COOKIE['password'])) return false; + + return true; +} + +$logged_in = check_login(); + +function if_logged_in($is, $redirect, $back = false) { + global $logged_in; + if ($logged_in != $is) return; + if ($back) { + $prev = $_SERVER['HTTP_REFERER']; + $ONE_HOUR = time() + (60 * 60); + setcookie("prev", $prev, $ONE_HOUR, "/"); + } + http_response_code(302); + header("Location: ".$redirect); + die(); +} + +function cookie_redir($username, $password, $url = "") { + $ONE_YEAR = time() + (60 * 60 * 24 * 365); + setcookie("username", $username, $ONE_YEAR, "/"); + setcookie("password", $password, $ONE_YEAR, "/"); // TODO: use tokens to login + if (!$url) { + $prev = $_COOKIE['prev']; + if(!$prev) $url = "/"; + else $url = $prev; + } + header("Location: ".$url); + die(); +} +?> |