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:
Vojtěch Sajdl
2018-04-13 21:31:03 +02:00
parent 416070ba5f
commit 9f7e15fcd1
7 changed files with 88 additions and 8 deletions
+5 -3
View File
@@ -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
View File
@@ -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
];
}
}
+5 -1
View File
@@ -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
View File
@@ -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]
];
}
}