fix(theming): Make sure the footer is hidden if not content is rendered

Previously the footer was empty, but the backdrop was still shown.
This hides the footer if no text content was defined.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2023-09-23 14:21:49 +02:00
parent c0c2362a3d
commit 32ac5e7af8
No known key found for this signature in database
GPG Key ID: 45FAE7268762B400
5 changed files with 29 additions and 12 deletions

View File

@ -172,11 +172,16 @@ class ThemingDefaults extends \OC_Defaults {
public function getShortFooter() {
$slogan = $this->getSlogan();
$baseUrl = $this->getBaseUrl();
if ($baseUrl !== '') {
$footer = '<a href="' . $baseUrl . '" target="_blank"' .
' rel="noreferrer noopener" class="entity-name">' . $this->getEntity() . '</a>';
} else {
$footer = '<span class="entity-name">' .$this->getEntity() . '</span>';
$entity = $this->getEntity();
$footer = '';
if ($entity !== '') {
if ($baseUrl !== '') {
$footer = '<a href="' . $baseUrl . '" target="_blank"' .
' rel="noreferrer noopener" class="entity-name">' . $entity . '</a>';
} else {
$footer = '<span class="entity-name">' .$entity . '</span>';
}
}
$footer .= ($slogan !== '' ? ' ' . $slogan : '');

View File

@ -107,7 +107,7 @@ body {
.wrapper {
width: 100%;
max-width: 700px;
margin-top: 10vh;
margin-block: 10vh auto;
}
/* Default FORM */
@ -736,7 +736,6 @@ img.icon-loading-small-dark, object.icon-loading-small-dark, video.icon-loading-
/* FOOTER */
footer {
margin-top: auto;
.info .entity-name {
font-weight: bold;
}

View File

@ -47,9 +47,14 @@ p($theme->getTitle());
</main>
</div>
</div>
<footer class="guest-box">
<?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>

View File

@ -103,7 +103,7 @@ if (isset($template) && $template->getActionCount() !== 0) {
</h1>
<?php print_unescaped($_['content']); ?>
</main>
<?php if (isset($template) && $template->getFooterVisible()) { ?>
<?php if (isset($template) && $template->getFooterVisible() && ($theme->getLongFooter() !== '' || $_['showSimpleSignUpLink'])) { ?>
<footer>
<p><?php print_unescaped($theme->getLongFooter()); ?></p>
<?php

View File

@ -81,8 +81,16 @@ class OC_Theme {
* @return string short footer
*/
public function getShortFooter(): string {
$footer = '© ' . date('Y') . ' <a href="' . $this->getBaseUrl() . '" target="_blank">' . $this->getEntity() . '</a>' .
'<br/>' . $this->getSlogan();
$entity = $this->getEntity();
$footer = '© ' . date('Y');
// Add link if entity name is not empty
if ($entity !== '') {
$footer .= ' <a href="' . $this->getBaseUrl() . '" target="_blank">' . $entity . '</a>' . '<br/>';
}
$footer .= $this->getSlogan();
return $footer;
}