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:
Julius Härtl 2018-08-28 13:01:20 +02:00 committed by GitHub
commit a14fddc2d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 11 deletions

View File

@ -151,9 +151,14 @@ class ThemingDefaults extends \OC_Defaults {
public function getShortFooter() {
$slogan = $this->getSlogan();
$footer = '<a href="'. $this->getBaseUrl() . '" target="_blank"' .
' rel="noreferrer noopener">' .$this->getEntity() . '</a>'.
($slogan !== '' ? ' ' . $slogan : '');
$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>';
}
$footer .= ($slogan !== '' ? ' ' . $slogan : '');
$links = [
[

View File

@ -262,7 +262,22 @@ class ThemingDefaultsTest extends TestCase {
['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() {
@ -277,7 +292,7 @@ class ThemingDefaultsTest extends TestCase {
['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() {
@ -297,7 +312,7 @@ class ThemingDefaultsTest extends TestCase {
->method('t')
->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() {
@ -317,7 +332,7 @@ class ThemingDefaultsTest extends TestCase {
->method('t')
->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() {
@ -337,7 +352,7 @@ class ThemingDefaultsTest extends TestCase {
->method('t')
->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() {
@ -363,7 +378,7 @@ class ThemingDefaultsTest extends TestCase {
['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],
]);
$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() {

View File

@ -746,7 +746,7 @@ footer {
margin-top: auto;
}
footer .info a {
footer .info .entity-name {
font-weight: 600;
}