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() {
$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")
)

View file

@ -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;
}
}
}

View file

@ -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;
}
}