aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/login.php36
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();
+}
+?>