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
2021-12-14 18:32:47 +00:00

73 lines
1.8 KiB
PHP

<?php
declare(strict_types=1);
class DowntimeTheme extends Themelet
{
/**
* Show the admin that downtime mode is enabled
*/
public function display_notification(Page $page)
{
$page->add_block(new Block(
"Downtime",
"<span style='font-size: 1.5em; text-align: center;'><b>DOWNTIME MODE IS ON!</b></span>",
"left",
0
));
}
/**
* Display $message and exit
*/
public function display_message(string $message)
{
global $config, $user, $page;
$theme_name = $config->get_string(SetupConfig::THEME);
$data_href = get_base_href();
$login_link = make_link("user_admin/login");
$auth = $user->get_auth_html();
$page->set_mode(PageMode::DATA);
$page->set_code(503);
$page->set_data(
<<<EOD
<html lang="en">
<head>
<title>Downtime</title>
<link rel="stylesheet" href="$data_href/themes/$theme_name/style.css" type="text/css">
</head>
<body>
<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 action="$login_link" method="POST">
$auth
<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>
</body>
</html>
EOD
);
}
}