validate($user->id, $ip) && $user->activated) { // Assign the user object self::$user = $user; } else { self::$user = User::constructFromId(0); } } /** * Stop the current session. */ public static function stop() : void { self::$session->delete(); session_regenerate_id(true); session_destroy(); } /** * Create a new Miiverse session. * * @param int $user * @param string $ip * @param string $country * @param bool $remember * @param int $length * * @return Session */ public static function create(int $user, string $ip, string $country, int $length = 604800) { return Session::create($user, $ip, $country, $length); } /** * Auth a user based on their console info. * * @param object $serviceToken * * @return void */ public static function authByConsole($serviceToken) : void { $consoles = DB::table('console_auth') ->where([ 'long_id' => $serviceToken->long, ]) ->count(); // TODO: Clean this if ($consoles === 1) { $user = DB::table('console_auth') ->where([ 'long_id' => $serviceToken->long, ]) ->first(); } elseif ($consoles > 1) { $consoles = DB::table('console_auth') ->where([ 'long_id' => $serviceToken->long, ]) ->count(); if ($consoles === 1) { $user = DB::table('console_auth') ->where([ 'long_id' => $serviceToken->long, ]) ->first(); } } if (isset($user)) { // Populate the user data $user = User::constructFromId($user->user_id); // Check if the user is activated if ($user->activated) { // Assign the user object self::$user = $user; } else { self::$user = User::constructFromId(0); } } else { self::$user = User::constructFromId(0); } // Ban Check if (self::$user->restricted) { if (strpos($_SERVER['REQUEST_URI'], '/device_ban') === false) redirect(route('warning.deviceban')); } } }