Skip to content

Commit

Permalink
Merge pull request #70 from thnilsen/add_services_to_panel
Browse files Browse the repository at this point in the history
Add services to panel
  • Loading branch information
Pryx committed Nov 21, 2018
2 parents d082417 + 42815ba commit 554edc4
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
14 changes: 13 additions & 1 deletion classes/constellation.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ function get_incidents($future = false, $offset = 0, $limit = 5, $timestamp = 0)

$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();
Expand All @@ -136,6 +136,18 @@ function get_incidents($future = false, $offset = 0, $limit = 5, $timestamp = 0)
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);
}
}
Expand Down
12 changes: 11 additions & 1 deletion classes/incident.php
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -34,6 +36,8 @@ function __construct($data)
$this->title = $data['title'];
$this->text = $data['text'];
$this->username = $data['username'];
$this->service_id = $data['service_id'];
$this->service_name = $data['service_name'];
}

/**
Expand Down Expand Up @@ -170,6 +174,7 @@ public function render($admin=0){
global $icons;
global $classes, $user;
$admin = $admin && (($user->get_rank()<=1) || ($user->get_username() == $this->username));

?>
<article class="panel panel-<?php echo $classes[$this->type];?>">
<div class="panel-heading icon">
Expand All @@ -186,7 +191,12 @@ public function render($admin=0){
<?php echo $this->text; ?>
</div>
<div class="panel-footer clearfix">
<small><?php echo _("Posted by");?>: <?php echo $this->username;
<small>
<?php echo _("Impacted service(s): ");
foreach ( $this->service_name as $key => $value ) {
echo '<span class="label label-default">'.$value . '</span>&nbsp;';
}

if (isset($this->end_date)){?>
<span class="pull-right"><?php echo strtotime($this->end_date)>time()?_("Ending"):_("Ended");?>:&nbsp;<time class="pull-right timeago" datetime="<?php echo $this->end_date; ?>"><?php echo $this->end_date; ?></time></span>
<?php } ?>
Expand Down

0 comments on commit 554edc4

Please sign in to comment.