diff options
Diffstat (limited to 'private/session.php')
-rw-r--r-- | private/session.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/private/session.php b/private/session.php new file mode 100644 index 0000000..9f38ca4 --- /dev/null +++ b/private/session.php @@ -0,0 +1,34 @@ +<?php + +global $_CONFIG; +$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true); + +if ($_SERVER['REMOTE_ADDR'] !== "127.0.0.1" && $_SERVER['REMOTE_ADDR'] !== "::0") { + if (isset($_COOKIE['FL_SESSION_TOKEN'])) { + if (file_exists("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) { + $_PROFILE = json_decode(file_get_contents("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true); + + if (isset($_PROFILE['familine'])) { + header("Location: https://" . $_CONFIG["Global"]["domain"] . "/welcome"); + die(); + } + + $_USER = $_PROFILE['login']; + $_SUID = $_PROFILE['login']; + $_FULLNAME = $_PROFILE['name']; + } else { + header("Location: https://" . $_CONFIG["Global"]["domain"] . "/welcome"); + die(); + } + } else { + header("Location: https://" . $_CONFIG["Global"]["domain"] . "/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; +} |