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 showDetails($bet)
    {
        $base = array_key_exists('base', $_SESSION) ? $_SESSION['base'] : "";
        echo '</span>';
        $authenticatedUser = array_key_exists('authenticatedUser', $_SESSION) ? $_SESSION['authenticatedUser'] : null;
        if (!is_null($authenticatedUser)) {
            ?>
			<h4>Bet before game has been active for 5 minutes</h4>
			<h4>Min bet: 1, Max bet: 10</h4>
			<form action="bet" method="post">
			Game ID: <input type="number" name="game" required></input>
			<span class="error">
		   	<?php 
            if (!is_null($bet)) {
                echo $bet->getError('game');
            }
            ?>
			</span>
			<br>Amount: <input type="number" name="wager" min="1" max="10" required></input>
			<span class="error">
		   	<?php 
            if (!is_null($bet)) {
                echo $bet->getError('wager');
            }
            ?>
			</span>
			<br><input type="radio" name="team" value="team1" required></input> Left Team
			<input type="radio" name="team" value="team2"></input> Right Team
			<span class="error">
		   	<?php 
            if (!is_null($bet)) {
                echo $bet->getError('team');
            }
            ?>
			</span>
			<br><input type="submit" value="Submit">
			<span class="error">
		   	<?php 
            if (!is_null($bet)) {
                echo $bet->getError('user');
            }
            ?>
			</span>
			<br>
			<span class="success">
		   	<?php 
            if (!is_null($bet) && $bet->getErrorCount() == 0 && $bet->getBetID() != 0) {
                echo "Success!  Bet Recorded!";
            }
            ?>
			</span>
			</form>
			<?php 
        }
        #echo '<h3>Generate a new game randomly to test</h3>';
        #echo '<button type="button" class="generate">Generate New Game</button>';
        echo '</div>';
        //end container
        ?>
			<script>
			$(document).ready(
				function(){
			       $("button.generate").click(
			    	   function(){
			              $.ajax({url:<?php 
        echo '"' . $base . '/bet/generate"';
        ?>
, 
			    	      success: function(result){$("#games").html(result);}
			            });
			     });
			});
			</script>
		<?php 
        if (is_null($authenticatedUser)) {
            return;
        }
        echo '<div class="container">';
        echo '<h1>Pending Games You Have Bets For</h1>';
        $bets = BetDB::getBetsBy('who', strtolower($authenticatedUser->getHockName()));
        if (empty($bets)) {
            return;
        }
        $games = array();
        foreach ($bets as $b) {
            $game = GameDB::getGamesBy('id', $b->getGameID());
            if (empty($game)) {
                continue;
            }
            $g = $game[0];
            if ($g->getPending() == 1) {
                array_push($games, $g);
            }
        }
        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 '<th>Bet</th>';
        echo '<th>Amount</th>';
        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';
        //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;
            }
            $worth = GameController::calcWorth($game->getTeamSkill1(), $game->getTeamSkill2());
            //team1
            $user1 = HockUserDB::getUsersBy('id', $team1->getUID1());
            $user2 = HockUserDB::getUsersBy('id', $team1->getUID2());
            $user3 = HockUserDB::getUsersBy('id', $team1->getUID3());
            //team2
            $user4 = HockUserDB::getUsersBy('id', $team2->getUID1());
            $user5 = HockUserDB::getUsersBy('id', $team2->getUID2());
            $user6 = HockUserDB::getUsersBy('id', $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 = $start->diff($end);
            $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";
            $bets = BetDB::findBet($game->getID(), $authenticatedUser->getHockName());
            $selected = "";
            $amount = "";
            if (!empty($bets)) {
                $b = $bets[0];
                $selected = $b->getTeam();
                $amount = $b->getBetAmount();
            }
            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 class="edge">' . $timestr . '</td>';
            echo '<td>' . $selected . '</td>';
            echo '<td>$' . $amount . '</td>';
            echo '</tr>';
        }
        echo '</tbody>';
        echo '</table>';
        echo '</div>';
        //end container
    }