Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2019-02-18 11:12:11 +0300
committerJulius Härtl <jus@bitgrid.net>2019-02-18 11:12:11 +0300
commita6b579b772a9966984d46daad82e46ac2905a343 (patch)
tree7f5bbe5f171de80614837617115718ddba3a0a35 /apps
parent1edfffd091ed416d99925d9dc660920560c457fa (diff)
Add guest navigation type
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps')
-rw-r--r--apps/theming/lib/ThemingDefaults.php17
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php14
2 files changed, 29 insertions, 2 deletions
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php
index 53198fe2b81..2305f570888 100644
--- a/apps/theming/lib/ThemingDefaults.php
+++ b/apps/theming/lib/ThemingDefaults.php
@@ -39,6 +39,7 @@ use OCP\Files\NotFoundException;
use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\IL10N;
+use OCP\INavigationManager;
use OCP\IURLGenerator;
class ThemingDefaults extends \OC_Defaults {
@@ -57,6 +58,9 @@ class ThemingDefaults extends \OC_Defaults {
private $util;
/** @var IAppManager */
private $appManager;
+ /** @var INavigationManager */
+ private $navigationManager;
+
/** @var string */
private $name;
/** @var string */
@@ -94,7 +98,8 @@ class ThemingDefaults extends \OC_Defaults {
ICacheFactory $cacheFactory,
Util $util,
ImageManager $imageManager,
- IAppManager $appManager
+ IAppManager $appManager,
+ INavigationManager $navigationManager
) {
parent::__construct();
$this->config = $config;
@@ -104,6 +109,7 @@ class ThemingDefaults extends \OC_Defaults {
$this->cacheFactory = $cacheFactory;
$this->util = $util;
$this->appManager = $appManager;
+ $this->navigationManager = $navigationManager;
$this->name = parent::getName();
$this->title = parent::getTitle();
@@ -170,6 +176,15 @@ class ThemingDefaults extends \OC_Defaults {
],
];
+ $navigation = $this->navigationManager->getAll(INavigationManager::TYPE_GUEST);
+ $guestNavigation = array_map(function($nav) {
+ return [
+ 'text' => $nav['name'],
+ 'url' => $nav['href']
+ ];
+ }, $navigation);
+ $links = array_merge($links, $guestNavigation);
+
$legalLinks = ''; $divider = '';
foreach($links as $link) {
if($link['url'] !== ''
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index 68435dd148a..ea8ab6975ef 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -41,6 +41,7 @@ use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\IL10N;
+use OCP\INavigationManager;
use OCP\IURLGenerator;
use Test\TestCase;
@@ -67,6 +68,8 @@ class ThemingDefaultsTest extends TestCase {
private $appManager;
/** @var ImageManager|\PHPUnit_Framework_MockObject_MockObject */
private $imageManager;
+ /** @var INavigationManager|\PHPUnit_Framework_MockObject_MockObject */
+ private $navigationManager;
public function setUp() {
parent::setUp();
@@ -78,6 +81,7 @@ class ThemingDefaultsTest extends TestCase {
$this->util = $this->createMock(Util::class);
$this->imageManager = $this->createMock(ImageManager::class);
$this->appManager = $this->createMock(IAppManager::class);
+ $this->navigationManager = $this->createMock(INavigationManager::class);
$this->defaults = new \OC_Defaults();
$this->urlGenerator
->expects($this->any())
@@ -90,7 +94,8 @@ class ThemingDefaultsTest extends TestCase {
$this->cacheFactory,
$this->util,
$this->imageManager,
- $this->appManager
+ $this->appManager,
+ $this->navigationManager
);
}
@@ -266,6 +271,7 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetShortFooterEmptyUrl() {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -281,6 +287,7 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetShortFooterEmptySlogan() {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -296,6 +303,7 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetShortFooterImprint() {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -316,6 +324,7 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetShortFooterPrivacy() {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -336,6 +345,7 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetShortFooterAllLegalLinks() {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -367,6 +377,7 @@ class ThemingDefaultsTest extends TestCase {
* @dataProvider invalidLegalUrlProvider
*/
public function testGetShortFooterInvalidImprint($invalidImprintUrl) {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')
@@ -386,6 +397,7 @@ class ThemingDefaultsTest extends TestCase {
* @dataProvider invalidLegalUrlProvider
*/
public function testGetShortFooterInvalidPrivacy($invalidPrivacyUrl) {
+ $this->navigationManager->expects($this->once())->method('getAll')->with(INavigationManager::TYPE_GUEST)->willReturn([]);
$this->config
->expects($this->exactly(5))
->method('getAppValue')