theme in configuration can override theme of each user

This commit is contained in:
Uwe Steinmann 2020-11-09 15:14:09 +01:00
parent fc4c16c01b
commit 768ea3544c
5 changed files with 11 additions and 1 deletions

View File

@ -11,6 +11,7 @@
- add list of rejected documents to tasks
- fix .htaccess file in restapi
- restapi: add setDocumentOwner, owner can be set when uploading a document
- theme in configuration can override theme of user
--------------------------------------------------------------------------------
Changes in version 5.1.20

View File

@ -174,7 +174,10 @@ class SeedDMS_Controller_Login extends SeedDMS_Controller_Common {
}
else {
$sesstheme = $user->getTheme();
if (strlen($sesstheme)==0) {
/* Override the theme if the user doesn't have one or the default theme
* shall override it.
*/
if (strlen($sesstheme)==0 || !empty($settings->_overrideTheme)) {
$sesstheme = $settings->_theme;
// $user->setTheme($sesstheme);
}

View File

@ -142,6 +142,8 @@ class Settings { /* {{{ */
var $_enableConverting = false;
// default style
var $_theme = "bootstrap";
// override user settings of theme
var $_overrideTheme = false;
// experimental one page mode for ViewFolder page
var $_onePageMode = false;
// Workaround for page titles that go over more than 2 lines.
@ -454,6 +456,7 @@ class Settings { /* {{{ */
if(trim(strval($tab["availablelanguages"])))
$this->_availablelanguages = explode(',',strval($tab["availablelanguages"]));
$this->_theme = strval($tab["theme"]);
$this->_overrideTheme = Settings::boolVal($tab["overrideTheme"]);
$this->_onePageMode = Settings::boolVal($tab["onePageMode"]);
if(isset($tab["previewWidthList"]))
$this->_previewWidthList = intval($tab["previewWidthList"]);
@ -825,6 +828,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "language", $this->_language);
$this->setXMLAttributValue($node, "availablelanguages", implode(',', $this->_availablelanguages));
$this->setXMLAttributValue($node, "theme", $this->_theme);
$this->setXMLAttributValue($node, "overrideTheme", $this->_overrideTheme);
$this->setXMLAttributValue($node, "onePageMode", $this->_onePageMode);
$this->setXMLAttributValue($node, "previewWidthList", $this->_previewWidthList);
$this->setXMLAttributValue($node, "previewWidthMenuList", $this->_previewWidthMenuList);

View File

@ -64,6 +64,7 @@ if ($action == "saveSettings")
else
$settings->_availablelanguages = $_POST["availablelanguages"];
$settings->_theme = $_POST["theme"];
$settings->_overrideTheme = getBoolValue("overrideTheme");
$settings->_onePageMode = getBoolValue("onePageMode");
$settings->_previewWidthList = $_POST["previewWidthList"];
$settings->_previewWidthMenuList = $_POST["previewWidthMenuList"];

View File

@ -284,6 +284,7 @@ $this->showStartPaneContent('site', (!$currenttab || $currenttab == 'site'));
<?php $this->showConfigOption('settings_available_languages', 'availablelanguages', getAvailableLanguages(), true, true); ?>
<?php $this->showConfigOption('settings_language', 'language', getAvailableLanguages(), false, true); ?>
<?php $this->showConfigOption('settings_theme', 'theme', UI::getStyles(), false, false); ?>
<?php $this->showConfigCheckbox('settings_overrideTheme', 'overrideTheme'); ?>
<?php $this->showConfigCheckbox('settings_onePageMode', 'onePageMode'); ?>
<?php $this->showConfigText('settings_previewWidthList', 'previewWidthList'); ?>
<?php $this->showConfigText('settings_previewWidthMenuList', 'previewWidthMenuList'); ?>