예제 #1
0
function drawEndGames($pageMode, $id, $rank, $endgameIds, $db)
{
    $commentMap = getCommentsMap($db);
    ?>

<style type="text/css">
	.content
	{
		width:1250px;
	}
	
	#main
	{
		width:1250px;
	}
	.scoredetail td
	{
		text-align:center;
	}

</style>
<script type="text/javascript" src="js/wz_tooltip/wz_tooltip.js"></script>
<script type="text/javascript">
				
			
	function showTip( e, val, delay )
	{
		if(!e)
		{
			Tip(val,DELAY,delay, FADEIN, 200, FADEOUT, 200);
			
		}
		else
		{
			// firefox and safari
			Tip(val,DELAY,delay, FADEIN, 200, FADEOUT, 200);
		}
							
		return true;
	}
	
	function clearTip()
	{
		UnTip();
		return true;
	}
	
</script>
<div id="main" class='widetable'>
	<?php 
    $roundMap = getRoundMap();
    $seedMap = getSeedMap($db);
    $scoring = getHistoricalProbabilities();
    $childGraph = getChildGraph();
    if ($pageMode == "view_all" || $pageMode == "bracket" || $pageMode == "selected_end_games") {
        if ($pageMode == "view_all") {
            $bracket_query = "select count(*) num_paths from possible_scores p where rank='" . $rank . "' and p.`type`='path_to_victory'";
            $bracket_data = mysql_query($bracket_query, $db) or die(mysql_error());
            $bracket_data = mysql_fetch_array($bracket_data);
        } else {
            if ($pageMode == "selected_end_games") {
                $bracket_data['num_paths'] = count($endgameIds);
            } else {
                $probQuery = "SELECT `probability_win` FROM `probability_of_winning` WHERE `id` = '" . $id . "' and `rank`='" . $rank . "'";
                $prob_data = mysql_query($probQuery, $db) or die(mysql_error());
                $prob_data = mysql_fetch_array($prob_data);
                $pBracketWin = $prob_data['probability_win'];
                $bracket_query = "select name, count(*) num_paths, id from brackets b, possible_scores p where b.id = p.bracket_id and id ='" . $id . "' and rank='" . $rank . "' and p.`type`='path_to_victory' group by b.name";
                $bracket_data = mysql_query($bracket_query, $db) or die(mysql_error());
                $bracket_data = mysql_fetch_array($bracket_data);
            }
        }
        if ($pageMode == "view_all") {
            $titleText = "End Game Scenarios For Everyone";
        } else {
            if ($pageMode == "selected_end_games") {
                $titleText = "Selected End Game Scenarios";
            } else {
                $titleText = "End Game Scenarios For " . $bracket_data['name'];
            }
        }
        ?>
	<div class="full">
		<h2><?php 
        echo $titleText;
        ?>
</h2>
		<h3>
		<?php 
        echo $bracket_data['num_paths'];
        ?>
 possible paths to finish #<?php 
        echo $rank;
        if ($pageMode == "bracket") {
            if ($pBracketWin) {
                echo ", Probability of winning: " . number_format($pBracketWin * 100, 2) . "%";
            }
        }
        ?>
</h3>
	</div>
	<div id="border" align="left">
		<ul>
		<?php 
        if ($pageMode == "bracket" || $pageMode == "view_all") {
            echo "<li><a href='endgamesummary.php'>Back to End Game Scenarios Summary</a></br>";
        }
        ?>
		<?php 
        if ($pageMode == "bracket") {
            echo "<li><a href='view.php?id=" . $id . "'>View Bracket</a>";
            if ($commentMap[$id] > 0) {
                echo " <span class=\"recentComment\"><a href='view.php?id=" . $id . "#comments'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>";
            }
            echo "</li>";
        }
        ?>
		</ul>			
		<?php 
        $winners_query = "SELECT * FROM `master` WHERE `id`=2";
        //winners
        $winners_data = mysql_query($winners_query, $db);
        $winners_data = mysql_fetch_array($winners_data);
        if ($pageMode == "view_all") {
            $end_game_query = "select b.id, e.id eid, score, name, e.`49`,e.`50`,e.`51`,e.`52`,e.`53`,e.`54`,e.`55`,e.`56`,e.`57`,e.`58`,e.`59`,e.`60`,e.`61`,e.`62`,e.`63` " . "from possible_scores p, brackets b, end_games e " . "where e.eliminated = false and p.bracket_id = b.id and e.id = outcome_id and e.round='7'  and p.`type`='path_to_victory' and rank=" . $rank . " order by `name`, `63`,`62`,`61`,`60`,`59`,`58`,`57`,`56`,`55`,`54`,`53`,`52`,`51`,`50`,`49`, score";
        } else {
            if ($pageMode == "selected_end_games") {
                $endgameList = "(";
                foreach ($endgameIds as $id) {
                    $endgameList .= $id . ",";
                }
                $endgameList .= " -1)";
                $end_game_query = "select b.id, e.id eid, score, name, e.`49`,e.`50`,e.`51`,e.`52`,e.`53`,e.`54`,e.`55`,e.`56`,e.`57`,e.`58`,e.`59`,e.`60`,e.`61`,e.`62`,e.`63` " . "from possible_scores p, brackets b, end_games e " . "where p.bracket_id = b.id and e.id = outcome_id and p.`type`='path_to_victory' and rank=" . $rank . " and outcome_id in " . $endgameList . " order by `name`, `63`,`62`,`61`,`60`,`59`,`58`,`57`,`56`,`55`,`54`,`53`,`52`,`51`,`50`,`49`, score";
            } else {
                $end_game_query = "select e.id eid, score, name, e.`49`,e.`50`,e.`51`,e.`52`,e.`53`,e.`54`,e.`55`,e.`56`,e.`57`,e.`58`,e.`59`,e.`60`,e.`61`,e.`62`,e.`63` " . "from possible_scores p, brackets b, end_games e " . "where e.eliminated = false and b.id='" . $id . "'  and p.`type`='path_to_victory'and p.bracket_id = b.id and e.id = outcome_id and e.round='7' and rank=" . $rank . " order by `63`,`62`,`61`,`60`,`59`,`58`,`57`,`56`,`55`,`54`,`53`,`52`,`51`,`50`,`49`";
            }
        }
        $end_game_data = mysql_query($end_game_query, $db) or die(mysql_error());
        echo "<table class='scoredetail' border='1' cellpadding='3'>";
        echo "<tr class='tableheader'>\n";
        echo "<td>#</td>";
        if ($pageMode == "view_all" || $pageMode == "selected_end_games") {
            echo "<td>Winner</td>";
        }
        echo "<td>Bracket Score</td>";
        echo "<td colspan='8'>Sweet 16 Winners</td>";
        echo "<td colspan='4'>Elite 8 Winners</td>";
        echo "<td colspan='2'>Final 4 Winners</td>";
        echo "<td>Champ</td>";
        echo "<td>P(Win)</td>";
        echo "</tr>";
        $i = 1;
        while ($bracket = mysql_fetch_array($end_game_data)) {
            echo "<tr>\n";
            echo "<td><a href='if.php?id=" . $bracket['eid'] . "'>" . $i . "</a></td>\n";
            if ($pageMode == "view_all" || $pageMode == "selected_end_games") {
                echo "<td><a href='view.php?id=" . $bracket['id'] . "'>" . stripslashes($bracket['name']) . "</a>";
                if ($commentMap[$bracket['id']] > 0) {
                    echo " <span class=\"recentComment\"><a href='view.php?id=" . $bracket['id'] . "#comments'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>";
                }
                echo "</td>\n";
            }
            echo "<td>" . $bracket['score'] . "</td>\n";
            $probability = 1;
            for ($j = 49; $j < 64; $j++) {
                if ($winners_data[$j] != NULL && $winners_data[$j] == $bracket[$j]) {
                    echo "<td class='right'>" . $bracket[$j] . "</td>\n";
                } else {
                    // figure out the seed of the predicted loser
                    // check the master bracket for the loser
                    $loser = "";
                    $child[0] = $winners_data[$childGraph[$j][0]];
                    $child[1] = $winners_data[$childGraph[$j][1]];
                    $child[2] = $bracket[$childGraph[$j][0]];
                    $child[3] = $bracket[$childGraph[$j][1]];
                    foreach ($child as $team) {
                        if ($team != null and $team != $bracket[$j]) {
                            $loser = $team;
                            break;
                        }
                    }
                    //echo  $roundMap[$j]." - ".$seedMap[$bracket[$j]].". ".$bracket[$j]." v ".$seedMap[$loser].". ".$loser." = ".$scoring[ $roundMap[$j] ][ $seedMap[$bracket[$j]] ][ $seedMap[$loser] ]."<br>";
                    $special = "";
                    $pWin = $scoring[$roundMap[$j]][$seedMap[$bracket[$j]]][$seedMap[$loser]];
                    if ($pWin == null || $pWin <= 0 || $pWin >= 1) {
                        $special = " imputed (original: " . $pWin . ")";
                        $winSeed = $seedMap[$bracket[$j]];
                        $loseSeed = $seedMap[$loser];
                        $pWin = 1 - $winSeed / ($winSeed + $loseSeed);
                    }
                    echo "<td onmouseover=\"showTip(event,'" . $pWin . $special . "')\"  onmouseout=\"clearTip()\" >" . $bracket[$j] . "</td>\n";
                    $probability *= $pWin;
                }
            }
            echo "<td onmouseover=\"showTip(event," . $probability . ")\"  onmouseout=\"clearTip()\" >" . number_format($probability, 4) . "</td>";
            echo "</tr>\n";
            $i++;
        }
        echo "</table>\n";
    }
    ?>
		

	</div>
</div>


<?php 
}
function createSummaryTable($db, $rank, $rankName, $viewAll, $totalScenarios, $sort)
{
    ?>
<style type="text/css">
	.content
	{
		width:900px;
	}
	
	#main
	{
		width:900px;
	}
	.scoredetail td
	{
		text-align:center;
	}

</style>

<?php 
    $commentMap = getCommentsMap($db);
    $bracketsQuery = "select b.id, name, email, p.probability_win pWin from brackets b, probability_of_winning p WHERE p.id = b.id and p.rank = '" . $rank . "'";
    $bracketsData = mysql_query($bracketsQuery, $db) or die(mysql_error());
    while ($b = mysql_fetch_array($bracketsData)) {
        $brackets[$b['id']] = array($b['name'], $b['email'], $b['pWin']);
    }
    $end_game_query = "select count(*) num_paths, bracket_id id from possible_scores p where eliminated=false and rank='" . $rank . "'  and `type`='path_to_victory' group by bracket_id";
    $end_game_data = mysql_query($end_game_query, $db) or die(mysql_error());
    $sortedBrackets = array();
    $i = 0;
    while ($bracket = mysql_fetch_array($end_game_data)) {
        if ($sort == "pwin") {
            $sortedBrackets[$i] = array($brackets[$bracket['id']][2], $bracket['num_paths'], $bracket['id'], $brackets[$bracket['id']][0], $brackets[$bracket['id']][1], $brackets[$bracket['id']][2]);
        } else {
            $sortedBrackets[$i] = array($bracket['num_paths'], $bracket['id'], $brackets[$bracket['id']][0], $brackets[$bracket['id']][1], $brackets[$bracket['id']][2]);
        }
        $i++;
    }
    $numBrackets = $i;
    rsort($sortedBrackets);
    $viewAllLink = "";
    if ($viewAll == true) {
        $viewAllLink = " <a href='endgame.php?view_all=true&rank=" . $rank . "'>(View All)</a>\n";
    }
    echo "<table cellpadding='1' border='1'>\n";
    echo "<tr class='tableheader'><td colspan='3'><strong>" . $rankName . $viewAllLink . "</strong></td></tr>\n";
    echo "<tr class='tableheader'><td>Bracket Name</td><td># of Paths<br>(Click to View)</td><td>p(W)</td></tr>\n";
    // this is really ghetto
    $offset = 0;
    if ($sort == "pwin") {
        $offset = 1;
    }
    for ($i = 0; $i < $numBrackets; $i++) {
        $useremail = $sortedBrackets[$i][3 + $offset];
        if ($useremail == $_COOKIE['useremail'] & $useremail != "") {
            echo '<tr class="thisuser">';
        } else {
            echo "<tr>";
        }
        echo "<td><a href='view.php?id=" . $sortedBrackets[$i][1 + $offset] . "'>" . stripslashes($sortedBrackets[$i][2 + $offset]) . "</a>";
        if ($commentMap[$sortedBrackets[$i][1 + $offset]] > 0) {
            echo "<span class=\"recentComment\"><a href='view.php?id=" . $sortedBrackets[$i][1 + $offset] . "#comments'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>";
        }
        echo "</td>\n";
        if ((int) $sortedBrackets[$i][0 + $offset] < 1025) {
            echo "<td nowrap><a href='endgame.php?id=" . $sortedBrackets[$i][1 + $offset] . "&rank=" . $rank . "'>" . $sortedBrackets[$i][0 + $offset] . " (" . number_format(100 * ($sortedBrackets[$i][0 + $offset] / $totalScenarios), 0) . "%)</a></td><td>" . number_format(100 * $sortedBrackets[$i][4 + $offset], 2) . "%</td>\n\n";
        } else {
            echo "<td nowrap>" . $sortedBrackets[$i][0 + $offset] . " (" . number_format(100 * ($sortedBrackets[$i][0 + $offset] / $totalScenarios), 0) . "%)</td><td>" . number_format(100 * $sortedBrackets[$i][4 + $offset], 2) . "%</td>\n\n";
        }
        echo "</tr>";
    }
    echo "</table>\n";
}
예제 #3
0
function drawScoringTable($db, $winners_data, $custompoints, $seedMap, $roundStart, $roundEnd, $roundNum, $tableWidth)
{
    $totalPointsForRound = 0;
    $winnerListForRound = array();
    $j = 0;
    // Get the winners for this round
    // Get the total points for this round
    for ($i = $roundStart; $i <= $roundEnd; $i++) {
        if ($winners_data[$i] != NULL) {
            $seedvalue = $seedMap[$winners_data[$i]];
            $gameValue = $custompoints[$seedvalue][$roundNum];
            $winnerListForRound[$j] = array($gameValue, $seedvalue, $i, $winners_data[$i]);
            $totalPointsForRound += $gameValue;
            $j++;
        }
    }
    // sort winners by reverse order of seed
    $numWinners = $j;
    if ($numWinners > 0) {
        rsort($winnerListForRound);
        // print out winners header
        echo "<a name='round" . $roundNum . "'>\r\n\t\t\t<a href='#top'>Top</a> |\r\n\t\t\t<a href='#round1'>First Round</a> | \r\n\t\t\t<a href='#round2'>Second Round</a> | \r\n\t\t\t<a href='#round3'>Sweet 16</a> | \r\n\t\t\t<a href='#round4'>Elite Eight</a> | \r\n\t\t\t<a href='#round5'>Final Four</a> | \r\n\t\t\t<a href='#round6'>Championship</a>";
        echo "<table class='scoredetail' cellspacing='0' >\n";
        echo "<tr class='tableheader'><td colspan='4'>Round " . $roundNum . "</td><td colspan='" . $numWinners . "'>Winners</td></tr>";
        echo "<tr class='tableheader'><td>Bracket</td><td>T</td><td>R" . $roundNum . "</td><td>#</td>";
        for ($i = 0; $i < $numWinners; $i++) {
            //$width = floor($winnerListForRound[$i][0]/$totalPointsForRound * $tableWidth);
            echo "<td onmouseover=\"showTeam( event, " . $winnerListForRound[$i][2] . ");\" onmouseout='clearTeam();'>" . $winnerListForRound[$i][1] . "<br>(" . $winnerListForRound[$i][0] . ")</td>";
        }
        echo "</tr>";
        $commentMap = getCommentsMap($db);
        // Now, get the list of brackets in score order
        $bracketsQuery = "SELECT scores.id, scores.name, scores.score, brackets.* FROM scores, \r\n\t\t\tbrackets WHERE scores.scoring_type='main' AND scores.id = brackets.id ORDER BY scores.score DESC, scores.name ASC";
        $brackets = mysql_query($bracketsQuery, $db) or die(mysql_error());
        $rank = 0;
        $rankCounter = 1;
        $totalScore = 0;
        $totalPointsEarnedByUsers = 0;
        $totalHitsByUsers = 0;
        while ($bracket = mysql_fetch_array($brackets)) {
            if ($rank == 0) {
                $top_score = $brackets['score'];
                $prev_score = $brackets['score'];
                $rankCounter = 1;
                $rank = $rankCounter;
            }
            if ($bracket['score'] != $prev_score) {
                $prev_score = $bracket['score'];
                $rank = $rankCounter;
            }
            $useremail = $bracket['email'];
            if ($useremail == $_COOKIE['useremail'] & $useremail != "") {
                echo '<tr class="thisuser">';
            } else {
                echo "<tr>";
            }
            // Simply allow anyone who is logged in to see the user name
            if (isset($_COOKIE['useremail']) == true) {
                echo "<td class='bracketname'><a href='view.php?id=" . $bracket['id'] . "'>" . $rank . ". " . stripslashes($bracket['name']) . "</a>" . " (" . stripslashes($bracket['person']) . ")";
            } else {
                echo "<td class='bracketname'><a href='view.php?id=" . $bracket['id'] . "'>" . $rank . ". " . stripslashes($bracket['name']) . "</a>";
            }
            if ($commentMap[$bracket['id']] > 0) {
                echo " <span class=\"recentComment\"><a href='view.php?id=" . $bracket['id'] . "#comments'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>";
            }
            echo "</td><td>" . $bracket['score'] . "</td>";
            $totalScore += $bracket['score'];
            $totalEarnedForRound = 0;
            $numHitsForRound = 0;
            for ($i = 0; $i < $numWinners; $i++) {
                if ($winnerListForRound[$i][3] == $bracket[$winnerListForRound[$i][2]]) {
                    $status[$i] = "hit";
                    if ($winnerListForRound[$i][4] == NULL) {
                        $winnerListForRound[$i][4] = 1;
                    } else {
                        $winnerListForRound[$i][4]++;
                    }
                    $totalEarnedForRound += $winnerListForRound[$i][0];
                    $numHitsForRound++;
                } else {
                    $status[$i] = "miss";
                }
            }
            echo "<td>" . $totalEarnedForRound . "</td>";
            echo "<td>" . $numHitsForRound . "</td>";
            $totalPointsEarnedByUsers += $totalEarnedForRound;
            $totalHitsByUsers += $numHitsForRound;
            for ($i = 0; $i < $numWinners; $i++) {
                echo "<td class='" . $status[$i] . "' onmouseover=\"showTeam( event," . $winnerListForRound[$i][2] . ");\" onmouseout='clearTeam();'>&nbsp;</td>";
            }
            echo "</tr>";
            $rankCounter++;
        }
        $avgPointsThisRound = round($totalPointsEarnedByUsers / ($rankCounter - 1), 2);
        $avgScore = round($totalScore / ($rankCounter - 1), 2);
        $avgHits = round($totalHitsByUsers / ($rankCounter - 1), 2);
        echo "<tr class='tablefooter'><td>Averages/Totals</td><td>" . $avgScore . "</td><td>" . $avgPointsThisRound . "</td><td>" . $avgHits . "</td>";
        for ($i = 0; $i < $numWinners; $i++) {
            if (!$winnerListForRound[$i][4]) {
                $winnerListForRound[$i][4] = 0;
            }
            echo "<td onmouseover=\"showTeam( event," . $winnerListForRound[$i][2] . ");\" onmouseout='clearTeam();'>" . $winnerListForRound[$i][4] . "</td>";
        }
        echo "</tr>";
        echo "</table><br />\n";
    }
}
예제 #4
0
    return $rankMap;
}
$closed = "SELECT closed FROM `meta` WHERE id=1 LIMIT 1";
$closed = mysql_query($closed, $db);
//boolean if bracket submission is over
$closed = @mysql_fetch_array($closed);
//boolean if bracket submission is over
if ($closed[0] == 1) {
    $query = 'SELECT * FROM `scores` WHERE `scoring_type`="main" ORDER BY `score` DESC, `name` ASC';
    $result = mysql_query($query, $db) or die(mysql_error());
    $scores;
    while ($user = mysql_fetch_array($result)) {
        $scores[] = $user;
    }
    $rankMap = getRanksForScores($scores);
    $commentMap = getCommentsMap($db);
}
if (isset($_COOKIE['useremail']) == false) {
    echo '
	<h2>User Login</h2>
	<form action="getemail.php" method="post">
	<p>Email Address: <input type="text" name="useremail" />
	<input type="submit" value="Login"></p>
	</form>';
} else {
    $useremail = $_COOKIE['useremail'];
    $getuser = "******";
    $result = mysql_query($getuser, $db);
    $myBrackets = "<table width='100%'>";
    while ($bracket = mysql_fetch_array($result)) {
        $username = $bracket['person'];