2021-10-13 06:13:17 -04:00
|
|
|
<?php
|
2024-05-27 04:08:53 -04:00
|
|
|
/**
|
|
|
|
|
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc.
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
*/
|
|
|
|
|
|
2021-10-13 06:13:17 -04:00
|
|
|
/**
|
|
|
|
|
* @var \OC_Defaults $theme
|
|
|
|
|
* @var array $_
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
$getUserAvatar = static function (int $size) use ($_): string {
|
|
|
|
|
return \OC::$server->getURLGenerator()->linkToRoute('core.avatar.getAvatar', [
|
|
|
|
|
'userId' => $_['user_uid'],
|
|
|
|
|
'size' => $size,
|
|
|
|
|
'v' => $_['userAvatarVersion']
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?><!DOCTYPE html>
|
2022-10-27 14:13:48 -04:00
|
|
|
<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" data-locale="<?php p($_['locale']); ?>" translate="no" >
|
2016-02-09 07:06:48 -05:00
|
|
|
<head data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>">
|
2015-03-17 18:36:05 -04:00
|
|
|
<meta charset="utf-8">
|
2013-06-12 08:33:24 -04:00
|
|
|
<title>
|
2013-10-17 04:40:06 -04:00
|
|
|
<?php
|
2025-02-11 19:07:59 -05:00
|
|
|
p(!empty($_['pageTitle']) && (empty($_['application']) || $_['pageTitle'] !== $_['application']) ? $_['pageTitle'] . ' - ' : '');
|
2024-02-23 12:38:47 -05:00
|
|
|
p(!empty($_['application']) ? $_['application'] . ' - ' : '');
|
|
|
|
|
p($theme->getTitle());
|
|
|
|
|
?>
|
2013-06-12 08:33:24 -04:00
|
|
|
</title>
|
2024-08-01 17:06:55 -04:00
|
|
|
<meta name="csp-nonce" nonce="<?php p($_['cspNonce']); /* Do not pass into "content" to prevent exfiltration */ ?>">
|
2024-08-20 20:59:14 -04:00
|
|
|
<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']);
|
|
|
|
|
} ?>">
|
2022-08-20 05:22:54 -04:00
|
|
|
|
2019-08-23 10:17:09 -04:00
|
|
|
<?php if ($theme->getiTunesAppId() !== '') { ?>
|
2014-08-28 04:12:59 -04:00
|
|
|
<meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>">
|
2019-08-23 10:17:09 -04:00
|
|
|
<?php } ?>
|
2014-07-08 07:14:54 -04:00
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
2020-10-05 09:12:57 -04:00
|
|
|
<meta name="apple-mobile-web-app-title" content="<?php p((!empty($_['application']) && $_['appid'] != 'files')? $_['application']:$theme->getTitle()); ?>">
|
2014-07-08 07:14:54 -04:00
|
|
|
<meta name="mobile-web-app-capable" content="yes">
|
2017-03-27 19:37:47 -04:00
|
|
|
<meta name="theme-color" content="<?php p($theme->getColorPrimary()); ?>">
|
2016-03-08 15:09:34 -05:00
|
|
|
<link rel="icon" href="<?php print_unescaped(image_path($_['appid'], 'favicon.ico')); /* IE11+ supports png */ ?>">
|
2019-06-14 13:29:45 -04:00
|
|
|
<link rel="apple-touch-icon" href="<?php print_unescaped(image_path($_['appid'], 'favicon-touch.png')); ?>">
|
2020-10-02 15:49:14 -04:00
|
|
|
<link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path($_['appid'], 'favicon-touch.png')); ?>">
|
2017-03-27 19:37:47 -04:00
|
|
|
<link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path($_['appid'], 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>">
|
2023-12-11 02:59:45 -05:00
|
|
|
<link rel="manifest" href="<?php print_unescaped(image_path($_['appid'], 'manifest.json')); ?>" crossorigin="use-credentials">
|
2017-05-20 06:16:44 -04:00
|
|
|
<?php emit_css_loading_tags($_); ?>
|
2017-03-08 03:43:51 -05:00
|
|
|
<?php emit_script_loading_tags($_); ?>
|
2014-10-28 06:15:58 -04:00
|
|
|
<?php print_unescaped($_['headers']); ?>
|
2011-03-02 05:56:48 -05:00
|
|
|
</head>
|
2023-12-15 12:00:22 -05:00
|
|
|
<body dir="<?php p($_['direction']); ?>" id="<?php p($_['bodyid']);?>" <?php foreach ($_['enabledThemes'] as $themeId) {
|
2023-01-20 05:45:08 -05:00
|
|
|
p("data-theme-$themeId ");
|
|
|
|
|
}?> data-themes=<?php p(join(',', $_['enabledThemes'])) ?>>
|
2024-07-30 07:24:38 -04:00
|
|
|
<?php include 'layout.noscript.warning.php'; ?>
|
|
|
|
|
<?php include 'layout.initial-state.php'; ?>
|
2019-01-17 06:30:47 -05:00
|
|
|
|
2022-07-16 04:17:15 -04:00
|
|
|
<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 } ?>
|
2018-06-25 03:26:43 -04:00
|
|
|
</div>
|
2018-06-26 06:37:33 -04:00
|
|
|
|
2023-10-18 11:02:13 -04:00
|
|
|
<header id="header">
|
2023-12-23 11:16:25 -05:00
|
|
|
<div class="header-start">
|
2022-01-20 06:27:29 -05:00
|
|
|
<a href="<?php print_unescaped($_['logoUrl'] ?: link_to('', 'index.php')); ?>"
|
2023-03-29 16:36:45 -04:00
|
|
|
aria-label="<?php p($l->t('Go to %s', [$_['logoUrl'] ?: $_['defaultAppName']])); ?>"
|
2017-09-29 14:01:15 -04:00
|
|
|
id="nextcloud">
|
2023-03-29 16:36:45 -04:00
|
|
|
<div class="logo logo-icon"></div>
|
2017-01-03 10:06:53 -05:00
|
|
|
</a>
|
2014-12-17 10:05:01 -05:00
|
|
|
|
2023-12-23 11:16:25 -05:00
|
|
|
<nav id="header-start__appmenu"></nav>
|
2017-01-03 10:06:53 -05:00
|
|
|
</div>
|
2014-12-17 10:05:01 -05:00
|
|
|
|
2023-12-23 11:16:25 -05:00
|
|
|
<div class="header-end">
|
2021-08-31 07:18:34 -04:00
|
|
|
<div id="unified-search"></div>
|
2022-06-02 05:22:59 -04:00
|
|
|
<div id="notifications"></div>
|
2023-01-11 20:35:53 -05:00
|
|
|
<div id="contactsmenu"></div>
|
2023-02-09 20:54:59 -05:00
|
|
|
<div id="user-menu"></div>
|
2013-12-09 19:45:15 -05:00
|
|
|
</div>
|
2019-02-27 10:37:52 -05:00
|
|
|
</header>
|
2011-03-02 05:56:48 -05:00
|
|
|
|
2025-01-10 12:17:22 -05:00
|
|
|
<div id="content" class="app-<?php p($_['appid']) ?>">
|
2023-04-05 04:27:16 -04:00
|
|
|
<h1 class="hidden-visually" id="page-heading-level-1">
|
2024-01-12 10:53:04 -05:00
|
|
|
<?php p((!empty($_['application']) && !empty($_['pageTitle']) && $_['application'] != $_['pageTitle'])
|
|
|
|
|
? $_['application'] . ': ' . $_['pageTitle']
|
|
|
|
|
: (!empty($_['pageTitle']) ? $_['pageTitle'] : $theme->getName())
|
|
|
|
|
); ?>
|
2023-04-05 04:27:16 -04:00
|
|
|
</h1>
|
2018-07-27 03:42:34 -04:00
|
|
|
<?php print_unescaped($_['content']); ?>
|
2025-01-10 12:17:22 -05:00
|
|
|
</div>
|
2022-01-19 17:30:34 -05:00
|
|
|
<div id="profiler-toolbar"></div>
|
2011-03-02 05:56:48 -05:00
|
|
|
</body>
|
|
|
|
|
</html>
|