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"));
 }
Example #2
0
 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;
 }