} } } } $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 (Permission::sufficient('developer')) { $username = Posts::validatePostAs();