Upload via GUI (32 Dateien)
This commit is contained in:
@@ -1,35 +1,59 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
require_once __DIR__ . '/lib.php';
|
||||
|
||||
function site_headers(): void
|
||||
{
|
||||
header('X-Content-Type-Options: nosniff');
|
||||
header('X-Frame-Options: DENY');
|
||||
header('Referrer-Policy: same-origin');
|
||||
header("Content-Security-Policy: default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'");
|
||||
}
|
||||
|
||||
function site_header(string $title, string $active = ''): void
|
||||
{
|
||||
site_headers();
|
||||
$name = site_config()['site_name'];
|
||||
?><!doctype html>
|
||||
<html lang="de"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><?= site_h($title) ?> · <?= site_h($name) ?></title><link rel="stylesheet" href="assets/style.css"></head>
|
||||
<body>
|
||||
<header class="top"><div class="wrap">
|
||||
<a class="brand" href="index.php"><?= site_h($name) ?></a>
|
||||
<nav><a href="admin.php" class="on">Verwaltung</a></nav>
|
||||
</div></header>
|
||||
<main class="wrap">
|
||||
<?php
|
||||
}
|
||||
|
||||
function site_footer(): void
|
||||
{
|
||||
?></main>
|
||||
<footer class="wrap foot">Fremder Code läuft mit allen Rechten auf eurem Server. Installiert nur Pakete, deren Herkunft ihr prüfen könnt, am besten signierte.</footer>
|
||||
</body></html>
|
||||
<?php
|
||||
}
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
require_once __DIR__ . '/lib.php';
|
||||
|
||||
function site_headers(): void
|
||||
{
|
||||
header('X-Content-Type-Options: nosniff');
|
||||
header('X-Frame-Options: DENY');
|
||||
header('Referrer-Policy: same-origin');
|
||||
header("Content-Security-Policy: default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'");
|
||||
}
|
||||
|
||||
/** Navigation der Verwaltung: Kennung => [Beschriftung, Symbol]. */
|
||||
function site_tabs(): array
|
||||
{
|
||||
return [
|
||||
'overview' => ['Übersicht', '◧'],
|
||||
'packages' => ['Pakete', '▣'],
|
||||
'apps' => ['Apps', '⬇'],
|
||||
'push' => ['Push-Dienst', '🔔'],
|
||||
'settings' => ['Einstellungen', '⚙'],
|
||||
];
|
||||
}
|
||||
|
||||
function site_header(string $title, string $active = '', bool $nav = false): void
|
||||
{
|
||||
site_headers();
|
||||
$name = site_config()['site_name'];
|
||||
?><!doctype html>
|
||||
<html lang="de"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#0f6f6a">
|
||||
<title><?= site_h($title) ?> · <?= site_h($name) ?></title>
|
||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="icon" href="assets/favicon-32.png" sizes="32x32" type="image/png">
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<link rel="apple-touch-icon" href="assets/apple-touch-icon.png">
|
||||
<link rel="stylesheet" href="assets/style.css"></head>
|
||||
<body>
|
||||
<header class="top"><div class="wrap">
|
||||
<a class="brand" href="index.php"><img src="assets/favicon.svg" alt="" width="30" height="30"><span><?= site_h($name) ?></span></a>
|
||||
<?php if ($nav): ?>
|
||||
<nav class="tabs" aria-label="Bereiche">
|
||||
<?php foreach (site_tabs() as $key => [$label, $icon]): ?>
|
||||
<a href="admin.php?tab=<?= site_h($key) ?>"<?= $key === $active ? ' class="on" aria-current="page"' : '' ?>><span class="ico" aria-hidden="true"><?= $icon ?></span><?= site_h($label) ?></a>
|
||||
<?php endforeach; ?>
|
||||
</nav>
|
||||
<?php endif; ?>
|
||||
</div></header>
|
||||
<main class="wrap">
|
||||
<?php
|
||||
}
|
||||
|
||||
function site_footer(): void
|
||||
{
|
||||
?></main>
|
||||
<footer class="wrap foot">Fremder Code läuft mit allen Rechten auf eurem Server. Installiert nur Pakete, deren Herkunft ihr prüfen könnt, am besten signierte.</footer>
|
||||
</body></html>
|
||||
<?php
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user