From 8fb89056bd2f99b1df7dc7a3970fc293272c8ab6 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Wed, 29 Jul 2015 17:54:30 +0200 Subject: [PATCH] make knowledge base url configurable --- lib/private/app.php | 3 ++- lib/private/defaults.php | 19 +++++++++++++++++++ themes/example/defaults.php | 6 ++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/private/app.php b/lib/private/app.php index 6c6f79dfa9..74b21b2b10 100644 --- a/lib/private/app.php +++ b/lib/private/app.php @@ -421,6 +421,7 @@ class OC_App { */ public static function getSettingsNavigation() { $l = \OC::$server->getL10N('lib'); + $defaults = new OC_Defaults(); $settings = array(); // by default, settings only contain the help menu @@ -431,7 +432,7 @@ class OC_App { array( "id" => "help", "order" => 1000, - "href" => OC_Helper::linkToRoute("settings_help"), + "href" => $defaults->getKnowledgeBaseUrl(), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath("settings", "help.svg") ) diff --git a/lib/private/defaults.php b/lib/private/defaults.php index 16f45943f5..b86805357b 100644 --- a/lib/private/defaults.php +++ b/lib/private/defaults.php @@ -46,9 +46,11 @@ class OC_Defaults { private $defaultSlogan; private $defaultLogoClaim; private $defaultMailHeaderColor; + private $defaultKnowledgeBaseUrl; function __construct() { $this->l = \OC::$server->getL10N('lib'); + $urlGenerator = \OC::$server->getURLGenerator(); $version = OC_Util::getVersion(); $this->defaultEntity = 'ownCloud'; /* e.g. company name, used for footers and copyright notices */ @@ -64,6 +66,7 @@ class OC_Defaults { $this->defaultSlogan = $this->l->t('web services under your control'); $this->defaultLogoClaim = ''; $this->defaultMailHeaderColor = '#1d2d44'; /* header color of mail notifications */ + $this->defaultKnowledgeBaseUrl = $urlGenerator->linkToRoute('settings_help'); $themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php'; if (file_exists($themePath)) { @@ -79,6 +82,7 @@ class OC_Defaults { /** * @param string $method + * @return bool */ private function themeExist($method) { if (isset($this->theme) && method_exists($this->theme, $method)) { @@ -280,4 +284,19 @@ class OC_Defaults { } } + /** + * get knowledge base URL, will be used for the "Help"-Link in the top + * right menu + * + * @return string + */ + public function getKnowledgeBaseUrl() { + if ($this->themeExist('getKnowledgeBaseUrl')) { + return $this->theme->getKnowledgeBaseUrl(); + } else { + return $this->defaultKnowledgeBaseUrl; + } + + } + } diff --git a/themes/example/defaults.php b/themes/example/defaults.php index 0dd0d46bd9..21d80416e1 100644 --- a/themes/example/defaults.php +++ b/themes/example/defaults.php @@ -28,6 +28,7 @@ class OC_Theme { private $themeSyncClientUrl; private $themeSlogan; private $themeMailHeaderColor; + private $themeKnowledgeBaseUrl; /* put your custom text in these variables */ function __construct() { @@ -39,6 +40,7 @@ class OC_Theme { $this->themeSyncClientUrl = 'https://owncloud.org/install'; $this->themeSlogan = 'Your custom cloud, personalized for you!'; $this->themeMailHeaderColor = '#745bca'; + $this->themeKnowledgeBaseUrl = 'https://doc.owncloud.org'; } /* nothing after this needs to be adjusted */ @@ -92,4 +94,8 @@ class OC_Theme { return $this->themeMailHeaderColor; } + public function getKnowledgeBaseUrl() { + return $this->themeKnowledgeBaseUrl; + } + }