require DOCUMENT_ROOT . 'classes/Treasherlocked.php'; /* Check if the user is logged in */ $loginHelper = new LoginHelper($db); if (!$loginHelper->IsLoggedIn()) { $continue = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; header("Location: " . SITE_URL . "login/?continue={$continue}"); exit; } // Check if the event has started $ts = new Treasherlocked($db); // Treasherlocked is the boss if ($ts->getEventStatus() == EVENT_NOT_STARTED) { header('Location: ' . SITE_URL); exit; } $curLevel = $ts->getCurrentLevel(); // Current levels of the user if (isset($_GET['level']) && $_GET['level'] <= $curLevel) { $reqLevel = $db->escape($_GET['level']); // Requested level if (is_numeric($_GET['level'])) { // Check if the level has an URL mask. If it has an URL mask, it should appear instead of level number $url_mask = $ts->getURLMask($curLevel); if ($url_mask) { header('Location: ' . SITE_URL . 'level/' . $url_mask . '/'); exit; } if ($reqLevel == 0 && $curLevel == 0) { // Only Faceook users will be forced to like pages if ($_SESSION['oauth_type'] == OAUTH_FACEBOOK) { require DOCUMENT_ROOT . 'includes/html/event/facebook_likes.php';
$response = new Response(); /* Check if the user is logged in */ $loginHelper = new LoginHelper($db); if (!$loginHelper->IsLoggedIn()) { $response->error('Not authorized!'); $response->send(); exit; } if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['answer']) && isset($_POST['level'])) { $ts = new Treasherlocked($db); if ($ts->getEventStatus() == EVENT_NOT_STARTED) { $response->send404(); exit; } $level = $db->escape($_POST['level']); if ($level == $ts->getCurrentLevel()) { // Update attempts $_SESSION['attempts'] = ++$_SESSION['attempts']; $answer = preg_replace('/[\\s\\.\'\\",]+/i', '', strtolower($_POST['answer'])); $answer = sha1($answer); if ($answer == $_SESSION['answer']) { $time = date('Y-m-d H:i:s', time()); if ($db->insert('gameplay', array('user_id' => $_SESSION['user_id'], 'level' => $level, 'clear_time' => $time, 'attempts' => $_SESSION['attempts']))) { $ts->upgradeLevel(++$_SESSION['level']); if ($_SESSION['level'] > NO_OF_LEVELS) { $response->finished(); } $response->success(); $response->correctAnswer(); } else { $response->error('ERR_DB_INSRT: Unexpected error!');