Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/user_ldap/lib/Command/CreateEmptyConfig.php1
-rw-r--r--apps/user_ldap/lib/Configuration.php11
-rw-r--r--apps/user_ldap/lib/Controller/ConfigAPIController.php1
3 files changed, 9 insertions, 4 deletions
diff --git a/apps/user_ldap/lib/Command/CreateEmptyConfig.php b/apps/user_ldap/lib/Command/CreateEmptyConfig.php
index 8b1736e3a53..f7f04e28e60 100644
--- a/apps/user_ldap/lib/Command/CreateEmptyConfig.php
+++ b/apps/user_ldap/lib/Command/CreateEmptyConfig.php
@@ -59,6 +59,7 @@ class CreateEmptyConfig extends Command {
protected function execute(InputInterface $input, OutputInterface $output): int {
$configPrefix = $this->helper->getNextServerConfigurationPrefix();
$configHolder = new Configuration($configPrefix);
+ $configHolder->ldapConfigurationActive = false;
$configHolder->saveConfiguration();
$prose = '';
diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php
index ab5aa23f98d..c895874a7a0 100644
--- a/apps/user_ldap/lib/Configuration.php
+++ b/apps/user_ldap/lib/Configuration.php
@@ -50,10 +50,9 @@ class Configuration {
protected $configPrefix = null;
protected $configRead = false;
/**
- * @var string[] pre-filled with one reference key so that at least one entry is written on save request and
- * the config ID is registered
+ * @var string[]
*/
- protected $unsavedChanges = ['ldapConfigurationActive' => 'ldapConfigurationActive'];
+ protected $unsavedChanges = [];
//settings
protected $config = [
@@ -262,6 +261,7 @@ class Configuration {
*/
public function saveConfiguration() {
$cta = array_flip($this->getConfigTranslationArray());
+ $changed = false;
foreach ($this->unsavedChanges as $key) {
$value = $this->config[$key];
switch ($key) {
@@ -291,9 +291,12 @@ class Configuration {
if (is_null($value)) {
$value = '';
}
+ $changed = true;
$this->saveValue($cta[$key], $value);
}
- $this->saveValue('_lastChange', time());
+ if ($changed) {
+ $this->saveValue('_lastChange', (string)time());
+ }
$this->unsavedChanges = [];
}
diff --git a/apps/user_ldap/lib/Controller/ConfigAPIController.php b/apps/user_ldap/lib/Controller/ConfigAPIController.php
index cf09c6acd06..bbf9e822f49 100644
--- a/apps/user_ldap/lib/Controller/ConfigAPIController.php
+++ b/apps/user_ldap/lib/Controller/ConfigAPIController.php
@@ -117,6 +117,7 @@ class ConfigAPIController extends OCSController {
try {
$configPrefix = $this->ldapHelper->getNextServerConfigurationPrefix();
$configHolder = new Configuration($configPrefix);
+ $configHolder->ldapConfigurationActive = false;
$configHolder->saveConfiguration();
} catch (\Exception $e) {
$this->logger->logException($e);