name = $name; $this->containerId = $containerId; $this->status = $status; $this->startedAt = $startedAt; $this->finishedAt = $finishedAt; $this->isNotFound = $isNotFound; } } function getDockerStatus($containerName): ServiceStatus { $dockerOutput = exec('sudo docker inspect --format=\'{{.Id}} {{.State.Status}} {{.State.StartedAt}} {{.State.FinishedAt}}\' ' . $containerName); if (empty($dockerOutput)) { return new ServiceStatus($containerName, '-', '-', '-', '-', true); } $parts = explode(' ', $dockerOutput); $status = new ServiceStatus($containerName, substr($parts[0], 0, 12), $parts[1], $parts[2], $parts[3], false); return $status; } function createStatusTable(ServiceStatus $status) { echo ('
| Container ID | Name | Status | Started at | Finished at |
|---|---|---|---|---|
| ' . $status->containerId . ' | '); echo ('' . $status->name . ' | '); echo ('' . $status->status . ' | '); echo ('' . $status->startedAt . ' | '); echo ('' . $status->finishedAt . ' | '); echo ('
Output of $action
"; echo "$output"; echo ""; exit; } function doSessionCheck($redirect) { if (!isset($_SESSION['token']) || $_SESSION['token'] !== getSuperSecretToken()) { header('Location: authenticate.php?redirect=/' . $redirect); exit; } } include('key.php'); function getSuperSecretToken() { global $superSecretToken; return $superSecretToken; }