2023-10-31 22:15:05 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
require_once(__DIR__ . "/group.php");
|
|
|
|
|
|
|
|
class Page {
|
|
|
|
|
|
|
|
private array $page;
|
|
|
|
private int $online = 0;
|
|
|
|
private int $total = 0;
|
|
|
|
private array $groups = [];
|
|
|
|
|
|
|
|
public function __construct(array $page) {
|
|
|
|
$this->page = $page;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function add_group(Group $group) {
|
|
|
|
array_push($this->groups, $group);
|
|
|
|
$this->online += $group->get_online();
|
|
|
|
$this->total += $group->get_total();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function export(): array {
|
|
|
|
return [
|
|
|
|
"page" => $this->page,
|
|
|
|
"online" => $this->online,
|
|
|
|
"total" => $this->total,
|
2023-11-01 18:23:30 +01:00
|
|
|
"groups" => $this->groups
|
2023-10-31 22:15:05 +01:00
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function convert(array $oldPage, array $heartbeat): Page {
|
|
|
|
$page = new Page($oldPage["config"]);
|
|
|
|
foreach ($oldPage["publicGroupList"] as $oldGroup) {
|
|
|
|
$page->add_group(Group::convert($oldGroup, $heartbeat));
|
|
|
|
}
|
|
|
|
return $page;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|