<?php

define('TopList', TRUE);
require_once __DIR__ . '/settings.default.php';
require_once __DIR__ . '/settings.php';
require $baseDir . 'lib/api.php';
require $baseDir . 'vendor/autoload.php';
require $baseDir . 'lib/db.php';
require $baseDir . 'lib/dbpedia.php';
require $baseDir . 'lib/wikidata.php';
require $baseDir . 'lib/popularity.php';
$api = new Toplist\Api();
$validationRules = array('id' => 'integer|min_numeric,0|max_numeric,9999', 'popularity' => 'alpha_dash');
$filterRules = array('id' => 'trim|sanitize_numbers', 'popularity' => 'trim|sanitize_string');
$parameters = $api->getParameters($validationRules, $filterRules);
$laureate = @$parameters['id'] ?: 1;
/* Get dbPedia url */
$simpleSPARQLQuery = new Toplist\SimpleSPARQLQuery($laureate);
$dbPediaLink = $simpleSPARQLQuery->getDbpedia();
if (array_key_exists('popularity', $parameters) && $parameters['popularity'] === 'wikipedia') {
    /* Get all WP ids from dbPedia */
    $dbPediaQuery = new Toplist\DbPediaQuery();
    $wpName = $dbPediaQuery->getWikipediaNames($dbPediaLink);
    /* get iw links */
    $wikiDataQuery = new Toplist\WikiDataQuery();
    $iwLinks = $wikiDataQuery->getSitelinks(array_pop($wpName));
    global $gStatsInterval;
    global $gStatsStart;
    if (preg_match('/^\\d{8}/', $gStatsStart)) {
        /* A date */
    } else {
<?php

define('TopList', TRUE);
require_once __DIR__ . "/settings.default.php";
require_once __DIR__ . "/settings.php";
require $baseDir . 'vendor/autoload.php';
require $baseDir . 'lib/api.php';
require $baseDir . 'lib/regions.php';
$api = new Toplist\Api();
$validationRules = array('name' => 'alpha_dash');
$filterRules = array('name' => 'trim');
$parameters = $api->getParameters($validationRules, $filterRules);
$regionFinder = new Toplist\RegionFinder();
$api->write_headers();
if (in_array('name', $parameters)) {
    $api->write_json($regionFinder->getRegions($parameters['name']));
} else {
    $api->write_json($regionFinder->getRegionMapping());
}
<?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);
<?php

define('TopList', TRUE);
require_once __DIR__ . '/settings.default.php';
require_once __DIR__ . '/settings.php';
require_once $baseDir . 'vendor/autoload.php';
require_once $baseDir . 'lib/api.php';
require_once $baseDir . 'lib/db.php';
require_once $baseDir . 'lib/dbpedia.php';
require_once $baseDir . 'lib/wikidata.php';
require_once $baseDir . 'lib/wikipedia.php';
$api = new Toplist\Api();
$validationRules = array('id' => 'required|integer', 'width' => 'integer', 'height' => 'integer');
$filterRules = array('id' => 'trim|sanitize_numbers', 'width' => 'trim|sanitize_numbers', 'height' => 'trim|sanitize_numbers');
$parameters = $api->getParameters($validationRules, $filterRules);
$laureate = $parameters['id'];
$width = @$parameters['width'] ?: null;
$height = @$parameters['height'] ?: null;
if (!($height || $width)) {
    $height = '300';
}
/* Get dbPedia url */
$simpleSPARQLQuery = new Toplist\SimpleSPARQLQuery($laureate);
$dbPediaLink = $simpleSPARQLQuery->getDbpedia();
/* Query DbPedia for enwp link */
$dbPediaQuery = new Toplist\DbPediaQuery();
$response = $dbPediaQuery->getWikipediaNames($dbPediaLink);
if (!array_key_exists($dbPediaLink, $response)) {
    /* No such dbPedia article, or invalid laureate id */
    $api->write_headers();
    $api->write_json(array($laureate => array()));