public static function checkCurrentGame() { // check if a user is logged in if (ModelUser::getCurrentUser()->getId() <= 0) { unset($_SESSION['id_game']); return; } // check if user selected another game if (isset($_POST['select_game'])) { $_SESSION['id_game'] = (int) $_POST['select_game']; } if (!isset($_SESSION['id_game'])) { return; } // check if game exists and is running/started try { $game = ModelGame::getGame($_SESSION['id_game']); } catch (NullPointerException $ex) { unset($_SESSION['id_game']); return; } if ($game->getStatus() !== GAME_STATUS_STARTED && $game->getStatus() !== GAME_STATUS_RUNNING) { unset($_SESSION['id_game']); return; } // check if user is in this game try { ModelIsInGameInfo::getIsInGameInfo(ModelUser::getCurrentUser()->getId(), $_SESSION['id_game']); } catch (NullPointerException $ex) { unset($_SESSION['id_game']); return; } // set current game ModelGame::setCurrentGame($_SESSION['id_game']); }