mirror of
https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
synced 2024-11-30 16:18:50 -05:00
Fix #25 - refactored incident getting
This commit is contained in:
parent
37aa0ca54e
commit
4b7d8be838
@ -10,39 +10,10 @@ else{
|
|||||||
|
|
||||||
if (isset($_GET['future']) && $_GET['future'] == true)
|
if (isset($_GET['future']) && $_GET['future'] == true)
|
||||||
{
|
{
|
||||||
$result = get_incidents(true);
|
$result = $constellation->get_incidents(true);
|
||||||
}else{
|
}else{
|
||||||
$result = get_incidents();
|
$result = $constellation->get_incidents();
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode($result);
|
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
|
|
||||||
];
|
|
||||||
}
|
|
@ -23,23 +23,24 @@ class Constellation
|
|||||||
{
|
{
|
||||||
$offset = 0;
|
$offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$limit = (isset($_GET['limit'])?$_GET['limit']:5);
|
||||||
|
$offset = (isset($_GET['offset'])?$_GET['offset']:0);
|
||||||
|
$timestamp = (isset($_GET['timestamp']))?$_GET['timestamp']:time();
|
||||||
|
|
||||||
|
$incidents = $this->get_incidents($future, $offset, $limit, $timestamp);
|
||||||
|
|
||||||
$ajax = isset($_GET['ajax']);
|
$ajax = isset($_GET['ajax']);
|
||||||
$limit++;
|
|
||||||
$c = ($future)?">=":"<=";
|
if ($future && count($incidents["incidents"]) && !$ajax)
|
||||||
$timestamp = (isset($_GET['timestamp'])&& !$future)?$_GET['timestamp']:time();
|
|
||||||
$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();
|
|
||||||
if ($future && $query->num_rows && !$ajax)
|
|
||||||
{
|
{
|
||||||
echo "<h3>"._("Planned maintenance")."</h3>";
|
echo "<h3>"._("Planned maintenance")."</h3>";
|
||||||
}
|
}
|
||||||
else if ($query->num_rows &&!$ajax)
|
else if (count($incidents["incidents"]) &&!$ajax)
|
||||||
{
|
{
|
||||||
if ($offset)
|
if ($offset)
|
||||||
{
|
{
|
||||||
echo '<noscript><div class="centered"><a href="'.WEB_URL.'/?offset='.($offset-$limit+1).'×tamp='.$timestamp.'" class="btn btn-default">'._("Back").'</a></div></noscript>';
|
echo '<noscript><div class="centered"><a href="'.WEB_URL.'/?offset='.($offset-$limit).'×tamp='.$timestamp.'" class="btn btn-default">'._("Back").'</a></div></noscript>';
|
||||||
}
|
}
|
||||||
echo "<h3>"._("Past incidents")."</h3>";
|
echo "<h3>"._("Past incidents")."</h3>";
|
||||||
}
|
}
|
||||||
@ -47,16 +48,15 @@ class Constellation
|
|||||||
{
|
{
|
||||||
echo "<h3>"._("No incidents")."</h3>";
|
echo "<h3>"._("No incidents")."</h3>";
|
||||||
}
|
}
|
||||||
$show = !$future && $query->num_rows==$limit;
|
$show = !$future && $incidents["more"];
|
||||||
$limit--;
|
|
||||||
$offset += $limit;
|
$offset += $limit;
|
||||||
|
|
||||||
if ($query->num_rows){
|
if (count($incidents["incidents"])){
|
||||||
while(($result = $query->fetch_assoc()) && $limit-- > 0)
|
foreach ($incidents['incidents'] as $incident) {
|
||||||
{
|
|
||||||
$incident = new Incident($result);
|
|
||||||
$incident->render($admin);
|
$incident->render($admin);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($show)
|
if ($show)
|
||||||
{
|
{
|
||||||
echo '<div class="centered"><a href="'.WEB_URL.'/?offset='.($offset).'×tamp='.$timestamp.'" id="loadmore" class="btn btn-default">'._("Load more").'</a></div>';
|
echo '<div class="centered"><a href="'.WEB_URL.'/?offset='.($offset).'×tamp='.$timestamp.'" id="loadmore" class="btn btn-default">'._("Load more").'</a></div>';
|
||||||
@ -113,6 +113,38 @@ class Constellation
|
|||||||
return $array;
|
return $array;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function get_incidents($future = false, $offset = 0, $limit = 5, $timestamp = 0){
|
||||||
|
global $mysqli;
|
||||||
|
if ($timestamp == 0)
|
||||||
|
{
|
||||||
|
$timestamp = time();
|
||||||
|
}
|
||||||
|
|
||||||
|
$c = ($future)?">=":"<=";
|
||||||
|
$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
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$constellation = new Constellation();
|
$constellation = new Constellation();
|
Loading…
Reference in New Issue
Block a user