Merge pull request #10875 from nextcloud/bugfix/10024/theming-footer-link
Theming: Only link Entity in footer if a url is set
This commit is contained in:
commit
a14fddc2d5
|
@ -151,9 +151,14 @@ class ThemingDefaults extends \OC_Defaults {
|
||||||
|
|
||||||
public function getShortFooter() {
|
public function getShortFooter() {
|
||||||
$slogan = $this->getSlogan();
|
$slogan = $this->getSlogan();
|
||||||
$footer = '<a href="'. $this->getBaseUrl() . '" target="_blank"' .
|
$baseUrl = $this->getBaseUrl();
|
||||||
' rel="noreferrer noopener">' .$this->getEntity() . '</a>'.
|
if ($baseUrl !== '') {
|
||||||
($slogan !== '' ? ' – ' . $slogan : '');
|
$footer = '<a href="' . $baseUrl . '" target="_blank"' .
|
||||||
|
' rel="noreferrer noopener" class="entity-name">' . $this->getEntity() . '</a>';
|
||||||
|
} else {
|
||||||
|
$footer = '<span class="entity-name">' .$this->getEntity() . '</span>';
|
||||||
|
}
|
||||||
|
$footer .= ($slogan !== '' ? ' – ' . $slogan : '');
|
||||||
|
|
||||||
$links = [
|
$links = [
|
||||||
[
|
[
|
||||||
|
|
|
@ -262,7 +262,22 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
['theming', 'privacyUrl', '', ''],
|
['theming', 'privacyUrl', '', ''],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan', $this->template->getShortFooter());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetShortFooterEmptyUrl() {
|
||||||
|
$this->config
|
||||||
|
->expects($this->exactly(5))
|
||||||
|
->method('getAppValue')
|
||||||
|
->willReturnMap([
|
||||||
|
['theming', 'url', $this->defaults->getBaseUrl(), ''],
|
||||||
|
['theming', 'name', 'Nextcloud', 'Name'],
|
||||||
|
['theming', 'slogan', $this->defaults->getSlogan(), 'Slogan'],
|
||||||
|
['theming', 'imprintUrl', '', ''],
|
||||||
|
['theming', 'privacyUrl', '', ''],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->assertEquals('<span class="entity-name">Name</span> – Slogan', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetShortFooterEmptySlogan() {
|
public function testGetShortFooterEmptySlogan() {
|
||||||
|
@ -277,7 +292,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
['theming', 'privacyUrl', '', ''],
|
['theming', 'privacyUrl', '', ''],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a>', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a>', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetShortFooterImprint() {
|
public function testGetShortFooterImprint() {
|
||||||
|
@ -297,7 +312,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
->method('t')
|
->method('t')
|
||||||
->willReturnArgument(0);
|
->willReturnArgument(0);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan<br/><a href="https://example.com/imprint" class="legal" target="_blank" rel="noreferrer noopener">Legal notice</a>', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan<br/><a href="https://example.com/imprint" class="legal" target="_blank" rel="noreferrer noopener">Legal notice</a>', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetShortFooterPrivacy() {
|
public function testGetShortFooterPrivacy() {
|
||||||
|
@ -317,7 +332,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
->method('t')
|
->method('t')
|
||||||
->willReturnArgument(0);
|
->willReturnArgument(0);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan<br/><a href="https://example.com/privacy" class="legal" target="_blank" rel="noreferrer noopener">Privacy policy</a>', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan<br/><a href="https://example.com/privacy" class="legal" target="_blank" rel="noreferrer noopener">Privacy policy</a>', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetShortFooterAllLegalLinks() {
|
public function testGetShortFooterAllLegalLinks() {
|
||||||
|
@ -337,7 +352,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
->method('t')
|
->method('t')
|
||||||
->willReturnArgument(0);
|
->willReturnArgument(0);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan<br/><a href="https://example.com/imprint" class="legal" target="_blank" rel="noreferrer noopener">Legal notice</a> · <a href="https://example.com/privacy" class="legal" target="_blank" rel="noreferrer noopener">Privacy policy</a>', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan<br/><a href="https://example.com/imprint" class="legal" target="_blank" rel="noreferrer noopener">Legal notice</a> · <a href="https://example.com/privacy" class="legal" target="_blank" rel="noreferrer noopener">Privacy policy</a>', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invalidLegalUrlProvider() {
|
public function invalidLegalUrlProvider() {
|
||||||
|
@ -363,7 +378,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
['theming', 'privacyUrl', '', ''],
|
['theming', 'privacyUrl', '', ''],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -382,7 +397,7 @@ class ThemingDefaultsTest extends TestCase {
|
||||||
['theming', 'privacyUrl', '', $invalidPrivacyUrl],
|
['theming', 'privacyUrl', '', $invalidPrivacyUrl],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener">Name</a> – Slogan', $this->template->getShortFooter());
|
$this->assertEquals('<a href="url" target="_blank" rel="noreferrer noopener" class="entity-name">Name</a> – Slogan', $this->template->getShortFooter());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testgetColorPrimaryWithDefault() {
|
public function testgetColorPrimaryWithDefault() {
|
||||||
|
|
|
@ -746,7 +746,7 @@ footer {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer .info a {
|
footer .info .entity-name {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue