diff options
author | Morris Jobke <hey@morrisjobke.de> | 2017-07-19 12:37:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-19 12:37:29 +0200 |
commit | 3e4685b851aa7efc7a52a58db6d3697b4d1af3c3 (patch) | |
tree | 8f8354bc3c7e69bbada34b15e2e204fced293db6 | |
parent | fad8b275f1997b56b93fc75e40499484f07d799f (diff) | |
parent | ff9c5072f057352e988429bbafc1b8fa75b4b6d0 (diff) | |
download | nextcloud-server-3e4685b851aa7efc7a52a58db6d3697b4d1af3c3.tar.gz nextcloud-server-3e4685b851aa7efc7a52a58db6d3697b4d1af3c3.zip |
Merge pull request #5782 from nextcloud/backport-5781-stable12
[stable12] Allow overwriting of IOS theming values
-rw-r--r-- | apps/theming/lib/ThemingDefaults.php | 31 | ||||
-rw-r--r-- | apps/theming/tests/ThemingDefaultsTest.php | 61 |
2 files changed, 91 insertions, 1 deletions
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index 2b3be1e6413..dff24ee7960 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -51,6 +51,12 @@ class ThemingDefaults extends \OC_Defaults { private $color; /** @var Util */ private $util; + /** @var string */ + private $iTunesAppId; + /** @var string */ + private $iOSClientUrl; + /** @var string */ + private $AndroidClientUrl; /** * ThemingDefaults constructor. @@ -82,6 +88,9 @@ class ThemingDefaults extends \OC_Defaults { $this->url = parent::getBaseUrl(); $this->slogan = parent::getSlogan(); $this->color = parent::getColorPrimary(); + $this->iTunesAppId = parent::getiTunesAppId(); + $this->iOSClientUrl = parent::getiOSClientUrl(); + $this->AndroidClientUrl = parent::getAndroidClientUrl(); } public function getName() { @@ -180,6 +189,27 @@ class ThemingDefaults extends \OC_Defaults { return $this->urlGenerator->linkToRoute('theming.Theming.getLoginBackground') . '?v=' . $cacheBusterCounter; } + /** + * @return string + */ + public function getiTunesAppId() { + return $this->config->getAppValue('theming', 'iTunesAppId', $this->iTunesAppId); + } + + /** + * @return string + */ + public function getiOSClientUrl() { + return $this->config->getAppValue('theming', 'iOSClientUrl', $this->iOSClientUrl); + } + + /** + * @return string + */ + public function getAndroidClientUrl() { + return $this->config->getAppValue('theming', 'AndroidClientUrl', $this->AndroidClientUrl); + } + /** * @return array scss variables to overwrite @@ -290,5 +320,4 @@ class ThemingDefaults extends \OC_Defaults { return $returnValue; } - } diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index 8646eaf865f..057229483e9 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -543,4 +543,65 @@ class ThemingDefaultsTest extends TestCase { ]; $this->assertEquals($expected, $this->template->getScssVariables()); } + + public function testGetDefaultAndroidURL() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'AndroidClientUrl', 'https://play.google.com/store/apps/details?id=com.nextcloud.client') + ->willReturn('https://play.google.com/store/apps/details?id=com.nextcloud.client'); + + $this->assertEquals('https://play.google.com/store/apps/details?id=com.nextcloud.client', $this->template->getAndroidClientUrl()); + } + + public function testGetCustomAndroidURL() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'AndroidClientUrl', 'https://play.google.com/store/apps/details?id=com.nextcloud.client') + ->willReturn('https://play.google.com/store/apps/details?id=com.mycloud.client'); + + $this->assertEquals('https://play.google.com/store/apps/details?id=com.mycloud.client', $this->template->getAndroidClientUrl()); + } + + public function testGetDefaultiOSURL() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'iOSClientUrl', 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8') + ->willReturn('https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8'); + + $this->assertEquals('https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', $this->template->getiOSClientUrl()); + } + + public function testGetCustomiOSURL() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'iOSClientUrl', 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8') + ->willReturn('https://itunes.apple.com/us/app/nextcloud/id1234567890?mt=8'); + + $this->assertEquals('https://itunes.apple.com/us/app/nextcloud/id1234567890?mt=8', $this->template->getiOSClientUrl()); + } + + public function testGetDefaultiTunesAppId() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'iTunesAppId', '1125420102') + ->willReturn('1125420102'); + + $this->assertEquals('1125420102', $this->template->getiTunesAppId()); + } + + public function testGetCustomiTunesAppId() { + $this->config + ->expects($this->once()) + ->method('getAppValue') + ->with('theming', 'iTunesAppId', '1125420102') + ->willReturn('1234567890'); + + $this->assertEquals('1234567890', $this->template->getiTunesAppId()); + } + } |