83 lines
2.0 KiB
PHP
83 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: leanderschmedemann
|
|
* Date: 05/04/2017
|
|
* Time: 10:18
|
|
*/
|
|
|
|
require_once('includes.inc.php');
|
|
$data = '';
|
|
$error = 0;
|
|
$uid = isset($_GET['uid']) ?
|
|
$_GET['uid'] : '';
|
|
$db = new Database();
|
|
|
|
if($uid == '') {
|
|
$error = 15101;
|
|
} else if(
|
|
$db->query(
|
|
'SELECT EXISTS (
|
|
SELECT 1
|
|
FROM "Users"
|
|
WHERE "ID" = $1
|
|
)',
|
|
array($uid)
|
|
)['data']['0']['exists'] == 'f'
|
|
) {
|
|
$error = 15102;
|
|
} else {
|
|
$score_all = $db->query(
|
|
'SELECT COALESCE("highscore", -1) as "highscore"
|
|
FROM "Users"
|
|
WHERE "ID" = $1',
|
|
array($uid)
|
|
)['data'][0]['highscore'];
|
|
$all = $db->query(
|
|
'SELECT COUNT (*)
|
|
FROM "Users"'
|
|
)['data'][0]['count'];
|
|
$place_all = $db->query(
|
|
'SELECT COUNT (*)
|
|
FROM "Users"
|
|
WHERE "highscore" > $1',
|
|
array($score_all)
|
|
)['data'][0]['count'] + 1;
|
|
//get categories highscores
|
|
$categories = $db->query(
|
|
'SELECT "ID", "name"
|
|
FROM "Categories"')['data'];
|
|
foreach($categories as $category) {
|
|
$cid = $category['ID'];
|
|
$cat = $category['name'];
|
|
$score = $db->query(
|
|
'SELECT "score"
|
|
FROM "Highscores"
|
|
WHERE "Users_ID" = $1 AND "Categories_ID" = $2',
|
|
array($uid, $cid)
|
|
)['data'][0]['score'];
|
|
$score = ($score == null) ?
|
|
-1 : $score;
|
|
$place = $db->query(
|
|
'SELECT COUNT (*) FROM "Highscores"
|
|
WHERE "Categories_ID" = $1 AND "score" > $2',
|
|
array($cid, $score)
|
|
)['data'][0]['count'] + 1;
|
|
$cat_scores[] = array(
|
|
'id' => $cid,
|
|
'name' => $cat,
|
|
'score' => $score,
|
|
'place' => $place
|
|
);
|
|
}
|
|
$data = array(
|
|
'score' => $score_all,
|
|
'place' => $place_all,
|
|
'all' => $all,
|
|
'categories' => $cat_scores);
|
|
}
|
|
|
|
$response = Database::create_response($data, $error);
|
|
print_r($response);
|
|
|
|
?>
|