mirror of
https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
synced 2024-11-23 20:58:46 -05:00
Fix #11 - add second part of api
This commit is contained in:
parent
3980f5daa6
commit
f9c247854f
@ -5,7 +5,44 @@ if (!file_exists("../config.php"))
|
|||||||
header("Location: ../");
|
header("Location: ../");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
require_once("../config.php");
|
require_once("../config.php");
|
||||||
require_once("../classes/constellation.php");
|
require_once("../classes/constellation.php");
|
||||||
|
|
||||||
|
if (isset($_GET['future']) && $_GET['future'] == true)
|
||||||
|
{
|
||||||
|
$result = get_incidents(true);
|
||||||
|
}else{
|
||||||
|
$result = 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
|
||||||
|
];
|
||||||
}
|
}
|
@ -52,7 +52,7 @@ class Constellation
|
|||||||
$offset += $limit;
|
$offset += $limit;
|
||||||
|
|
||||||
if ($query->num_rows){
|
if ($query->num_rows){
|
||||||
while(($result = $query->fetch_assoc()) && $limit-->0)
|
while(($result = $query->fetch_assoc()) && $limit-- > 0)
|
||||||
{
|
{
|
||||||
$incident = new Incident($result);
|
$incident = new Incident($result);
|
||||||
$incident->render($admin);
|
$incident->render($admin);
|
||||||
|
@ -7,6 +7,8 @@ class Incident implements JsonSerializable
|
|||||||
private $id;
|
private $id;
|
||||||
private $date;
|
private $date;
|
||||||
private $end_date;
|
private $end_date;
|
||||||
|
private $timestamp;
|
||||||
|
private $end_timestamp;
|
||||||
private $text;
|
private $text;
|
||||||
private $type;
|
private $type;
|
||||||
private $title;
|
private $title;
|
||||||
@ -20,6 +22,8 @@ class Incident implements JsonSerializable
|
|||||||
{
|
{
|
||||||
//TODO: Maybe get data from id?
|
//TODO: Maybe get data from id?
|
||||||
$this->id = $data['status_id'];
|
$this->id = $data['status_id'];
|
||||||
|
$this->timestamp = $data['time'];
|
||||||
|
$this->end_timestamp = $data['end_time'];
|
||||||
$this->date = new DateTime("@".$data['time']);
|
$this->date = new DateTime("@".$data['time']);
|
||||||
$this->date = $this->date->format('Y-m-d H:i:sP');
|
$this->date = $this->date->format('Y-m-d H:i:sP');
|
||||||
if ($data['end_time']>0){
|
if ($data['end_time']>0){
|
||||||
@ -187,8 +191,8 @@ class Incident implements JsonSerializable
|
|||||||
public function jsonSerialize() {
|
public function jsonSerialize() {
|
||||||
return [
|
return [
|
||||||
"id" => $this->id,
|
"id" => $this->id,
|
||||||
"date" => $this->date,
|
"date" => $this->timestamp,
|
||||||
"end_date" => $this->end_date,
|
"end_date" => $this->end_timestamp,
|
||||||
"text" => $this->text,
|
"text" => $this->text,
|
||||||
"type" => $this->type,
|
"type" => $this->type,
|
||||||
"title" => $this->title,
|
"title" => $this->title,
|
||||||
|
Loading…
Reference in New Issue
Block a user