code restructured

This commit is contained in:
Leander
2017-05-01 21:01:54 +02:00
parent 2fef4dc157
commit aa4fe851d0
9 changed files with 338 additions and 96 deletions

View File

@@ -9,34 +9,72 @@
require_once('includes.inc.php');
$data = '';
$error = 0;
$uid = isset($_GET['uid']) ? $_GET['uid'] : '';
$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') {
} 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;
$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'];
$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;
$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);
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);
$data = array(
'score' => $score_all,
'place' => $place_all,
'all' => $all,
'categories' => $cat_scores);
}
$response = Database::create_response($data, $error);