$stat = $article->getPoints($gStatsInterval, $gStatsStart);
            if ($stat !== null) {
                foreach ($stat as $k => $v) {
                    $stat[$k] = $v * $weight;
                }
                $totalStats[] = $stat;
                $totalWeight += $weight;
            }
        }
    }
    /* summarize stats */
    $sumArray = array();
    foreach ($totalStats as $k => $subArray) {
        foreach ($subArray as $id => $value) {
            if (!isset($sumArray[$id])) {
                $sumArray[$id] = 0;
            }
            $sumArray[$id] += $value;
        }
    }
    foreach ($sumArray as $k => $v) {
        $sumArray[$k] = (int) ($sumArray[$k] / $totalWeight);
    }
    $spark = $sumArray;
} else {
    $popularityList = new Toplist\OnsitePopularityList();
    global $gStatsInterval;
    $spark = array_reverse($popularityList->getIndividual($laureate, $gStatsInterval));
}
$api->write_headers();
$api->write_json($spark);
Exemplo n.º 2
0
<?php

define('TopList', TRUE);
require_once __DIR__ . '/settings.default.php';
require_once __DIR__ . '/settings.php';
require $baseDir . 'lib/api.php';
require $baseDir . 'lib/html.php';
$api = new Toplist\Api();
$validationRules = array('length' => 'integer|min_numeric,3|max_numeric,50', 'award' => 'alpha_dash', 'gender' => 'alpha', 'region' => 'alpha_dash', 'popularity' => 'alpha_dash', 'id' => 'alpha_numeric');
$filterRules = array('length' => 'trim|sanitize_numbers', 'award' => 'trim|sanitize_string', 'gender' => 'trim|sanitize_string', 'region' => 'trim', 'popularity' => 'trim|sanitize_string', 'id' => 'trim|sanitize_string');
$parameters = $api->getParameters($validationRules, $filterRules);
$id = @$parameters['id'] ?: 1;
global $baseUrl;
$json = file_get_contents("{$baseUrl}/list-api.php?" . http_build_query($parameters));
$response = json_decode($json, true);
$widget = new Toplist\TListWidget($response, $id, false);
$html = $widget->getHTML();
$api->write_headers('text/html');
$api->write_html($html);