diff options
Diffstat (limited to 'core/templates/layout.guest.php')
-rw-r--r-- | core/templates/layout.guest.php | 88 |
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> |