Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2021-06-24 22:46:54 +02:00
commit 265865a9b6
3 changed files with 179 additions and 152 deletions

View File

@ -722,7 +722,7 @@ class Settings { /* {{{ */
$this->_useHomeAsRootFolder = Settings::boolval($tab["useHomeAsRootFolder"]); $this->_useHomeAsRootFolder = Settings::boolval($tab["useHomeAsRootFolder"]);
$this->_titleDisplayHack = Settings::boolval($tab["titleDisplayHack"]); $this->_titleDisplayHack = Settings::boolval($tab["titleDisplayHack"]);
$this->_showMissingTranslations = Settings::boolval($tab["showMissingTranslations"]); $this->_showMissingTranslations = Settings::boolval($tab["showMissingTranslations"]);
$this->_hiddenConfFields = strval($tab["hiddenConfFields"]); $this->_hiddenConfFields = explode(';', strval($tab["hiddenConfFields"]));
} }
// XML Path: /configuration/advanced/authentication // XML Path: /configuration/advanced/authentication
@ -1083,7 +1083,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "useHomeAsRootFolder", $this->_useHomeAsRootFolder); $this->setXMLAttributValue($node, "useHomeAsRootFolder", $this->_useHomeAsRootFolder);
$this->setXMLAttributValue($node, "titleDisplayHack", $this->_titleDisplayHack); $this->setXMLAttributValue($node, "titleDisplayHack", $this->_titleDisplayHack);
$this->setXMLAttributValue($node, "showMissingTranslations", $this->_showMissingTranslations); $this->setXMLAttributValue($node, "showMissingTranslations", $this->_showMissingTranslations);
$this->setXMLAttributValue($node, "hiddenConfFields", $this->_hiddenConfFields); // $this->setXMLAttributValue($node, "hiddenConfFields", $this->_hiddenConfFields);
// XML Path: /configuration/advanced/authentication // XML Path: /configuration/advanced/authentication
$node = $this->getXMLNode($xml, '/configuration/advanced', 'authentication'); $node = $this->getXMLNode($xml, '/configuration/advanced', 'authentication');

View File

@ -56,193 +56,221 @@ else $action=NULL;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
if ($action == "saveSettings") if ($action == "saveSettings")
{ {
/**
* First check if config var is actually set in POST request. Hidden conf
* vars will not be included and may not override existing conf vars.
*/
function setStrValue($name) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields))
$settings->{"_".$name} = $_POST[$name];
}
function setBoolValue($name) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) {
if ($_POST[$name]=="on")
$settings->{"_".$name} = true;
else
$settings->{"_".$name} = false;
}
}
function setIntValue($name) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields))
$settings->{"_".$name} = intval($_POST[$name]);
}
function setDirValue($name) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields))
$settings->{"_".$name} = addDirSep($_POST[$name]);
}
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// get values // get values
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// SETTINGS - SITE - DISPLAY // SETTINGS - SITE - DISPLAY
$settings->_siteName = $_POST["siteName"]; setStrValue('siteName');
$settings->_footNote = $_POST["footNote"]; setStrValue('footNote');
$settings->_printDisclaimer = getBoolValue("printDisclaimer"); setBoolValue('printDisclaimer');
$settings->_language = $_POST["language"]; setStrValue('language');
$settings->_dateformat = $_POST["dateformat"]; setStrValue('dateformat');
$settings->_datetimeformat = $_POST["datetimeformat"]; setStrValue('datetimeformat');
if(empty($_POST["availablelanguages"])) if(empty($_POST["availablelanguages"]))
$settings->_availablelanguages = array(); $settings->_availablelanguages = array();
else else
$settings->_availablelanguages = $_POST["availablelanguages"]; $settings->_availablelanguages = $_POST["availablelanguages"];
$settings->_theme = $_POST["theme"]; setStrValue('theme');
$settings->_overrideTheme = getBoolValue("overrideTheme"); setBoolValue('overrideTheme');
$settings->_onePageMode = getBoolValue("onePageMode"); setBoolValue('onePageMode');
$settings->_previewWidthList = $_POST["previewWidthList"]; setIntValue('previewWidthList');
$settings->_previewWidthMenuList = $_POST["previewWidthMenuList"]; setIntValue('previewWidthMenuList');
$settings->_previewWidthDropFolderList = $_POST["previewWidthDropFolderList"]; setIntValue('previewWidthDropFolderList');
$settings->_previewWidthDetail = $_POST["previewWidthDetail"]; setIntValue('previewWidthDetail');
$settings->_showFullPreview = getBoolValue("showFullPreview"); setBoolValue('showFullPreview');
$settings->_convertToPdf = getBoolValue("convertToPdf"); setBoolValue('convertToPdf');
$settings->_maxItemsPerPage = $_POST["maxItemsPerPage"]; setIntValue('maxItemsPerPage');
$settings->_incItemsPerPage = $_POST["incItemsPerPage"]; setIntValue('incItemsPerPage');
// SETTINGS - SITE - EDITION // SETTINGS - SITE - EDITION
$settings->_strictFormCheck = getBoolValue("strictFormCheck"); setBoolValue('strictFormCheck');
$settings->_inlineEditing = getBoolValue("inlineEditing"); setBoolValue('inlineEditing');
if(empty($_POST["noDocumentFormFields"])) if(empty($_POST["noDocumentFormFields"]))
$settings->_noDocumentFormFields = array(); $settings->_noDocumentFormFields = array();
else else
$settings->_noDocumentFormFields = $_POST["noDocumentFormFields"]; $settings->_noDocumentFormFields = $_POST["noDocumentFormFields"];
$settings->setViewOnlineFileTypesFromString($_POST["viewOnlineFileTypes"]); $settings->setViewOnlineFileTypesFromString($_POST["viewOnlineFileTypes"]);
$settings->setEditOnlineFileTypesFromString($_POST["editOnlineFileTypes"]); $settings->setEditOnlineFileTypesFromString($_POST["editOnlineFileTypes"]);
$settings->_enableConverting = getBoolValue("enableConverting"); setBoolValue('enableConverting');
$settings->_enableEmail =getBoolValue("enableEmail"); setBoolValue('enableEmail');
$settings->_enableUsersView = getBoolValue("enableUsersView"); setBoolValue('enableUsersView');
$settings->_enableFullSearch = getBoolValue("enableFullSearch"); setBoolValue('enableFullSearch');
$settings->_maxSizeForFullText = intval($_POST["maxSizeForFullText"]); setIntValue('maxSizeForFullText');
$settings->_fullSearchEngine = $_POST["fullSearchEngine"]; setStrValue('fullSearchEngine');
$settings->_defaultSearchMethod = $_POST["defaultSearchMethod"]; setStrValue('defaultSearchMethod');
$settings->_showSingleSearchHit = getBoolValue("showSingleSearchHit"); setBoolValue("showSingleSearchHit");
$settings->_enableSessionList = getBoolValue("enableSessionList"); setBoolValue("enableSessionList");
$settings->_enableClipboard = getBoolValue("enableClipboard"); setBoolValue("enableClipboard");
$settings->_enableMenuTasks = getBoolValue("enableMenuTasks"); setBoolValue("enableMenuTasks");
$settings->_tasksInMenu = isset($_POST["tasksInMenu"]) ? $_POST["tasksInMenu"] : array(); $settings->_tasksInMenu = isset($_POST["tasksInMenu"]) ? $_POST["tasksInMenu"] : array();
$settings->_enableDropFolderList = getBoolValue("enableDropFolderList"); setBoolValue("enableDropFolderList");
$settings->_enableDropUpload = getBoolValue("enableDropUpload"); setBoolValue("enableDropUpload");
$settings->_enableMultiUpload = getBoolValue("enableMultiUpload"); setBoolValue("enableMultiUpload");
$settings->_enableFolderTree = getBoolValue("enableFolderTree"); setBoolValue("enableFolderTree");
$settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount"); setBoolValue("enableRecursiveCount");
$settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]); setIntValue("maxRecursiveCount");
$settings->_enableLanguageSelector = getBoolValue("enableLanguageSelector"); setBoolValue("enableLanguageSelector");
$settings->_enableHelp = getBoolValue("enableHelp"); setBoolValue("enableHelp");
$settings->_enableThemeSelector = getBoolValue("enableThemeSelector"); setBoolValue("enableThemeSelector");
$settings->_expandFolderTree = intval($_POST["expandFolderTree"]); setIntValue("expandFolderTree");
$settings->_stopWordsFile = $_POST["stopWordsFile"]; setStrValue("stopWordsFile");
$settings->_sortUsersInList = $_POST["sortUsersInList"]; setStrValue("sortUsersInList");
$settings->_sortFoldersDefault = $_POST["sortFoldersDefault"]; setStrValue("sortFoldersDefault");
$settings->_defaultDocPosition = $_POST["defaultDocPosition"]; setStrValue("defaultDocPosition");
$settings->_libraryFolder = intval($_POST["libraryFolder"]); setIntValue("libraryFolder");
// SETTINGS - SITE - WEBDAV // SETTINGS - SITE - WEBDAV
$settings->_enableWebdavReplaceDoc = getBoolValue("enableWebdavReplaceDoc"); setBoolValue("enableWebdavReplaceDoc");
// SETTINGS - SITE - CALENDAR // SETTINGS - SITE - CALENDAR
$settings->_enableCalendar = getBoolValue("enableCalendar"); setBoolValue("enableCalendar");
$settings->_calendarDefaultView = $_POST["calendarDefaultView"]; setStrValue("calendarDefaultView");
$settings->_firstDayOfWeek = intval($_POST["firstDayOfWeek"]); setIntValue("firstDayOfWeek");
// SETTINGS - SYSTEM - SERVER // SETTINGS - SYSTEM - SERVER
$settings->_rootDir = addDirSep($_POST["rootDir"]); setDirValue("rootDir");
$settings->_httpRoot = $_POST["httpRoot"]; setStrValue("httpRoot");
$settings->_contentDir = addDirSep($_POST["contentDir"]); setDirValue("contentDir");
$settings->_cacheDir = addDirSep($_POST["cacheDir"]); setDirValue("cacheDir");
$settings->_stagingDir = addDirSep($_POST["stagingDir"]); setDirValue("stagingDir");
$settings->_luceneDir = addDirSep($_POST["luceneDir"]); setDirValue("luceneDir");
$settings->_extraPath = addDirSep($_POST["extraPath"]); setDirValue("extraPath");
$settings->_dropFolderDir = addDirSep($_POST["dropFolderDir"]); setDirValue("dropFolderDir");
$settings->_backupDir = addDirSep($_POST["backupDir"]); setDirValue("backupDir");
$settings->_checkOutDir = addDirSep($_POST["checkOutDir"]); setDirValue("checkOutDir");
$settings->_createCheckOutDir = getBoolValue("createCheckOutDir"); setBoolValue("createCheckOutDir");
$settings->_repositoryUrl = addDirSep($_POST["repositoryUrl"]); setDirValue("repositoryUrl");
$settings->_proxyUrl = addDirSep($_POST["proxyUrl"]); setDirValue("proxyUrl");
$settings->_proxyUser = addDirSep($_POST["proxyUser"]); setDirValue("proxyUser");
$settings->_proxyPassword = addDirSep($_POST["proxyPassword"]); setDirValue("proxyPassword");
$settings->_logFileEnable = getBoolValue("logFileEnable"); setBoolValue("logFileEnable");
$settings->_logFileRotation = $_POST["logFileRotation"]; setStrValue("logFileRotation");
$settings->_enableLargeFileUpload = getBoolValue("enableLargeFileUpload"); setBoolValue("enableLargeFileUpload");
$settings->_partitionSize = $_POST["partitionSize"]; setStrValue("partitionSize"); // TODO: check if valid value, e.g. 1M or 5K
$settings->_maxUploadSize = $_POST["maxUploadSize"]; setStrValue("maxUploadSize"); // TODO: check if valid value, e.g. 1M or 5K
$settings->_enableXsendfile = getBoolValue("enableXsendfile"); setBoolValue("enableXsendfile");
// SETTINGS - SYSTEM - AUTHENTICATION // SETTINGS - SYSTEM - AUTHENTICATION
$settings->_enableGuestLogin = getBoolValue("enableGuestLogin"); setBoolValue("enableGuestLogin");
$settings->_enableGuestAutoLogin = getBoolValue("enableGuestAutoLogin"); setBoolValue("enableGuestAutoLogin");
$settings->_enable2FactorAuthentication = getBoolValue("enable2FactorAuthentication"); setBoolValue("enable2FactorAuthentication");
$settings->_restricted = getBoolValue("restricted"); setBoolValue("restricted");
$settings->_enableUserImage = getBoolValue("enableUserImage"); setBoolValue("enableUserImage");
$settings->_disableSelfEdit = getBoolValue("disableSelfEdit"); setBoolValue("disableSelfEdit");
$settings->_enablePasswordForgotten = getBoolValue("enablePasswordForgotten"); setBoolValue("enablePasswordForgotten");
$settings->_passwordStrength = intval($_POST["passwordStrength"]); setIntValue("passwordStrength");
$settings->_passwordStrengthAlgorithm = strval($_POST["passwordStrengthAlgorithm"]); setStrValue("passwordStrengthAlgorithm");
$settings->_passwordExpiration = intval($_POST["passwordExpiration"]); setIntValue("passwordExpiration");
$settings->_passwordHistory = intval($_POST["passwordHistory"]); setIntValue("passwordHistory");
$settings->_loginFailure = intval($_POST["loginFailure"]); setIntValue("loginFailure");
$settings->_autoLoginUser = intval($_POST["autoLoginUser"]); setIntValue("autoLoginUser");
$settings->_quota = intval($_POST["quota"]); setIntValue("quota");
$settings->_undelUserIds = !empty($_POST["undelUserIds"]) ? (is_array($_POST["undelUserIds"]) ? implode(',', $_POST["undelUserIds"]) : strval($_POST["undelUserIds"])) : ''; $settings->_undelUserIds = !empty($_POST["undelUserIds"]) ? (is_array($_POST["undelUserIds"]) ? implode(',', $_POST["undelUserIds"]) : strval($_POST["undelUserIds"])) : '';
$settings->_encryptionKey = strval($_POST["encryptionKey"]); setStrValue("encryptionKey");
$settings->_cookieLifetime = intval($_POST["cookieLifetime"]); setIntValue("cookieLifetime");
$settings->_defaultAccessDocs = intval($_POST["defaultAccessDocs"]); setIntValue("defaultAccessDocs");
// TODO Connectors // TODO Connectors
// SETTINGS - SYSTEM - DATABASE // SETTINGS - SYSTEM - DATABASE
$settings->_dbDriver = $_POST["dbDriver"]; setStrValue('dbDriver');
$settings->_dbHostname = $_POST["dbHostname"]; setStrValue('dbHostname');
$settings->_dbDatabase = $_POST["dbDatabase"]; setStrValue('dbDatabase');
$settings->_dbUser = $_POST["dbUser"]; setStrValue('dbUser');
$settings->_dbPass = $_POST["dbPass"]; setStrValue('dbPass');
// SETTINGS - SYSTEM - SMTP // SETTINGS - SYSTEM - SMTP
$settings->_smtpServer = $_POST["smtpServer"]; setStrValue("smtpServer");
$settings->_smtpPort = $_POST["smtpPort"]; setIntValue("smtpPort");
$settings->_smtpSendFrom = $_POST["smtpSendFrom"]; setStrValue("smtpSendFrom");
$settings->_smtpUser = $_POST["smtpUser"]; setStrValue("smtpUser");
$settings->_smtpPassword = $_POST["smtpPassword"]; setStrValue("smtpPassword");
// SETTINGS -ADVANCED - DISPLAY // SETTINGS -ADVANCED - DISPLAY
$settings->_siteDefaultPage = $_POST["siteDefaultPage"]; setStrValue("siteDefaultPage");
$settings->_rootFolderID = intval($_POST["rootFolderID"]); setIntValue("rootFolderID");
$settings->_useHomeAsRootFolder = getBoolValue("useHomeAsRootFolder"); setBoolValue("useHomeAsRootFolder");
$settings->_titleDisplayHack = getBoolValue("titleDisplayHack"); setBoolValue("titleDisplayHack");
$settings->_showMissingTranslations = getBoolValue("showMissingTranslations"); setBoolValue("showMissingTranslations");
// SETTINGS - ADVANCED - AUTHENTICATION // SETTINGS - ADVANCED - AUTHENTICATION
$settings->_guestID = intval($_POST["guestID"]); setIntValue("guestID");
$settings->_adminIP = $_POST["adminIP"]; setStrValue("adminIP");
$settings->_apiKey = strval($_POST["apiKey"]); setStrValue("apiKey");
$settings->_apiUserId = intval($_POST["apiUserId"]); setIntValue("apiUserId");
$settings->_apiOrigin = strval($_POST["apiOrigin"]); setStrValue("apiOrigin");
// SETTINGS - ADVANCED - EDITION // SETTINGS - ADVANCED - EDITION
$settings->_versioningFileName = $_POST["versioningFileName"]; setStrValue("versioningFileName");
$settings->_presetExpirationDate = $_POST["presetExpirationDate"]; setStrValue("presetExpirationDate");
$settings->_initialDocumentStatus = $_POST["initialDocumentStatus"]; setStrValue("initialDocumentStatus");
$settings->_workflowMode = $_POST["workflowMode"]; setStrValue("workflowMode");
$settings->_enableReceiptWorkflow = getBoolValue("enableReceiptWorkflow"); setBoolValue("enableReceiptWorkflow");
$settings->_enableReceiptReject = getBoolValue("enableReceiptReject"); setBoolValue("enableReceiptReject");
$settings->_enableRevisionWorkflow = getBoolValue("enableRevisionWorkflow"); setBoolValue("enableRevisionWorkflow");
$settings->_enableRevisionOnVoteReject = getBoolValue("enableRevisionOnVoteReject"); setBoolValue("enableRevisionOnVoteReject");
$settings->_allowReviewerOnly = getBoolValue("allowReviewerOnly"); setBoolValue("allowReviewerOnly");
$settings->_allowChangeRevAppInProcess = getBoolValue("allowChangeRevAppInProcess"); setBoolValue("allowChangeRevAppInProcess");
$settings->_enableAdminRevApp = getBoolValue("enableAdminRevApp"); setBoolValue("enableAdminRevApp");
$settings->_enableOwnerRevApp = getBoolValue("enableOwnerRevApp"); setBoolValue("enableOwnerRevApp");
$settings->_enableSelfRevApp = getBoolValue("enableSelfRevApp"); setBoolValue("enableSelfRevApp");
$settings->_enableSelfReceipt = getBoolValue("enableSelfReceipt"); setBoolValue("enableSelfReceipt");
$settings->_enableUpdateRevApp = getBoolValue("enableUpdateRevApp"); setBoolValue("enableUpdateRevApp");
$settings->_enableAdminReceipt = getBoolValue("enableAdminReceipt"); setBoolValue("enableAdminReceipt");
$settings->_enableOwnerReceipt = getBoolValue("enableOwnerReceipt"); setBoolValue("enableOwnerReceipt");
$settings->_enableUpdateReceipt = getBoolValue("enableUpdateReceipt"); setBoolValue("enableUpdateReceipt");
$settings->_enableFilterReceipt = getBoolValue("enableFilterReceipt"); setBoolValue("enableFilterReceipt");
$settings->_enableVersionDeletion = getBoolValue("enableVersionDeletion"); setBoolValue("enableVersionDeletion");
$settings->_enableVersionModification = getBoolValue("enableVersionModification"); setBoolValue("enableVersionModification");
$settings->_enableDuplicateDocNames = getBoolValue("enableDuplicateDocNames"); setBoolValue("enableDuplicateDocNames");
$settings->_enableDuplicateSubFolderNames = getBoolValue("enableDuplicateSubFolderNames"); setBoolValue("enableDuplicateSubFolderNames");
$settings->_enableCancelCheckout = getBoolValue("enableCancelCheckout"); setBoolValue("enableCancelCheckout");
$settings->_overrideMimeType = getBoolValue("overrideMimeType"); setBoolValue("overrideMimeType");
$settings->_advancedAcl = getBoolValue("advancedAcl"); setBoolValue("advancedAcl");
$settings->_removeFromDropFolder = getBoolValue("removeFromDropFolder"); setBoolValue("removeFromDropFolder");
// SETTINGS - ADVANCED - NOTIFICATION // SETTINGS - ADVANCED - NOTIFICATION
$settings->_enableOwnerNotification = getBoolValue("enableOwnerNotification"); setBoolValue("enableOwnerNotification");
$settings->_enableNotificationAppRev = getBoolValue("enableNotificationAppRev"); setBoolValue("enableNotificationAppRev");
$settings->_enableNotificationWorkflow = getBoolValue("enableNotificationWorkflow"); setBoolValue("enableNotificationWorkflow");
// SETTINGS - ADVANCED - SERVER // SETTINGS - ADVANCED - SERVER
$settings->_coreDir = $_POST["coreDir"]; setStrValue("coreDir");
$settings->_luceneClassDir = $_POST["luceneClassDir"]; setStrValue("luceneClassDir");
$settings->_contentOffsetDir = intval($_POST["contentOffsetDir"]); setIntValue("contentOffsetDir");
$settings->_maxDirID = intval($_POST["maxDirID"]); setIntValue("maxDirID");
$settings->_updateNotifyTime = intval($_POST["updateNotifyTime"]); setIntValue("updateNotifyTime");
$settings->_maxExecutionTime = intval($_POST["maxExecutionTime"]); setIntValue("maxExecutionTime");
$settings->_cmdTimeout = (intval($_POST["cmdTimeout"]) > 0) ?intval($_POST["cmdTimeout"]) : 1; $settings->_cmdTimeout = (intval($_POST["cmdTimeout"]) > 0) ?intval($_POST["cmdTimeout"]) : 1;
$settings->_enableDebugMode = getBoolValue("enableDebugMode"); setBoolValue("enableDebugMode");
// SETTINGS - ADVANCED - INDEX CMD // SETTINGS - ADVANCED - INDEX CMD
if(isset($_POST["converters"]["fulltext"])) if(isset($_POST["converters"]["fulltext"]))

View File

@ -100,8 +100,7 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
$settings = $this->params['settings']; $settings = $this->params['settings'];
if(!($hcf = $settings->_hiddenConfFields)) if(!($hcf = $settings->_hiddenConfFields))
return true; return true;
$hcfa = explode(';', $hcf); if(in_array($name, $hcf))
if(in_array($name, $hcfa))
return false; return false;
return true; return true;
} /* }}} */ } /* }}} */