diff options
Diffstat (limited to 'private')
-rw-r--r-- | private/.htaccess | 1 | ||||
-rw-r--r-- | private/session.php | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/private/.htaccess b/private/.htaccess new file mode 100644 index 0000000..2c73686 --- /dev/null +++ b/private/.htaccess @@ -0,0 +1 @@ +Deny from All
\ No newline at end of file diff --git a/private/session.php b/private/session.php new file mode 100644 index 0000000..e0135db --- /dev/null +++ b/private/session.php @@ -0,0 +1,30 @@ +<?php + +$_CONFIG = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/FamilineConfig.json"), true); + +if (isset($_COOKIE['FL_SESSION_TOKEN'])) { + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) { + $_PROFILE = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true); + + if (isset($_PROFILE['familine'])) { + header("Location: /welcome"); + die(); + } + + $_USER = $_PROFILE['login']; + $_SUID = $_PROFILE['login']; + $_FULLNAME = $_PROFILE['name']; + } else { + header("Location: /welcome"); + die(); + } +} else { + header("Location: /welcome"); + die(); +} + +if (isset($_PROFILE["projectRoles"]) && is_array($_PROFILE["projectRoles"]) && isset($_PROFILE["projectRoles"][0]) && is_array($_PROFILE["projectRoles"][0]) && isset($_PROFILE["projectRoles"][0]["role"]) && is_array($_PROFILE["projectRoles"][0]["role"]) && isset($_PROFILE["projectRoles"][0]["role"]["key"]) && is_string($_PROFILE["projectRoles"][0]["role"]["key"]) && $_PROFILE["projectRoles"][0]["role"]["key"] === "system-admin") { + $_ADMIN = true; +} else { + $_ADMIN = false; +} |