Fix #25 - refactored incident getting

This commit is contained in:
Vojtěch Sajdl
2018-04-14 12:37:01 +02:00
parent 37aa0ca54e
commit 4b7d8be838
2 changed files with 50 additions and 47 deletions
+2 -31
View File
@@ -10,39 +10,10 @@ else{
if (isset($_GET['future']) && $_GET['future'] == true)
{
$result = get_incidents(true);
$result = $constellation->get_incidents(true);
}else{
$result = get_incidents();
$result = $constellation->get_incidents();
}
echo json_encode($result);
}
function get_incidents($future = false){
global $mysqli;
$c = ($future)?">=":"<=";
$limit = (isset($_GET['limit'])?$_GET['limit']:5);
$offset = (isset($_GET['offset'])?$_GET['offset']:0);
$timestamp = (isset($_GET['timestamp']))?$_GET['timestamp']:time();
$limit++;
$sql = $mysqli->prepare("SELECT *, status.id as status_id FROM status INNER JOIN users ON user_id=users.id WHERE `time` $c ? AND `end_time` $c ? OR (`time`<=? AND `end_time` $c ? ) ORDER BY `time` DESC LIMIT ? OFFSET ?");
$sql->bind_param("iiiiii",$timestamp, $timestamp, $timestamp, $timestamp, $limit, $offset);
$sql->execute();
$query = $sql->get_result();
$array = [];
$limit--;
$more = false;
if ($query->num_rows>$limit){
$more = true;
}
if ($query->num_rows){
while(($result = $query->fetch_assoc()) && $limit-- > 0)
{
$array[] = new Incident($result);
}
}
return [
"more" => $more,
"incidents" => $array
];
}