diff options
Diffstat (limited to 'resources/views/layouts/default.phtml')
| -rw-r--r-- | resources/views/layouts/default.phtml | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/resources/views/layouts/default.phtml b/resources/views/layouts/default.phtml new file mode 100644 index 0000000000..ce125d36e9 --- /dev/null +++ b/resources/views/layouts/default.phtml @@ -0,0 +1,156 @@ +<?php use Fisharebest\Webtrees\Auth; ?> +<?php use Fisharebest\Webtrees\DebugBar; ?> +<?php use Fisharebest\Webtrees\FlashMessages; ?> +<?php use Fisharebest\Webtrees\I18N; ?> +<?php use Fisharebest\Webtrees\Theme; ?> +<?php use Fisharebest\Webtrees\View; ?> + +<!DOCTYPE html> +<html <?= I18N::htmlAttributes() ?>> + <head> + <meta charset="UTF-8"> + <meta name="csrf" content="<?= e(csrf_token()) ?>"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="robots" content="<?= e($meta_robots ?? 'noindex,nofollow') ?>"> + <meta name="generator" content="<?= e(WT_WEBTREES) ?>"> + <?php if ($tree !== null) : ?> + <meta name="description" content="<?= e($tree->getPreference('META_DESCRIPTION')) ?>"> + <?php endif ?> + + <title> + <?= strip_tags($title) ?> + <?php if ($tree !== null && $tree->getPreference('META_TITLE') !== '') : ?> + – <?= e($tree->getPreference('META_TITLE')) ?> + <?php endif ?> + </title> + + <link rel="icon" href="<?= Theme::theme()::ASSET_DIR ?>favicon.png" type="image/png"> + <link rel="icon" type="image/png" href="<?= Theme::theme()::ASSET_DIR ?>favicon192.png" sizes="192x192"> + <link rel="apple-touch-icon" sizes="180x180" href="<?= Theme::theme()::ASSET_DIR ?>favicon180.png"> + + <?php if (I18N::direction() === 'rtl') : ?> + <link rel="stylesheet" type="text/css" href="<?= e(WT_ASSETS_URL . 'css/vendor-rtl.css') ?>"> + <?php else : ?> + <link rel="stylesheet" type="text/css" href="<?= e(WT_ASSETS_URL . 'css/vendor.css') ?>"> + <?php endif ?> + + <?php foreach (Theme::theme()->stylesheets() as $stylesheet) : ?> + <link rel="stylesheet" type="text/css" href="<?= $stylesheet ?>"> + <?php endforeach ?> + + <?= View::stack('styles') ?> + + <?= Theme::theme()->analytics() ?> + + <?= DebugBar::renderHead() ?> + </head> + + <body class="wt-global"> + <header class="wt-header-wrapper d-print-none"> + <div class="container wt-header-container"> + <div class="row wt-header-content"> + <div class="wt-accessibility-links"> + <a class="sr-only sr-only-focusable btn btn-info btn-sm" href="#content"> + <?= /* I18N: Skip over the headers and menus, to the main content of the page */ I18N::translate('Skip to content') ?> + </a> + </div> + <div class="col wt-site-logo"></div> + + <?php if ($tree !== null) : ?> + <h1 class="col wt-site-title"><?= e($tree->getTitle()) ?></h1> + + <div class="col wt-header-search"> + <form class="wt-header-search-form" role="search"> + <input type="hidden" name="route" value="search-quick"> + <input type="hidden" name="ged" value="<?= e($tree->getName()) ?>"> + <div class="input-group"> + <label class="sr-only" for="quick-search"><?= I18N::translate('Search') ?></label> + <input type="search" class="form-control wt-header-search-field" id="quick-search" name="query" size="15" placeholder="<?= I18N::translate('Search') ?>"> + <span class="input-group-btn"> + <button type="submit" class="btn btn-primary wt-header-search-button"> + <?= view('icons/search') ?> + </button> + </span> + </div> + </form> + </div> + <?php endif ?> + + <div class="col wt-secondary-navigation"> + <ul class="nav wt-secondary-menu"> + <?php foreach (Theme::theme()->secondaryMenu() as $menu) : ?> + <?= $menu->bootstrap4() ?> + <?php endforeach ?> + </ul> + </div> + + <?php if ($tree !== null) : ?> + <nav class="col wt-primary-navigation"> + <ul class="nav wt-primary-menu"> + <?php foreach (Theme::theme()->primaryMenu($individual ?? $tree->significantIndividual(Auth::user())) as $menu) : ?> + <?= $menu->bootstrap4() ?> + <?php endforeach ?> + </ul> + </nav> + <?php endif ?> + </div> + </div> + </header> + + <main id="content" class="wt-main-wrapper"> + <div class="container wt-main-container"> + <div class="flash-messages"> + <?php foreach (FlashMessages::getMessages() as $message) : ?> + <div class="alert alert-<?= e($message->status) ?> alert-dismissible" role="alert"> + <button type="button" class="close" data-dismiss="alert" aria-label="<?= I18N::translate('close') ?>"> + <span aria-hidden="true">×</span> + </button> + <?= $message->text ?> + </div> + <?php endforeach ?> + </div> + + <?= $content ?> + </div> + </main> + + <footer class="wt-footer-container"> + <div class="wt-footer-content container d-print-none"> + <?= Theme::theme()->formatContactLinks() ?> + <?= Theme::theme()->logoPoweredBy() ?> + + <?php if ($page_hits ?? 0 > 0) : ?> + <div class="wt-page-views"> + <?= I18N::plural( + 'This page has been viewed %s time.', + 'This page has been viewed %s times.', + $page_hits, + '<span class="odometer">' . I18N::digits($page_hits) . '</span>' + ) ?> + </div> + <?php endif ?> + + <?= Theme::theme()->cookieWarning()?> + </div> + </footer> + + <script src="<?= e(WT_ASSETS_URL . 'js/vendor.js') ?>?<?= filemtime(WT_ROOT . WT_ASSETS_URL . 'js/vendor.js') ?>"></script> + <script src="<?= e(WT_ASSETS_URL . 'js/webtrees.js') ?>?<?= filemtime(WT_ROOT . WT_ASSETS_URL . 'js/webtrees.js') ?>"></script> + + <script> + activate_colorbox(); + jQuery.extend(jQuery.colorbox.settings, { + width: "85%", + height: "85%", + transition: "none", + slideshowStart: "<?= I18N::translate('Play') ?>", + slideshowStop: "<?= I18N::translate('Stop') ?>", + title: function() { return this.dataset.title; } + }); + </script> + + <?= View::stack('javascript') ?> + + <?= DebugBar::render() ?> + </body> +</html> |
