Exemplo n.º 1
0
 public static function show()
 {
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $bet = new Bet($_POST);
         if ($bet->getErrorCount() == 0) {
             //make sure authenticatedUser is set
             $authenticatedUser = array_key_exists('authenticatedUser', $_SESSION) ? $_SESSION['authenticatedUser'] : null;
             if (is_null($authenticatedUser)) {
                 $bet->setError('user', 'USER_NOT_AUTH');
                 BetView::show($bet);
                 return;
             }
             $hockname = $authenticatedUser->getHockName();
             $bet->setUser(strtolower($hockname));
             //game exists check
             $games = GameDB::getGamesBy('id', $bet->getGameID());
             if (empty($games)) {
                 $bet->setError('game', 'NO_GAMEID');
                 BetView::show($bet);
                 return;
             }
             //user already has a bet check
             $game = $games[0];
             $bets = BetDB::getBetsBy('game', $game->getID());
             if (!empty($bets)) {
                 foreach ($bets as $bet) {
                     if (strcmp($bet->getUser(), strtolower($hockname)) == 0) {
                         $bet->setError('game', 'BET_ALREADY');
                         BetView::show($bet);
                         return;
                     }
                 }
             }
             //pending check
             if ($game->getPending() != 1) {
                 $bet->setError('game', 'GAME_NOT_PENDING');
                 BetView::show($bet);
                 return;
             }
             //game time check
             $start = new DateTime($game->getStart());
             $diff = $start->diff($bet->getTime());
             if ($diff->m != 0 || $diff->d != 0 || $diff->h != 0 || $diff->i >= 5) {
                 $bet->setError('game', 'LATE_BET');
                 BetView::show($bet);
                 return;
             }
             //Should be ok to submit bet...
             $id = BetDB::addBet($bet);
             $bet->setBetID($id);
             BetView::show($bet);
             //SimpleEchoView::show($bet);
         } else {
             BetView::show($bet);
         }
     } else {
         // Initial link
         BetView::show(null);
     }
 }
Exemplo n.º 2
0
 public static function showGames()
 {
     $base = array_key_exists('base', $_SESSION) ? $_SESSION['base'] : "";
     //echo '<div class="container">';
     echo '<h1>Bet On These Active Games</h1>';
     //$games = (array_key_exists('activegames', $_SESSION))?$_SESSION['activegames']:array();
     $games = GameDB::getGamesBy('pending', 1);
     if (empty($games)) {
         //echo '</div>';
         return;
     }
     echo '<div class="table-responsive">';
     echo '<table class="table">';
     echo '<thead>';
     echo '<tr>';
     echo '<th>GameID</th>';
     echo '<th>User1</th>';
     echo '<th>User2</th>';
     echo '<th>User3</th>';
     echo '<th>TeamSkill</th>';
     echo '<th>+/-</th>';
     echo '<th>User4</th>';
     echo '<th>User5</th>';
     echo '<th>User6</th>';
     echo '<th>TeamSkill</th>';
     echo '<th>+/-</th>';
     echo '<th>Length</th>';
     echo '</tr>';
     echo '</thead>';
     echo '<tbody>';
     $authenticatedUser = array_key_exists('authenticatedUser', $_SESSION) ? $_SESSION['authenticatedUser'] : null;
     //iterate through all games
     foreach ($games as $game) {
         //If the game is not finished or had a bad/cancel don't show here
         if ($game->getPending() != 1) {
             continue;
         }
         $teams = TeamDB::getTeamsBy('id', $game->getTeamID1());
         if (empty($teams)) {
             break;
         }
         $team1 = $teams[0];
         $teams = TeamDB::getTeamsBy('id', $game->getTeamID2());
         if (empty($teams)) {
             break;
         }
         $team2 = $teams[0];
         if (is_null($team1) || is_null($team2)) {
             break;
         }
         if (!is_null($authenticatedUser)) {
             $bets = BetDB::findBet($game->getID(), $authenticatedUser->getHockName());
             if (!empty($bets)) {
                 continue;
             }
         }
         $worth = GameController::calcWorth($game->getTeamSkill1(), $game->getTeamSkill2());
         //team1
         $user1 = HockUserDB::getUserByID_NameAndHome($team1->getUID1());
         $user2 = HockUserDB::getUserByID_NameAndHome($team1->getUID2());
         $user3 = HockUserDB::getUserByID_NameAndHome($team1->getUID3());
         //team2
         $user4 = HockUserDB::getUserByID_NameAndHome($team2->getUID1());
         $user5 = HockUserDB::getUserByID_NameAndHome($team2->getUID2());
         $user6 = HockUserDB::getUserByID_NameAndHome($team2->getUID3());
         if (empty($user1) || empty($user2) || empty($user3) || empty($user4) || empty($user5) || empty($user6)) {
             break;
         }
         $user1 = $user1[0];
         $user2 = $user2[0];
         $user3 = $user3[0];
         $user4 = $user4[0];
         $user5 = $user5[0];
         $user6 = $user6[0];
         $start = new DateTime($game->getStart());
         $end = new DateTime(date("Y-m-d H:i:s"));
         $length = $end->diff($start);
         $timestr = "";
         if ($length->m != 0) {
             $timestr = $timestr . $length->m . "mo ";
         }
         if ($length->d != 0) {
             $timestr = $timestr . $length->d . "d ";
         }
         if ($length->h != 0) {
             $timestr = $timestr . $length->h . "h ";
         }
         $timestr = $timestr . $length->i . "m " . $length->s . "s";
         echo '<tr class="' . $game->getServer() . '">';
         echo '<td class="' . $game->getServer() . '">' . $game->getID() . '</td>';
         echo '<td class="' . $user1->getHome() . '"><a href="' . $base . '/user/show/' . $user1->getUserName() . '">' . $user1->getUserName() . '</td>';
         echo '<td class="' . $user2->getHome() . '"><a href="' . $base . '/user/show/' . $user2->getUserName() . '">' . $user2->getUserName() . '</td>';
         echo '<td class="' . $user3->getHome() . '"><a href="' . $base . '/user/show/' . $user3->getUserName() . '">' . $user3->getUserName() . '</td>';
         echo '<td>' . $game->getTeamSkill1() . '</td>';
         echo '<td class="edge">+' . $worth[0] . '/-' . $worth[1] . '</td>';
         echo '<td class="' . $user4->getHome() . '"><a href="' . $base . '/user/show/' . $user4->getUserName() . '">' . $user4->getUserName() . '</td>';
         echo '<td class="' . $user5->getHome() . '"><a href="' . $base . '/user/show/' . $user5->getUserName() . '">' . $user5->getUserName() . '</td>';
         echo '<td class="' . $user6->getHome() . '"><a href="' . $base . '/user/show/' . $user6->getUserName() . '">' . $user6->getUserName() . '</td>';
         echo '<td>' . $game->getTeamSkill2() . '</td>';
         echo '<td>+' . $worth[1] . '/-' . $worth[0] . '</td>';
         echo '<td>' . $timestr . '</td>';
         echo '</tr>';
     }
     echo '</tbody>';
     echo '</table>';
     echo '</div>';
     //end table
     //echo '</div>'; //end container
 }
Exemplo n.º 3
0
 public static function getBetValuesBy($column, $type = null, $value = null)
 {
     // Returns the $column of bets whose $type field has value $value
     $betRows = BetDB::getBetRowSetsBy($type, $value);
     return BetDB::getBetValues($betRows, $column);
 }