Added autoloader
This commit is contained in:
parent
9b9b9866c0
commit
f4fbe1413f
|
@ -7,5 +7,11 @@
|
|||
"Composer\\Config::disableProcessTimeout",
|
||||
"php -S localhost:8000 -t public"
|
||||
]
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"UptimeStatus\\": "controller/",
|
||||
"UptimeStatus\\Model\\": "model/"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
27
controller/Filters.php
Normal file
27
controller/Filters.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php namespace UptimeStatus;
|
||||
|
||||
class Filters {
|
||||
|
||||
public static function globalstatus() {
|
||||
return new \Twig\TwigFilter('globalstatus', function (array $stats, int $total) {
|
||||
if ($stats[3] > 0) return 3;
|
||||
if ($stats[1] == $total) return 1;
|
||||
if ($stats[1] == 0) return 0;
|
||||
return 2;
|
||||
});
|
||||
}
|
||||
|
||||
public static function statusicon() {
|
||||
return new \Twig\TwigFilter('statusicon', function (int $status, string $suffix = "svg") {
|
||||
$icons = ["error", "success", "warning", "maintenance"];
|
||||
return "/icon/{$icons[$status]}.$suffix";
|
||||
});
|
||||
}
|
||||
|
||||
public static function statuscolor() {
|
||||
return new \Twig\TwigFilter('statuscolor', function (int $status) {
|
||||
return ["#F87171", "#10B981", "#FFBB6D", "#9575cd"][$status];
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
<?php namespace Locale;
|
||||
<?php namespace UptimeStatus;
|
||||
|
||||
class Locale {
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
<?php
|
||||
|
||||
require(__DIR__ . "/status.php");
|
||||
<?php namespace UptimeStatus;
|
||||
|
||||
class Router {
|
||||
|
||||
private UptimeStatus $status;
|
||||
private Status $status;
|
||||
|
||||
public function __construct($config) {
|
||||
$this->status = new UptimeStatus($config);
|
||||
$this->status = new Status($config);
|
||||
}
|
||||
|
||||
public function get_path(): string {
|
|
@ -1,11 +1,8 @@
|
|||
<?php
|
||||
<?php namespace UptimeStatus;
|
||||
|
||||
require_once("../vendor/autoload.php");
|
||||
require_once("../model/page.php");
|
||||
require_once(__DIR__ . "/filters.php");
|
||||
require_once(__DIR__ . "/locale.php");
|
||||
use UptimeStatus\Model\Page;
|
||||
|
||||
class UptimeStatus {
|
||||
class Status {
|
||||
|
||||
private array $config;
|
||||
|
||||
|
@ -34,11 +31,11 @@ class UptimeStatus {
|
|||
$loader = new \Twig\Loader\FilesystemLoader("../view/");
|
||||
$twig = new \Twig\Environment($loader, $twig_config);
|
||||
|
||||
$twig->addFilter(\Filters\globalstatus());
|
||||
$twig->addFilter(\Filters\statusicon());
|
||||
$twig->addFilter(\Filters\statuscolor());
|
||||
$twig->addFilter(Filters::globalstatus());
|
||||
$twig->addFilter(Filters::statusicon());
|
||||
$twig->addFilter(Filters::statuscolor());
|
||||
|
||||
$locale = new \Locale\Locale($this->cfg("default_language"));
|
||||
$locale = new Locale($this->cfg("default_language"));
|
||||
$twig->addFilter($locale->t());
|
||||
|
||||
$ext = $twig->getExtension(\Twig\Extension\CoreExtension::class);
|
|
@ -1,25 +0,0 @@
|
|||
<?php namespace Filters;
|
||||
|
||||
require_once("../vendor/autoload.php");
|
||||
|
||||
function globalstatus() {
|
||||
return new \Twig\TwigFilter('globalstatus', function (array $stats, int $total) {
|
||||
if ($stats[3] > 0) return 3;
|
||||
if ($stats[1] == $total) return 1;
|
||||
if ($stats[1] == 0) return 0;
|
||||
return 2;
|
||||
});
|
||||
}
|
||||
|
||||
function statusicon() {
|
||||
return new \Twig\TwigFilter('statusicon', function (int $status, string $suffix = "svg") {
|
||||
$icons = ["error", "success", "warning", "maintenance"];
|
||||
return "/icon/{$icons[$status]}.$suffix";
|
||||
});
|
||||
}
|
||||
|
||||
function statuscolor() {
|
||||
return new \Twig\TwigFilter('statuscolor', function (int $status) {
|
||||
return ["#F87171", "#10B981", "#FFBB6D", "#9575cd"][$status];
|
||||
});
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<?php
|
||||
|
||||
require("../config.inc.php");
|
||||
require(__DIR__ . "/router.php");
|
||||
|
||||
$router = new Router($config);
|
||||
|
||||
$router->render();
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
<?php namespace UptimeStatus\Model;
|
||||
|
||||
require_once(__DIR__ . "/monitor.php");
|
||||
use UptimeStatus\Status;
|
||||
|
||||
class Group {
|
||||
|
||||
|
@ -22,7 +22,7 @@ class Group {
|
|||
return $this->stats;
|
||||
}
|
||||
|
||||
public static function convert(UptimeStatus $s, array $oldGroup, array $heartbeat): Group {
|
||||
public static function convert(Status $s, array $oldGroup, array $heartbeat): Group {
|
||||
$group = new Group($oldGroup["name"]);
|
||||
foreach ($oldGroup["monitorList"] as $oldMonitor) {
|
||||
$group->add_monitor(Monitor::convert($s, $oldMonitor, $heartbeat));
|
|
@ -1,4 +1,6 @@
|
|||
<?php
|
||||
<?php namespace UptimeStatus\Model;
|
||||
|
||||
use UptimeStatus\Status;
|
||||
|
||||
class Monitor {
|
||||
|
||||
|
@ -20,7 +22,7 @@ class Monitor {
|
|||
return $this->last["status"] ?? 0;
|
||||
}
|
||||
|
||||
public static function convert(UptimeStatus $s, array $oldMonitor, array $heartbeat): Monitor {
|
||||
public static function convert(Status $s, array $oldMonitor, array $heartbeat): Monitor {
|
||||
|
||||
$id = $oldMonitor["id"];
|
||||
$opts = $s->cfg("monitor_options") ?? [];
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
<?php namespace UptimeStatus\Model;
|
||||
|
||||
require_once(__DIR__ . "/group.php");
|
||||
use UptimeStatus\Status;
|
||||
|
||||
class Page {
|
||||
|
||||
|
@ -32,7 +32,7 @@ class Page {
|
|||
];
|
||||
}
|
||||
|
||||
public static function get(UptimeStatus $s, string $page): ?Page {
|
||||
public static function get(Status $s, string $page): ?Page {
|
||||
|
||||
$url = $s->cfg("uptime_kuma_url");
|
||||
$urls = [
|
|
@ -1,4 +1,8 @@
|
|||
<?php
|
||||
|
||||
require("../vendor/autoload.php");
|
||||
require("../config.inc.php");
|
||||
|
||||
require("../controller/main.php");
|
||||
$router = new UptimeStatus\Router($config);
|
||||
|
||||
$router->render();
|
Loading…
Reference in a new issue