public function view($id) { $this->loadModel('User'); $event = $this->BatbEvent->returnEvent($id); if (count($event) <= 0) { return $this->invalidUrl(); } $userSelect = $this->User->userSelectList(array("OR" => array("User.pro_skater" => 1, "User.am_skater" => 1))); $winningLettersDrop = BatbMatch::winningLettersDrop(); $this->set(compact("event", "userSelect", "winningLettersDrop")); }
public function returnEvent($id, $videos = false, $posts = false) { $token = "batb_" . $id . "_" . $videos . "_" . $posts; if (($event = Cache::read($token, "1min")) === false || isset($_SERVER['DEVSERVER'])) { //lets get the general event deatils $event = $this->find("first", array("conditions" => array("BatbEvent.id" => $id), "contain" => array())); //lets grab all the matches $players = $event['BatbEvent']['num_players']; $num_brackets = BatbMatch::totalBrackets($players); $brackets = array(); $contain = array("Player1User", "Player2User"); if ($videos) { $contain[] = "PreGameVideo"; $contain[] = "BattleVideo"; $contain[] = "PostGameVideo"; } else { if ($posts) { $contain = array("BattlePost" => array("DailyopMediaItem" => array("MediaFile", "order" => array("DailyopMediaItem.display_weight" => "ASC"))), "PreGamePost" => array("DailyopMediaItem" => array("MediaFile", "order" => array("DailyopMediaItem.display_weight" => "ASC"))), "PostGamePost" => array("DailyopMediaItem" => array("MediaFile", "order" => array("DailyopMediaItem.display_weight" => "ASC"))), "Player1User", "Player2User"); //$contain = array(); } } for ($num_brackets; $num_brackets >= 0; $num_brackets--) { $matches = $this->BatbMatch->find("all", array("conditions" => array("BatbMatch.batb_event_id" => $event['BatbEvent']['id'], "BatbMatch.bracket_num" => $num_brackets), "order" => array("BatbMatch.match_num" => "ASC"), "contain" => $contain)); if ($posts) { App::import("Model", "Dailyop"); $dailyop = new Dailyop(); foreach ($matches as $k => $v) { if (!empty($v['BatbMatch']['pregame_dailyop_id'])) { $matches[$k]['PreGamePost'] = $dailyop->returnPost(array("Dailyop.id" => $v['BatbMatch']['pregame_dailyop_id'])); } if (!empty($v['BatbMatch']['battle_dailyop_id'])) { $matches[$k]['BattlePost'] = $dailyop->returnPost(array("Dailyop.id" => $v['BatbMatch']['battle_dailyop_id'])); } if (!empty($v['BatbMatch']['postgame_dailyop_id'])) { $matched[$k]['PostGamePost'] = $dailyop->returnPost(array("Dailyop.id" => $v['BatbMatch']['postgame_dailyop_id'])); } } } $brackets[$num_brackets] = $matches; } $event['Brackets'] = $brackets; Cache::write($token, $event, "1min"); } return $event; }