|
|
|
@ -4,6 +4,7 @@
|
|
|
|
|
require_once "$PROJECT_ROOT/php/utils/logging.php";
|
|
|
|
|
|
|
|
|
|
class CommunityListing implements JsonSerializable {
|
|
|
|
|
public readonly string $id;
|
|
|
|
|
public readonly string $name;
|
|
|
|
|
public readonly string $rating;
|
|
|
|
|
public readonly array $rooms;
|
|
|
|
@ -11,7 +12,8 @@
|
|
|
|
|
/**
|
|
|
|
|
* @param \CommunityRoom[] $rooms
|
|
|
|
|
*/
|
|
|
|
|
public function __construct(string $name, ?string $rating, array $rooms) {
|
|
|
|
|
public function __construct(string $id, string $name, ?string $rating, array $rooms) {
|
|
|
|
|
$this->id = $id;
|
|
|
|
|
$this->name = $name;
|
|
|
|
|
$this->rating = $rating ?? "unknown";
|
|
|
|
|
$this->rooms = $rooms;
|
|
|
|
@ -28,6 +30,7 @@
|
|
|
|
|
|
|
|
|
|
public function to_summary(): array {
|
|
|
|
|
return array(
|
|
|
|
|
'id' => $this->id,
|
|
|
|
|
'name' => $this->name,
|
|
|
|
|
'rating' => $this->rating,
|
|
|
|
|
'rooms' => count($this->rooms)
|
|
|
|
@ -75,7 +78,8 @@
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$listings[$id] = new CommunityListing(
|
|
|
|
|
$listings[] = new CommunityListing(
|
|
|
|
|
$id,
|
|
|
|
|
$listing_props['name'],
|
|
|
|
|
$listing_props['rating'],
|
|
|
|
|
$rooms
|
|
|
|
@ -95,7 +99,8 @@
|
|
|
|
|
return $listing->to_summary();
|
|
|
|
|
}, $listings_resolved);
|
|
|
|
|
file_put_contents($LISTING_PROVIDER_LISTING_SUMMARY, json_encode($summaries));
|
|
|
|
|
foreach ($listings_resolved as $id => $listing) {
|
|
|
|
|
foreach ($listings_resolved as $listing) {
|
|
|
|
|
$id = $listing->id;
|
|
|
|
|
file_put_contents(
|
|
|
|
|
"$LISTING_PROVIDER_LISTINGS/$id",
|
|
|
|
|
json_encode($listing)
|
|
|
|
|