mirror of
https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
synced 2026-06-01 21:54:48 -04:00
Re #11 - start working on an api
Also some locale negotiator bugfixes & it is now possible to serialize Service and Incident classess to JSON
This commit is contained in:
@@ -69,7 +69,7 @@ class Constellation
|
||||
* @param boolean $admin
|
||||
* @return array of services
|
||||
*/
|
||||
public function render_status($admin = 0){
|
||||
public function render_status($admin = false, $heading = true){
|
||||
global $mysqli;
|
||||
|
||||
$query = $mysqli->query("SELECT id, name FROM services");
|
||||
@@ -93,8 +93,10 @@ class Constellation
|
||||
$array[] = new Service($result['id'], $result['name']);
|
||||
}
|
||||
}
|
||||
|
||||
echo Service::current_status($array);
|
||||
if ($heading)
|
||||
{
|
||||
echo Service::current_status($array);
|
||||
}
|
||||
}
|
||||
else{
|
||||
$array[] = new Service(0, _("No services"), -1);
|
||||
|
||||
+13
-1
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Class for creating and rendering an incident
|
||||
*/
|
||||
class Incident
|
||||
class Incident implements JsonSerializable
|
||||
{
|
||||
private $id;
|
||||
private $date;
|
||||
@@ -183,4 +183,16 @@ class Incident
|
||||
</article>
|
||||
<?php
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
"id" => $this->id,
|
||||
"date" => $this->date,
|
||||
"end_date" => $this->end_date,
|
||||
"text" => $this->text,
|
||||
"type" => $this->type,
|
||||
"title" => $this->title,
|
||||
"username" => $this->username
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -279,6 +279,8 @@ class LocaleNegotiator
|
||||
$best_match = false;
|
||||
//So we have also lang code as value
|
||||
$accepted_langs = array_flip($this->accepted_langs);
|
||||
|
||||
global $lang;
|
||||
foreach ($langs as $lang) {
|
||||
if (strlen($lang)>2){
|
||||
if (in_array($lang, $accepted_langs)){
|
||||
@@ -292,7 +294,9 @@ class LocaleNegotiator
|
||||
});
|
||||
|
||||
if (count($possible)){
|
||||
$best_match = $possible[0];
|
||||
foreach ($possible as $value) {
|
||||
$best_match = $value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+13
-2
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Class for managing services
|
||||
*/
|
||||
class Service
|
||||
class Service implements JsonSerializable
|
||||
{
|
||||
private $id;
|
||||
private $name;
|
||||
@@ -167,4 +167,15 @@ class Service
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
global $statuses;
|
||||
return [
|
||||
"id" => $this->id,
|
||||
"name" => $this->name,
|
||||
"status" => $this->status,
|
||||
"status_string" => $statuses[$this->status]
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user