add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
use MintyPHP\Buffer;
|
|
|
|
|
|
|
|
|
|
$defaultTitle = appTitle();
|
|
|
|
|
$primaryVars = appPrimaryCssVars();
|
|
|
|
|
$theme = currentTheme();
|
|
|
|
|
$pageTitle = $defaultTitle;
|
|
|
|
|
ob_start();
|
|
|
|
|
Buffer::get('title');
|
|
|
|
|
$bufferTitle = trim((string) ob_get_clean());
|
|
|
|
|
if ($bufferTitle !== '') {
|
|
|
|
|
$pageTitle = $bufferTitle . ' - ' . $defaultTitle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html data-theme="<?php e($theme); ?>" <?php if ($primaryVars !== ''): ?>style="<?php e($primaryVars); ?>"<?php endif; ?>>
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
<base href="<?php e(localeBase()); ?>">
|
|
|
|
|
<title><?php e($pageTitle); ?></title>
|
|
|
|
|
<meta property="og:site_name" content="<?php e($defaultTitle); ?>">
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="<?php e(appFaviconUrl('favicon-32x32.png')); ?>">
|
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="<?php e(appFaviconUrl('favicon-16x16.png')); ?>">
|
|
|
|
|
<link rel="apple-touch-icon" href="<?php e(appFaviconUrl('apple-touch-icon.png')); ?>">
|
|
|
|
|
<link rel="manifest" href="<?php e(asset('favicon/site.webmanifest')); ?>">
|
|
|
|
|
<?php renderTemplateStyles('page'); ?>
|
|
|
|
|
<?php renderPageStyles(); ?>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
<div class="page-layout">
|
|
|
|
|
<header class="page-header">
|
|
|
|
|
<a href="<?php e(lurl('')); ?>" class="app-brand">
|
|
|
|
|
<img src="<?php e(appLogoUrl(128)); ?>" alt="<?php e(appTitle()); ?>">
|
|
|
|
|
</a>
|
|
|
|
|
<nav>
|
|
|
|
|
<ul>
|
|
|
|
|
<li><a href="<?php e(lurl('imprint')); ?>"><?php e(t('Imprint')); ?></a></li>
|
|
|
|
|
<li><a href="<?php e(lurl('privacy')); ?>"><?php e(t('Privacy')); ?></a></li>
|
2026-03-12 14:09:06 +01:00
|
|
|
<li><a href="<?php e(lurl('terms')); ?>"><?php e(t('Terms of Service')); ?></a></li>
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
<li><a href="<?php e(lurl('login')); ?>"><?php e(t('Login')); ?></a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
</header>
|
|
|
|
|
<main>
|
|
|
|
|
<div class="page-content">
|
|
|
|
|
<?php require __DIR__ . '/partials/app-flash.phtml'; ?>
|
|
|
|
|
<?php Buffer::get('html'); ?>
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
|
|
|
|
<?php require __DIR__ . '/partials/app-footer.phtml'; ?>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
</html>
|