Response::done(array('fullsize' => $fullsize)); } } } } } $type = (new Input('what', function ($value) { if (!in_array($value, Posts::$TYPES)) { return Input::ERROR_INVALID; } }, array(Input::IS_OPTIONAL => true, Input::CUSTOM_ERROR_MESSAGES => array(Input::ERROR_INVALID => 'Post type (@value) is invalid'))))->out(); if (!empty($type) && $type === 'reservation') { if (Permission::insufficient('member')) { Response::fail(); } Users::reservationLimitExceeded(); } $Image = Posts::checkImage(Posts::validateImageURL()); if (empty($type)) { Response::done(array('preview' => $Image->preview, 'title' => $Image->title)); } $insert = array('preview' => $Image->preview, 'fullsize' => $Image->fullsize); $season = Episodes::validateSeason(Episodes::ALLOW_MOVIES); $episode = Episodes::validateEpisode(); $epdata = Episodes::getActual($season, $episode, Episodes::ALLOW_MOVIES); if (empty($epdata)) { Response::fail("The specified episode (S{$season}E{$episode}) does not exist"); } $insert['season'] = $epdata->season; $insert['episode'] = $epdata->episode; $ByID = $currentUser->id;
} if (empty($token)) { $token = preg_replace(new RegExp('[^a-z\\d]', 'i'), '', base64_encode(random_bytes(12))); UserPrefs::set('discord_token', $token); } Response::done(array('token' => $token)); } CSRFProtection::protect(); if (empty($data)) { CoreUtils::notFound(); } if ($data === 'suggestion') { if (Permission::insufficient('member')) { Response::fail('You must be a club member to use this feature.'); } if (Users::reservationLimitExceeded(RETURN_AS_BOOL)) { Response::fail('You already have the maximum 4 reservations. Close this dialog to view or cancel them.', ['limithit' => true]); } $postIDs = $Database->rawQuery('SELECT id FROM requests WHERE deviation_id IS NULL && (reserved_by IS NULL OR reserved_at < NOW() - INTERVAL \'3 WEEK\')'); $drawArray = []; foreach ($postIDs as $post) { $drawArray[] = $post['id']; } $chosen = $drawArray[array_rand($drawArray)]; /** @var $Request \App\Models\Request */ $Request = $Database->where('id', $chosen)->getOne('requests'); Response::done(array('suggestion' => Posts::getSuggestionLi($Request))); } if (preg_match(new RegExp('^sessiondel/(\\d+)$'), $data, $_match)) { $Session = $Database->where('id', $_match[1])->getOne('sessions');