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 show()
 {
     $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0;
     $hockusers = HockUserDB::getUsersBy('name', $arguments);
     $hockuser = !empty($hockusers) ? $hockusers[0] : null;
     $webuser = null;
     if (is_null($hockuser)) {
         $hockusers = HockUserDB::getUsersBy('alias', $arguments);
         $hockuser = !empty($hockusers) ? $hockusers[0] : null;
     }
     if (!is_null($hockuser)) {
         $webusers = WebUserDB::getUsersBy('hockName', $hockuser->getUserName());
         if (!empty($webusers)) {
             $webuser = $webusers[0];
         }
     }
     if (!is_null($hockuser)) {
         $teams1 = TeamDB::getTeamsBy('uid1', $hockuser->getUserId());
         $teams2 = TeamDB::getTeamsBy('uid2', $hockuser->getUserId());
         $teams3 = TeamDB::getTeamsBy('uid3', $hockuser->getUserId());
         $allteams = array_merge($teams1, $teams2, $teams3);
         if (!is_null($allteams)) {
             $allgames = array();
             foreach ($allteams as $team) {
                 $game = GameDB::getGamesBy('teamid1', $team->getteamId());
                 $game2 = GameDB::getGamesBy('teamid2', $team->getteamId());
                 if (!empty($game)) {
                     array_push($allgames, $game[0]);
                 }
                 if (!empty($game2)) {
                     array_push($allgames, $game2[0]);
                 }
             }
             if (empty($allgames)) {
                 echo '<p>All games is empty</p>';
                 $_SESSION['allgames'] = null;
             } else {
                 usort($allgames, "UserController::cmp");
                 $_SESSION['allgames'] = $allgames;
             }
         }
         ProfileView::show($webuser, $hockuser);
     } else {
         $_SESSION['allgames'] = null;
         ProfileView::show(null, null);
     }
 }
Beispiel #3
0
 public static function updateGame($game)
 {
     // Update a user
     try {
         $db = Database::getDB();
         if (is_null($game) || $game->getErrorCount() > 0) {
             return $game;
         }
         $checkGame = GameDB::getGamesBy('id', $game->getID());
         if (empty($checkGame)) {
             $game->setError('id', 'GAME_DOES_NOT_EXIST');
         }
         if ($game->getErrorCount() > 0) {
             return $game;
         }
         $query = "UPDATE games SET pending = :pending, losereport = :losereport, winreport = :winreport, end = :end\r\n\t    \t\t\t                 WHERE id = :id";
         $statement = $db->prepare($query);
         $statement->bindValue(":id", $game->getID());
         $statement->bindValue(":pending", $game->getPending());
         $statement->bindValue(":losereport", $game->getLoseReport());
         $statement->bindValue(":winreport", $game->getWinReport());
         $statement->bindValue(":end", $game->getEnd());
         $statement->execute();
         $statement->closeCursor();
     } catch (Exception $e) {
         // Not permanent error handling
         $game->setError('id', 'GAME_COULD_NOT_BE_UPDATED');
     }
     return $game;
 }
Beispiel #4
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
 }
Beispiel #5
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>';
        //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);
            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>' . $length->i . 'm ' . $length->s . 's</td>';
            echo '</tr>';
        }
        echo '</tbody>';
        echo '</table>';
        echo '</div>';
        //end table
        //echo '</div>'; //end container
        return;
        ?>
				<h3> Active games </h3>
				(29678)  Team1: Sergio ace lymp (4502) +10/-10    Team2: zoop bizarre staniol (4480)  +10/-10    0:02:56.805000
				<br>
				<h3>Place bet:</h3>
				<form action="bet" method="post">
				Game to bet on: <input type="text" name="game" tabindex="1" <?php 
        if (!is_null($bet)) {
            echo 'value = "' . $bet->getGame() . '"';
        }
        ?>
 required>
				<span class="error">
				   <?php 
        if (!is_null($bet)) {
            echo $bet->getError('game');
        }
        ?>
				</span>
				<br>
				Amount to bet: <input type="text" name="betAmount" tabindex="2" <?php 
        if (!is_null($bet)) {
            echo 'value = "' . $bet->getBetAmount() . '"';
        }
        ?>
 required>
				<span class="error">
				   <?php 
        if (!is_null($bet)) {
            echo $bet->getError('betAmount');
        }
        ?>
				</span>
				<br>
				<input type="submit" value="Submit" tabindex="3">
				</form>
			<?php 
    }