[NC] Upgrade to Nextcloud 25.0.4
This still uses a fork of nextcloud/forms and reenables that plugin. Since version 25 of Nextcloud uses the 2.X line of the nextcloud/mail plugin, which already includes our patches, we can get rid of them to easen future maintenance.main
parent
20b52553ad
commit
fd5db8ed8f
|
@ -21,25 +21,30 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
$api_url = "https://" . preg_replace('/^nextcloud\./', 'api.', $_SERVER['HTTP_HOST']);
|
$api_url = "https://" . preg_replace('/^nextcloud\./', 'api.', $_SERVER['HTTP_HOST']);
|
||||||
$avatar_url = "https://" . preg_replace('/^nextcloud\./', 'sso.', $_SERVER['HTTP_HOST']) . "/auth/realms/master/avatar-provider";
|
|
||||||
|
|
||||||
// Remove user menu Settings item for non-administrator users
|
// Remove user menu Settings item for non-administrator users
|
||||||
if(!array_key_exists('core_apps', $_["settingsnavigation"])){
|
if(!array_key_exists('core_apps', $_["settingsnavigation"])){
|
||||||
unset($_["settingsnavigation"]["settings"]);
|
unset($_["settingsnavigation"]["settings"]);
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
$getUserAvatar = static function (int $size) use ($_): string {
|
||||||
|
$avatar_url = "https://" . preg_replace('/^nextcloud\./', 'sso.', $_SERVER['HTTP_HOST']) . "/auth/realms/master/avatar-provider";
|
||||||
|
return $avatar_url;
|
||||||
|
}
|
||||||
|
|
||||||
|
?><!DOCTYPE html>
|
||||||
<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" data-locale="<?php p($_['locale']); ?>" >
|
<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" data-locale="<?php p($_['locale']); ?>" >
|
||||||
<head data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>">
|
<head data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>
|
<title>
|
||||||
<?php
|
<?php
|
||||||
|
p(!empty($_['pageTitle'])?$_['pageTitle'].' - ':'');
|
||||||
p(!empty($_['application'])?$_['application'].' - ':'');
|
p(!empty($_['application'])?$_['application'].' - ':'');
|
||||||
p($theme->getTitle());
|
p($theme->getTitle());
|
||||||
?>
|
?>
|
||||||
</title>
|
</title>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
|
||||||
<?php if ($theme->getiTunesAppId() !== '') { ?>
|
<?php if ($theme->getiTunesAppId() !== '') { ?>
|
||||||
<meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>">
|
<meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>">
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
@ -54,8 +59,8 @@
|
||||||
<link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path($_['appid'], 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>">
|
<link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path($_['appid'], 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>">
|
||||||
<link rel="manifest" href="<?php print_unescaped(image_path($_['appid'], 'manifest.json')); ?>">
|
<link rel="manifest" href="<?php print_unescaped(image_path($_['appid'], 'manifest.json')); ?>">
|
||||||
<link rel="stylesheet" href="<?php p($api_url) ?>/css/font-awesome-4.7.0/css/font-awesome.min.css">
|
<link rel="stylesheet" href="<?php p($api_url) ?>/css/font-awesome-4.7.0/css/font-awesome.min.css">
|
||||||
<link rel="stylesheet" href="<?php p($api_url) ?>/css/dd.css">
|
<link rel="stylesheet" href="<?php p($api_url) ?>/css/dd.css?2303">
|
||||||
<link rel="stylesheet" href="/themes/dd/core/ddstyles.css">
|
<link rel="stylesheet" href="/themes/dd/core/ddstyles.css?2303">
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="/themes/dd/core/js/navbar.js"></script>
|
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="/themes/dd/core/js/navbar.js"></script>
|
||||||
<?php emit_css_loading_tags($_); ?>
|
<?php emit_css_loading_tags($_); ?>
|
||||||
<?php emit_script_loading_tags($_); ?>
|
<?php emit_script_loading_tags($_); ?>
|
||||||
|
@ -69,34 +74,36 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body id="<?php p($_['bodyid']);?>">
|
<?php array_push($_['enabledThemes'], "light");?>
|
||||||
|
<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.noscript.warning.php'; ?>
|
||||||
|
|
||||||
<?php foreach ($_['initialStates'] as $app => $initialState) { ?>
|
<?php foreach ($_['initialStates'] as $app => $initialState) { ?>
|
||||||
<input type="hidden" id="initial-state-<?php p($app); ?>" value="<?php p(base64_encode($initialState)); ?>">
|
<input type="hidden" id="initial-state-<?php p($app); ?>" value="<?php p(base64_encode($initialState)); ?>">
|
||||||
<?php }?>
|
<?php }?>
|
||||||
|
|
||||||
<a href="#app-content" class="button primary skip-navigation skip-content"><?php p($l->t('Skip to main content')); ?></a>
|
<div id="skip-actions">
|
||||||
<a href="#app-navigation" class="button primary skip-navigation"><?php p($l->t('Skip to navigation of app')); ?></a>
|
<?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 id="notification-container">
|
|
||||||
<div id="notification"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<header role="banner" id="header">
|
|
||||||
|
|
||||||
<div id="navbar-logo" class="header-left">
|
<header role="banner" id="header">
|
||||||
<a href="<?php print_unescaped(link_to('', 'index.php')); ?>"
|
<div class="header-left" id="navbar-logo">
|
||||||
|
<a href="<?php print_unescaped($_['logoUrl'] ?: link_to('', 'index.php')); ?>"
|
||||||
id="nextcloud">
|
id="nextcloud">
|
||||||
<img src="<?php p($api_url) ?>/img/logo.png" alt="" style="height: 39px;">
|
<img src="<?php p($api_url) ?>/img/logo.png" alt="" style="height: 39px;">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<!--<nav id="header-left__appmenu"></nav>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="navbar-nextcloud" class="header-right">
|
<div class="header-right" id="navbar-nextcloud">
|
||||||
|
|
||||||
<div id="notifications"></div>
|
|
||||||
<div id="unified-search"></div>
|
<div id="unified-search"></div>
|
||||||
|
<div id="notifications"></div>
|
||||||
<div id="contactsmenu">
|
<div id="contactsmenu">
|
||||||
<div class="icon-contacts menutoggle" tabindex="0" role="button"
|
<div class="menutoggle" tabindex="0" role="button"
|
||||||
aria-haspopup="true" aria-controls="contactsmenu-menu" aria-expanded="false">
|
aria-haspopup="true" aria-controls="contactsmenu-menu" aria-expanded="false">
|
||||||
<span class="hidden-visually"><?php p($l->t('Contacts'));?></span>
|
<span class="hidden-visually"><?php p($l->t('Contacts'));?></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -105,27 +112,34 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="settings">
|
<div id="settings">
|
||||||
<div id="expand" tabindex="0" role="button" class="menutoggle"
|
<div id="expand" tabindex="0" role="button" class="menutoggle"
|
||||||
aria-label="<?php p($l->t('Settings'));?>"
|
aria-label="<?php p($l->t('Open settings menu'));?>"
|
||||||
aria-haspopup="true" aria-controls="expanddiv" aria-expanded="false">
|
aria-haspopup="true" aria-controls="expanddiv" aria-expanded="false">
|
||||||
<div class="avatardiv<?php if ($_['userAvatarSet']) {
|
<div id="avatardiv-menu" class="avatardiv<?php if ($_['userAvatarSet']) {
|
||||||
print_unescaped(' avatardiv-shown');
|
print_unescaped(' avatardiv-shown');
|
||||||
} else {
|
} else {
|
||||||
print_unescaped('" style="display: none');
|
print_unescaped('" style="display: none');
|
||||||
} ?>">
|
} ?>"
|
||||||
<?php if ($_['userAvatarSet']): ?>
|
data-user="<?php p($_['user_uid']); ?>"
|
||||||
|
data-displayname="<?php p($_['user_displayname']); ?>"
|
||||||
|
<?php
|
||||||
|
if ($_['userAvatarSet']) {
|
||||||
|
$avatar32 = $getUserAvatar(32); ?> data-avatar="<?php p($avatar32); ?>"
|
||||||
|
<?php
|
||||||
|
} ?>>
|
||||||
|
<?php
|
||||||
|
if ($_['userAvatarSet']) {?>
|
||||||
<img alt="" width="32" height="32"
|
<img alt="" width="32" height="32"
|
||||||
src="<?php p($avatar_url)?>"
|
src="<?php p($avatar32);?>"
|
||||||
|
srcset="<?php p($getUserAvatar(64));?> 2x, <?php p($getUserAvatar(128));?> 4x"
|
||||||
>
|
>
|
||||||
<?php endif; ?>
|
<?php } ?>
|
||||||
</div>
|
</div>
|
||||||
<div id="expandDisplayName" class="icon-settings-white"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<nav class="settings-menu" id="expanddiv" style="display:none;"
|
<nav class="settings-menu" id="expanddiv" style="display:none;">
|
||||||
aria-label="<?php p($l->t('Settings menu'));?>">
|
|
||||||
<ul>
|
<ul>
|
||||||
<?php foreach ($_['settingsnavigation'] as $entry):?>
|
<?php foreach ($_['settingsnavigation'] as $entry):?>
|
||||||
<li data-id="<?php p($entry['id']); ?>">
|
<li data-id="<?php p($entry['id']); ?>">
|
||||||
<a href="<?php print_unescaped($entry['href']); ?>"
|
<a href="<?php print_unescaped($entry['href'] !== '' ? $entry['href'] : '#'); ?>"
|
||||||
<?php if ($entry["active"]): ?> class="active"<?php endif; ?>>
|
<?php if ($entry["active"]): ?> class="active"<?php endif; ?>>
|
||||||
<img alt="" src="<?php print_unescaped($entry['icon'] . '?v=' . $_['versionHash']); ?>">
|
<img alt="" src="<?php print_unescaped($entry['icon'] . '?v=' . $_['versionHash']); ?>">
|
||||||
<?php p($entry['name']) ?>
|
<?php p($entry['name']) ?>
|
||||||
|
@ -153,9 +167,12 @@
|
||||||
<input class="confirm" value="<?php p($l->t('Confirm')); ?>" type="submit">
|
<input class="confirm" value="<?php p($l->t('Confirm')); ?>" type="submit">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div id="content" class="app-<?php p($_['appid']) ?>" role="main">
|
<main id="content" class="app-<?php p($_['appid']) ?>">
|
||||||
|
<h1 class="hidden-visually">
|
||||||
|
<?php p($l->t('%s\'s homepage', [$theme->getName()])); ?>
|
||||||
|
</h1>
|
||||||
<?php print_unescaped($_['content']); ?>
|
<?php print_unescaped($_['content']); ?>
|
||||||
</div>
|
</main>
|
||||||
|
<div id="profiler-toolbar"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue