make knowledge base url configurable

This commit is contained in:
Bjoern Schiessle 2015-07-29 17:54:30 +02:00
parent 3ef680d966
commit 8fb89056bd
3 changed files with 27 additions and 1 deletions

View File

@ -421,6 +421,7 @@ class OC_App {
*/ */
public static function getSettingsNavigation() { public static function getSettingsNavigation() {
$l = \OC::$server->getL10N('lib'); $l = \OC::$server->getL10N('lib');
$defaults = new OC_Defaults();
$settings = array(); $settings = array();
// by default, settings only contain the help menu // by default, settings only contain the help menu
@ -431,7 +432,7 @@ class OC_App {
array( array(
"id" => "help", "id" => "help",
"order" => 1000, "order" => 1000,
"href" => OC_Helper::linkToRoute("settings_help"), "href" => $defaults->getKnowledgeBaseUrl(),
"name" => $l->t("Help"), "name" => $l->t("Help"),
"icon" => OC_Helper::imagePath("settings", "help.svg") "icon" => OC_Helper::imagePath("settings", "help.svg")
) )

View File

@ -46,9 +46,11 @@ class OC_Defaults {
private $defaultSlogan; private $defaultSlogan;
private $defaultLogoClaim; private $defaultLogoClaim;
private $defaultMailHeaderColor; private $defaultMailHeaderColor;
private $defaultKnowledgeBaseUrl;
function __construct() { function __construct() {
$this->l = \OC::$server->getL10N('lib'); $this->l = \OC::$server->getL10N('lib');
$urlGenerator = \OC::$server->getURLGenerator();
$version = OC_Util::getVersion(); $version = OC_Util::getVersion();
$this->defaultEntity = 'ownCloud'; /* e.g. company name, used for footers and copyright notices */ $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->defaultSlogan = $this->l->t('web services under your control');
$this->defaultLogoClaim = ''; $this->defaultLogoClaim = '';
$this->defaultMailHeaderColor = '#1d2d44'; /* header color of mail notifications */ $this->defaultMailHeaderColor = '#1d2d44'; /* header color of mail notifications */
$this->defaultKnowledgeBaseUrl = $urlGenerator->linkToRoute('settings_help');
$themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php'; $themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php';
if (file_exists($themePath)) { if (file_exists($themePath)) {
@ -79,6 +82,7 @@ class OC_Defaults {
/** /**
* @param string $method * @param string $method
* @return bool
*/ */
private function themeExist($method) { private function themeExist($method) {
if (isset($this->theme) && method_exists($this->theme, $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;
}
}
} }

View File

@ -28,6 +28,7 @@ class OC_Theme {
private $themeSyncClientUrl; private $themeSyncClientUrl;
private $themeSlogan; private $themeSlogan;
private $themeMailHeaderColor; private $themeMailHeaderColor;
private $themeKnowledgeBaseUrl;
/* put your custom text in these variables */ /* put your custom text in these variables */
function __construct() { function __construct() {
@ -39,6 +40,7 @@ class OC_Theme {
$this->themeSyncClientUrl = 'https://owncloud.org/install'; $this->themeSyncClientUrl = 'https://owncloud.org/install';
$this->themeSlogan = 'Your custom cloud, personalized for you!'; $this->themeSlogan = 'Your custom cloud, personalized for you!';
$this->themeMailHeaderColor = '#745bca'; $this->themeMailHeaderColor = '#745bca';
$this->themeKnowledgeBaseUrl = 'https://doc.owncloud.org';
} }
/* nothing after this needs to be adjusted */ /* nothing after this needs to be adjusted */
@ -92,4 +94,8 @@ class OC_Theme {
return $this->themeMailHeaderColor; return $this->themeMailHeaderColor;
} }
public function getKnowledgeBaseUrl() {
return $this->themeKnowledgeBaseUrl;
}
} }