summaryrefslogtreecommitdiffstats
path: root/controller
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-11-19 18:13:54 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-11-19 18:13:54 +0100
commit794120c0f6cc933e89782262cbb71efd668f8cb8 (patch)
treefd4dd568cfdb9525dd11e094ff52e33880ab4943 /controller
parentb6a4a8a29b37c8b3f7124285ae21e32bf06a8f5c (diff)
allow to change the explore service url
Diffstat (limited to 'controller')
-rw-r--r--controller/admincontroller.php6
-rw-r--r--controller/pagecontroller.php28
2 files changed, 24 insertions, 10 deletions
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);
}