summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-07-19 12:37:29 +0200
committerGitHub <noreply@github.com>2017-07-19 12:37:29 +0200
commit3e4685b851aa7efc7a52a58db6d3697b4d1af3c3 (patch)
tree8f8354bc3c7e69bbada34b15e2e204fced293db6
parentfad8b275f1997b56b93fc75e40499484f07d799f (diff)
parentff9c5072f057352e988429bbafc1b8fa75b4b6d0 (diff)
downloadnextcloud-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.php31
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php61
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());
+ }
+
}