diff --git a/classes/constellation.php b/classes/constellation.php index d244e16..d977cf9 100644 --- a/classes/constellation.php +++ b/classes/constellation.php @@ -123,7 +123,7 @@ class Constellation $operator = ($future)?">=":"<="; $limit++; - $sql = $mysqli->prepare("SELECT *, status.id as status_id FROM status INNER JOIN users ON user_id=users.id WHERE `time` $operator ? AND `end_time` $operator ? OR (`time`<=? AND `end_time` $operator ? ) ORDER BY `time` DESC LIMIT ? OFFSET ?"); + $sql = $mysqli->prepare("SELECT users.id, status.type, status.title, status.text, status.time, status.end_time, users.username, status.id as status_id FROM status INNER JOIN users ON user_id=users.id WHERE `time` $operator ? AND `end_time` $operator ? OR (`time`<=? AND `end_time` $operator ? ) ORDER BY `time` DESC LIMIT ? OFFSET ?"); $sql->bind_param("iiiiii",$timestamp, $timestamp, $timestamp, $timestamp, $limit, $offset); $sql->execute(); $query = $sql->get_result(); @@ -136,6 +136,18 @@ class Constellation if ($query->num_rows){ while(($result = $query->fetch_assoc()) && $limit-- > 0) { + // Add service id and service names to an array in the Incident class + $stmt_service = $mysqli->prepare("SELECT services.id,services.name FROM services + INNER JOIN services_status ON services.id = services_status.service_id + WHERE services_status.status_id = ?"); + $stmt_service->bind_param("i", $result['status_id']); + $stmt_service->execute(); + $query_service = $stmt_service->get_result(); + while($result_service = $query_service->fetch_assoc()) { + $result['service_id'][] = $result_service['id']; + $result['service_name'][] = $result_service['name']; + } + $array[] = new Incident($result); } } diff --git a/classes/incident.php b/classes/incident.php index 0e3cd46..4ced1db 100644 --- a/classes/incident.php +++ b/classes/incident.php @@ -13,6 +13,8 @@ class Incident implements JsonSerializable private $type; private $title; private $username; + private $service_id; + private $service_name; /** * Constructs service from its data. @@ -34,6 +36,8 @@ class Incident implements JsonSerializable $this->title = $data['title']; $this->text = $data['text']; $this->username = $data['username']; + $this->service_id = $data['service_id']; + $this->service_name = $data['service_name']; } /** @@ -170,6 +174,7 @@ class Incident implements JsonSerializable global $icons; global $classes, $user; $admin = $admin && (($user->get_rank()<=1) || ($user->get_username() == $this->username)); + ?>
@@ -186,7 +191,12 @@ class Incident implements JsonSerializable text; ?>