diff options
Diffstat (limited to 'core/templates/layout.public.php')
-rw-r--r-- | core/templates/layout.public.php | 74 |
1 files changed, 27 insertions, 47 deletions
diff --git a/core/templates/layout.public.php b/core/templates/layout.public.php index 3ce34ece9f5..60460d60c83 100644 --- a/core/templates/layout.public.php +++ b/core/templates/layout.public.php @@ -9,12 +9,16 @@ <head data-requesttoken="<?php p($_['requesttoken']); ?>"> <meta charset="utf-8"> <title> - <?php - p(!empty($_['application']) ? $_['application'].' - ' : ''); + <?php + p(!empty($_['pageTitle']) && (empty($_['application']) || $_['pageTitle'] !== $_['application']) ? $_['pageTitle'] . ' - ' : ''); +p(!empty($_['application']) ? $_['application'] . ' - ' : ''); p($theme->getTitle()); ?> </title> - <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-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()); ?>"> <?php } ?> @@ -32,18 +36,18 @@ p($theme->getTitle()); <?php emit_script_loading_tags($_); ?> <?php print_unescaped($_['headers']); ?> </head> -<body id="<?php p($_['bodyid']);?>"> -<?php include('layout.noscript.warning.php'); ?> -<?php foreach ($_['initialStates'] as $app => $initialState) { ?> - <input type="hidden" id="initial-state-<?php p($app); ?>" value="<?php p(base64_encode($initialState)); ?>"> -<?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 id="skip-actions"> <?php if ($_['id-app-content'] !== null) { ?><a href="<?php p($_['id-app-content']); ?>" class="button primary skip-navigation skip-content"><?php p($l->t('Skip to main content')); ?></a><?php } ?> <?php if ($_['id-app-navigation'] !== null) { ?><a href="<?php p($_['id-app-navigation']); ?>" class="button primary skip-navigation"><?php p($l->t('Skip to navigation of app')); ?></a><?php } ?> </div> <header id="header"> - <div class="header-left"> + <div class="header-start"> <div id="nextcloud" class="header-appname"> <?php if ($_['logoUrl']): ?> <a href="<?php print_unescaped($_['logoUrl']); ?>" @@ -71,55 +75,31 @@ p($theme->getTitle()); </div> </div> - <div class="header-right"> - <?php -/** @var \OCP\AppFramework\Http\Template\PublicTemplateResponse $template */ -if (isset($template) && $template->getActionCount() !== 0) { - $primary = $template->getPrimaryAction(); - $others = $template->getOtherActions(); ?> - <span id="header-primary-action" class="<?php if ($template->getActionCount() === 1) { - p($primary->getIcon()); - } ?>"> - <a href="<?php p($primary->getLink()); ?>" class="primary button"> - <span><?php p($primary->getLabel()) ?></span> - </a> - </span> - <?php if ($template->getActionCount() > 1) { ?> - <div id="header-secondary-action"> - <button id="header-actions-toggle" class="menutoggle icon-more-white"></button> - <div id="header-actions-menu" class="popovermenu menu"> - <ul> - <?php - /** @var \OCP\AppFramework\Http\Template\IMenuAction $action */ - foreach ($others as $action) { - print_unescaped($action->render()); - } - ?> - </ul> - </div> - </div> - <?php } ?> - <?php -} ?> + <div class="header-end"> + <div id="public-page-menu"></div> + <div id="public-page-user-menu"></div> </div> </header> - <main id="content" class="app-<?php p($_['appid']) ?>"> + + <div id="content" class="app-<?php p($_['appid']) ?>"> <h1 class="hidden-visually"> - <?php if (isset($template) && $template->getHeaderTitle() !== '') { ?> - <?php p($template->getHeaderTitle()); ?> - <?php } else { ?> - <?php p($theme->getName()); ?> - <?php } ?> + <?php + if (isset($template) && $template->getHeaderTitle() !== '') { + p($template->getHeaderTitle()); + } else { + p($theme->getName()); + } ?> </h1> <?php print_unescaped($_['content']); ?> - </main> + </div> + <?php if (isset($template) && $template->getFooterVisible() && ($theme->getLongFooter() !== '' || $_['showSimpleSignUpLink'])) { ?> <footer> <p><?php print_unescaped($theme->getLongFooter()); ?></p> <?php if ($_['showSimpleSignUpLink']) { ?> - <p> + <p class="footer__simple-sign-up"> <a href="<?php p($_['signUpLink']); ?>" target="_blank" rel="noreferrer noopener"> <?php p($l->t('Get your own free account')); ?> </a> |