function showResults()
{
    #----------------------------------------------------------------------
    global $chosenRegionId, $chosenSingle, $chosenAverage;
    #------------------------------
    # Prepare stuff for the query.
    #------------------------------
    $regionCondition = regionCondition('result');
    $limitCondition = 'LIMIT 120';
    $valueSource = $chosenAverage ? 'average' : 'best';
    $valueName = $chosenAverage ? 'Average' : 'Single';
    #------------------------------
    # Get results from database.
    #------------------------------
    $limitNumber = 300;
    $ranks = getRanks($valueName, $chosenRegionId);
    list($rows, $header) = sumOfRanks($valueName, getAllEventIds(), $ranks, $limitNumber + 20);
    $header = preg_replace('/ +/', '|', preg_replace('/\\[\\w+\\]/', '', "Rank {$header} "));
    foreach (dbQuery("SELECT id, name FROM Persons WHERE subId=1") as $person) {
        $personName[$person[0]] = $person[1];
    }
    #------------------------------
    # Show the table.
    #------------------------------
    $numColumns = count($rows[0]) + 2;
    $headerAttributes = array(0 => "class='r'", 2 => "class='R2'", $numColumns - 1 => 'class="f"');
    for ($i = 3; $i < $numColumns - 1; $i++) {
        $headerAttributes[$i] = "class='r'";
    }
    tableBegin('results', $numColumns);
    tableCaption(true, chosenRegionName(true));
    #  tableHeader( explode( '|', $header), $headerAttributes );
    $ctr = $previousSumOfRanks = 0;
    $showHeader = true;
    foreach ($rows as $row) {
        $showHeader |= $ctr % 20 == 0;
        list($personId, $sumOfRanks) = $row;
        $ctr++;
        $no = $sumOfRanks == $previousSumOfRanks ? '' : $ctr;
        if ($limitCondition && $no > $limitNumber) {
            break;
        }
        if ($showHeader && $no) {
            tableHeader(explode('|', $header), $headerAttributes);
            $showHeader = false;
        }
        for ($i = 2; $i < $numColumns - 2; $i++) {
            if (preg_match('/^(10|[1-9])$/', $row[$i])) {
                $row[$i] = "<span style='color:#0D0'>{$row[$i]}</span>";
            }
        }
        $row[0] = personLink($row[0], $personName[$row[0]]);
        $row[] = '';
        array_unshift($row, $no);
        tableRow($row);
        $previousSumOfRanks = $sumOfRanks;
    }
    tableEnd();
}
<?php

if (!isset($onlyProvideFunctions)) {
    #--- Get event ranks
    $ranksSingle = getRanks('Single');
    $ranksAverage = getRanks('Average');
    #--- Sum of 3x3/4x4/5x5 ranks, single and average
    list($single) = sumOfRanks('Single', array('333', '444', '555'), $ranksSingle);
    list($average) = sumOfRanks('Average', array('333', '444', '555'), $ranksAverage);
    $lists[] = array("sum_ranks_345", "Sum of 3x3/4x4/5x5 ranks", "Single | Average", "[P] Person [N] Sum [n] 3x3 [n] 4x4 [n] 5x5 [T] | [P] Person [N] Sum [n] 3x3 [n] 4x4 [n] 5x5", my_merge($single, $average));
    #--- Sum of all single ranks
    list($rows, $header) = sumOfRanks('Single', getAllEventIds(), $ranksSingle);
    $lists[] = array("sum_ranks_single", "Sum of all single ranks", "", $header, $rows);
    #--- Sum of all average ranks
    list($rows, $header) = sumOfRanks('Average', getAllEventIds(), $ranksAverage);
    $lists[] = array("sum_ranks_average", "Sum of all average ranks", "", $header, $rows);
}
#----------------------------------------------------------------------
function getRanks($sourceName, $regionId = '')
{
    #----------------------------------------------------------------------
    #--- Build query for the requested region
    $query = "SELECT eventId, personId, worldRank FROM Ranks{$sourceName}";
    if (in_array($regionId, getAllUsedCountriesIds())) {
        $query = "SELECT eventId, personId, countryRank FROM Ranks{$sourceName}, Persons WHERE Persons.id=personId AND subId=1 AND countryId='{$regionId}'";
    }
    if (in_array($regionId, getAllUsedContinentIds())) {
        $query = "SELECT eventId, personId, continentRank FROM Ranks{$sourceName}, Persons, Countries WHERE Persons.id=personId AND subId=1 AND Countries.id=countryId AND continentId='{$regionId}'";
    }
    #--- Process the personal records, build ranks[event][person]
    foreach (dbQuery($query) as $row) {
Exemple #3
0
foreach ($minBidVar as $bid) {
    setMinimalBids($bid);
}
$minBidInsertTime = date('U') - ($beginTime + $categoryInsertTime + $secQuestionsInsertTime + $usersInsertTime + $objectsInsertTime);
echo "Done inserting minimal bids. (took " . $minBidInsertTime . " seconds)\r\n\r\n";
echo "Fetching ranks.\r\n";
function getRanks()
{
    $ranks = array();
    $ranks['username'] = '******';
    $ranks['customer_service'] = 1;
    $ranks['administrator'] = 1;
    $ranks['manager'] = 1;
    return $ranks;
}
$ranksVar = getRanks();
echo "Done fetching ranks.\r\n";
function setRanks($ranksArr)
{
    global $dbOut;
    $ranksArr = array("username" => "Admin", "customer_service" => 1, "administrator" => 1, "manager" => 1);
    $dbOut->insert("ranks", $ranksArr);
}
echo "Inserting ranks.\r\n";
setRanks(null);
/*foreach($ranksVar as $rank) {
    setRanks($rank);
}*/
$ranksInsertTime = date('U') - ($beginTime + $categoryInsertTime + $secQuestionsInsertTime + $usersInsertTime + $objectsInsertTime + $minBidInsertTime);
echo "Done inserting ranks. (took " . $ranksInsertTime . " seconds )\r\n\r\n";
$endTime = date('U');
function getTopPlayers()
{
    $players = array();
    for ($i = 0; $i < 3000; $i = $i + 500) {
        $rankingUrl = "http://a.scrollsguide.com/ranking?start=" . $i . "&limit=500";
        $json = json_decode(file_get_contents($rankingUrl), true);
        // due to rate limit
        sleep(1);
        foreach ($json["data"] as $player) {
            $players[] = new Player($player["name"], $player["rating"]);
        }
    }
    return $players;
}
echo "start: " . date("Y/m/d g:i") . "<br>";
// start
$topPlayers = getTopPlayers();
$ranks = getRanks();
$outputObj = array();
foreach ($topPlayers as $player) {
    $playerInfoUrl = "http://a.scrollsguide.com/player?name=" . $player->getName() . "&fields=name,rankedwon,rank";
    $json = json_decode(file_get_contents($playerInfoUrl), true);
    // due to rate limit
    sleep(1);
    $playerInfo = $json["data"];
    $player->setRankedGamesWon($playerInfo["rankedwon"]);
    $player->setRank($ranks[$playerInfo["rank"]]);
    $outputObj["data"][] = array("name" => $player->getName(), "rating" => $player->getRating(), "rank" => $player->getRank(), "rankedGamesWon" => $player->getRankedGamesWon());
}
file_put_contents("test.json", json_encode($outputObj));
echo "end: " . date("Y/m/d g:i");