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); } }
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 }
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); }