Exemple #1
0
     if (!$Episode->aired) {
         Response::fail('You can only vote on this episode after it has aired.');
     }
     $UserVote = Episodes::getUserVote($Episode);
     if (!empty($UserVote)) {
         Response::fail('You already voted for this episode');
     }
     $vote = (new Input('vote', 'int', array(Input::IN_RANGE => [1, 5], Input::CUSTOM_ERROR_MESSAGES => array(Input::ERROR_MISSING => 'Vote value missing from request', Input::ERROR_RANGE => 'Vote value must be an integer between @min and @max (inclusive)'))))->out();
     if (!$Database->insert('episodes__votes', array('season' => $Episode->season, 'episode' => $Episode->episode, 'user' => $currentUser->id, 'vote' => $vote))) {
         Response::dbError();
     }
     $Episode->updateScore();
     Response::done(array('newhtml' => Episodes::getSidebarVoting($Episode)));
     break;
 case "videos":
     Response::done(Episodes::getVideoEmbeds($Episode));
     break;
 case "getvideos":
     $return = array('twoparter' => $Episode->twoparter, 'vidlinks' => array(), 'fullep' => array(), 'airs' => date('c', strtotime($Episode->airs)));
     /** @var $Vids EpisodeVideo[] */
     $Vids = $Database->whereEp($Episode)->get('episodes__videos');
     foreach ($Vids as $part => $vid) {
         if (!empty($vid->id)) {
             $return['vidlinks']["{$vid->provider}_{$vid->part}"] = VideoProvider::getEmbed($vid, VideoProvider::URL_ONLY);
         }
         if ($vid->fullep) {
             $return['fullep'][] = $vid->provider;
         }
     }
     Response::done($return);
     break;