| 
<?php
 session_start();
 
 require_once dirname(__FILE__, 2) . '/config/config.php';
 
 $db = new Uploady\Database();
 
 $utils = new Uploady\Utils();
 
 $user = new Uploady\User($db, $utils);
 
 $auth = new Uploady\Auth($db, $utils, $user);
 
 $settings = new Uploady\Settings($db);
 
 $st = $settings->getSettings();
 
 if (isset($_SESSION)) {
 $username = isset($_SESSION['username']) ? $_SESSION['username'] : null;
 
 if (!isset($_SESSION['loggedin'])) {
 $utils->redirect($utils->siteUrl("/login.php"));
 }
 
 if ($username != null) {
 $data = $user->get($username);
 
 if (!isset($_SESSION['current_ip'])) {
 $_SESSION['current_ip'] = $utils->sanitize($_SERVER['REMOTE_ADDR']);
 }
 
 if (!(isset($_SESSION['csrf']))) {
 $auth->generateSessionToken();
 }
 
 if ($user->isTwoFAEnabled($username) == true) {
 if (!isset($_SESSION['OTP']) || $_SESSION['OTP'] != true) {
 if (!strpos($current_url, "auth.php")) {
 $utils->redirect($utils->siteUrl("/auth.php"));
 }
 }
 }
 
 if (isset($_SESSION['isHuman'])) {
 if ($_SESSION['isHuman'] == false) {
 $utils->redirect($utils->siteUrl('/logout.php'));
 }
 }
 
 if ($data->role != 3) {
 $utils->redirect($utils->siteUrl('/index.php'));
 }
 } else {
 $utils->redirect($utils->siteUrl("/login.php"));
 }
 }
 
 |