This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/downtime/theme.php

72 lines
1.8 KiB
PHP
Raw Normal View History

2021-12-14 18:32:47 +00:00
<?php
declare(strict_types=1);
namespace Shimmie2;
use function MicroHTML\{emptyHTML, TITLE, LINK};
class DowntimeTheme extends Themelet
{
/**
* Show the admin that downtime mode is enabled
*/
public function display_notification(Page $page): void
{
$page->add_block(new Block(
"Downtime",
"<span style='font-size: 1.5rem; text-align: center;'><b>DOWNTIME MODE IS ON!</b></span>",
"left",
0
));
}
/**
* Display $message and exit
*/
public function display_message(string $message): void
{
global $config, $user, $page;
2019-08-02 19:40:03 +00:00
$theme_name = $config->get_string(SetupConfig::THEME);
$data_href = get_base_href();
$login_link = make_link("user_admin/login");
2024-02-11 11:34:09 +00:00
$form = make_form($login_link);
2015-08-23 15:09:52 +00:00
$head = emptyHTML(
TITLE("Downtime"),
LINK(["rel" => "stylesheet", "href" => "$data_href/themes/$theme_name/style.css", "type" => "text/css"])
);
$body = <<<EOD
<div id="downtime">
<section>
<h1 style="text-align: center;">Down for Maintenance</h1>
<div id="message" class="blockbody">
$message
</div>
</section>
<section>
<h3>Admin Login</h3>
<div id="login" class="blockbody">
$form
<table id="login_table" summary="Login Form">
<tr>
<td width="70"><label for="user">Name</label></td>
<td width="70"><input id="user" type="text" name="user"></td>
</tr>
<tr>
<td><label for="pass">Password</label></td>
<td><input id="pass" type="password" name="pass"></td>
</tr>
<tr><td colspan="2"><input type="submit" value="Log In"></td></tr>
</table>
</form>
</div>
</section>
</div>
EOD;
2019-06-19 01:58:28 +00:00
$page->set_mode(PageMode::DATA);
$page->set_code(503);
$page->set_data((string)$page->html_html($head, $body));
}
}