aboutsummaryrefslogtreecommitdiffstats
path: root/core/templates/layout.guest.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/templates/layout.guest.php')
-rw-r--r--core/templates/layout.guest.php88
1 files changed, 52 insertions, 36 deletions
diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php
index 3f9c47f9aa6..1b5b90c29fc 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -1,54 +1,70 @@
+<?php
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+?>
<!DOCTYPE html>
-<!--[if lte IE 8]><html class="ng-csp ie ie8 lte9 lte8" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><![endif]-->
-<!--[if IE 9]><html class="ng-csp ie ie9 lte9" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><![endif]-->
-<!--[if (gt IE 9)|!(IE)]><!--><html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><!--<![endif]-->
- <head data-requesttoken="<?php p($_['requesttoken']); ?>">
+<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" data-locale="<?php p($_['locale']); ?>" translate="no" >
+ <head
+<?php if ($_['user_uid']) { ?>
+ data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>"
+<?php } ?>
+ data-requesttoken="<?php p($_['requesttoken']); ?>">
<meta charset="utf-8">
<title>
- <?php p($theme->getTitle()); ?>
+ <?php
+ p(!empty($_['pageTitle']) ? $_['pageTitle'] . ' – ' : '');
+p($theme->getTitle());
+?>
</title>
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="referrer" content="never">
- <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
+ <meta name="csp-nonce" nonce="<?php p($_['cspNonce']); /* Do not pass into "content" to prevent exfiltration */ ?>">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0<?php if (isset($_['viewport_maximum_scale'])) {
+ p(', maximum-scale=' . $_['viewport_maximum_scale']);
+ } ?>">
+ <?php if ($theme->getiTunesAppId() !== '') { ?>
<meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>">
- <meta name="theme-color" content="<?php p($theme->getMailHeaderColor()); ?>">
- <link rel="icon" href="<?php print_unescaped(image_path('', 'favicon.ico')); /* IE11+ supports png */ ?>">
- <link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path('', 'favicon-touch.png')); ?>">
- <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path('', 'favicon-mask.svg')); ?>" color="#1d2d44">
- <?php foreach($_['cssfiles'] as $cssfile): ?>
- <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>">
- <?php endforeach; ?>
- <?php foreach($_['printcssfiles'] as $cssfile): ?>
- <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>" media="print">
- <?php endforeach; ?>
- <?php foreach($_['jsfiles'] as $jsfile): ?>
- <script src="<?php print_unescaped($jsfile); ?>"></script>
- <?php endforeach; ?>
+ <?php } ?>
+ <meta name="theme-color" content="<?php p($theme->getColorPrimary()); ?>">
+ <link rel="icon" href="<?php print_unescaped(image_path('core', 'favicon.ico')); /* IE11+ supports png */ ?>">
+ <link rel="apple-touch-icon" href="<?php print_unescaped(image_path('core', 'favicon-touch.png')); ?>">
+ <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path('core', 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>">
+ <link rel="manifest" href="<?php print_unescaped(image_path('core', 'manifest.json')); ?>" crossorigin="use-credentials">
+ <?php emit_css_loading_tags($_); ?>
+ <?php emit_script_loading_tags($_); ?>
<?php print_unescaped($_['headers']); ?>
</head>
- <body id="<?php p($_['bodyid']);?>">
- <?php include('layout.noscript.warning.php'); ?>
+ <body id="<?php p($_['bodyid']);?>" <?php foreach ($_['enabledThemes'] as $themeId) {
+ p("data-theme-$themeId ");
+ }?> data-themes="<?php p(join(',', $_['enabledThemes'])) ?>">
+ <?php include 'layout.noscript.warning.php'; ?>
+ <?php include 'layout.initial-state.php'; ?>
<div class="wrapper">
<div class="v-align">
- <?php if ($_['bodyid'] === 'body-login' ): ?>
- <header role="banner">
- <div id="header">
- <div class="logo svg">
- <h1 class="hidden-visually">
- <?php p($theme->getName()); ?>
- </h1>
- </div>
- <div id="logo-claim" style="display:none;"><?php p($theme->getLogoClaim()); ?></div>
+ <?php if ($_['bodyid'] === 'body-login'): ?>
+ <header>
+ <div id="header" class="header-guest">
+ <div class="logo"></div>
</div>
</header>
<?php endif; ?>
- <?php print_unescaped($_['content']); ?>
- <div class="push"></div><!-- for sticky footer -->
+ <div>
+ <h1 class="hidden-visually">
+ <?php p($theme->getName()); ?>
+ </h1>
+ <?php print_unescaped($_['content']); ?>
+ </div>
</div>
</div>
- <footer role="contentinfo">
+ <?php
+ $longFooter = $theme->getLongFooter();
+?>
+ <footer class="guest-box <?php if ($longFooter === '') {
+ p('hidden');
+ } ?>">
<p class="info">
- <?php print_unescaped($theme->getLongFooter()); ?>
+ <?php print_unescaped($longFooter); ?>
</p>
</footer>
</body>