From 794120c0f6cc933e89782262cbb71efd668f8cb8 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Wed, 19 Nov 2014 18:13:54 +0100 Subject: allow to change the explore service url --- controller/admincontroller.php | 6 +++++- controller/pagecontroller.php | 28 +++++++++++++++++++--------- 2 files changed, 24 insertions(+), 10 deletions(-) (limited to 'controller') diff --git a/controller/admincontroller.php b/controller/admincontroller.php index 379d83770..5adaef500 100644 --- a/controller/admincontroller.php +++ b/controller/admincontroller.php @@ -42,6 +42,7 @@ class AdminController extends Controller { 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), 'useCronUpdates' => $this->config->getUseCronUpdates(), 'maxSize' => $this->config->getMaxSize(), + 'exploreUrl' => $this->config->getExploreUrl(), ]; return new TemplateResponse($this->appName, 'admin', $data, 'blank'); } @@ -54,17 +55,19 @@ class AdminController extends Controller { * @param int $feedFetcherTimeout * @param int $maxSize * @param bool $useCronUpdates + * @param string $exploreUrl * @return array with the updated values */ public function update($autoPurgeMinimumInterval, $autoPurgeCount, $maxRedirects, $feedFetcherTimeout, $maxSize, - $useCronUpdates) { + $useCronUpdates, $exploreUrl) { $this->config->setAutoPurgeMinimumInterval($autoPurgeMinimumInterval); $this->config->setAutoPurgeCount($autoPurgeCount); $this->config->setMaxRedirects($maxRedirects); $this->config->setMaxSize($maxSize); $this->config->setFeedFetcherTimeout($feedFetcherTimeout); $this->config->setUseCronUpdates($useCronUpdates); + $this->config->setExploreUrl($exploreUrl); $this->config->write($this->configPath); return [ @@ -75,6 +78,7 @@ class AdminController extends Controller { 'maxSize' => $this->config->getMaxSize(), 'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(), 'useCronUpdates' => $this->config->getUseCronUpdates(), + 'exploreUrl' => $this->config->getExploreUrl(), ]; } diff --git a/controller/pagecontroller.php b/controller/pagecontroller.php index d4e7fd0dc..6599a4e49 100644 --- a/controller/pagecontroller.php +++ b/controller/pagecontroller.php @@ -81,13 +81,23 @@ class PageController extends Controller { */ public function settings() { $settings = [ - 'showAll', - 'compact', - 'preventReadOnScroll', - 'oldestFirst' + 'showAll', + 'compact', + 'preventReadOnScroll', + 'oldestFirst' ]; - $result = ['language' => $this->l10n->getLanguageCode()]; + $exploreUrl = $this->config->getExploreUrl(); + if (trim($exploreUrl) === '') { + $exploreUrl = $this->urlGenerator->getAbsoluteURL( + '/index.php/apps/news/explore' + ); + } + + $result = [ + 'language' => $this->l10n->getLanguageCode(), + 'exploreUrl' => $exploreUrl + ]; foreach ($settings as $setting) { $result[$setting] = $this->settings->getUserValue( @@ -173,10 +183,10 @@ class PageController extends Controller { /** * @NoAdminRequired - * @NoCSRFRequired + * + * @param string $lang */ - public function explore() { - $languageCode = $this->l10n->getLanguageCode(); + public function explore($lang='en') { $default = 'en'; $this->settings->setUserValue($this->userId, $this->appName, @@ -184,7 +194,7 @@ class PageController extends Controller { $this->settings->setUserValue($this->userId, $this->appName, 'lastViewedFeedType', FeedType::EXPLORE); - return $this->recommendedSites->forLanguage($languageCode, $default); + return $this->recommendedSites->forLanguage($lang, $default); } -- cgit v1.2.3