aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib/Configuration.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/lib/Configuration.php')
-rw-r--r--apps/user_ldap/lib/Configuration.php58
1 files changed, 42 insertions, 16 deletions
diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php
index 612a46d618e..b4a5b847204 100644
--- a/apps/user_ldap/lib/Configuration.php
+++ b/apps/user_ldap/lib/Configuration.php
@@ -7,6 +7,8 @@
*/
namespace OCA\User_LDAP;
+use OCP\IConfig;
+use OCP\Server;
use Psr\Log\LoggerInterface;
/**
@@ -80,6 +82,8 @@ use Psr\Log\LoggerInterface;
* @property string $ldapAttributeHeadline
* @property string $ldapAttributeBiography
* @property string $ldapAdminGroup
+ * @property string $ldapAttributeBirthDate
+ * @property string $ldapAttributePronouns
*/
class Configuration {
public const AVATAR_PREFIX_DEFAULT = 'default';
@@ -89,11 +93,6 @@ class Configuration {
public const LDAP_SERVER_FEATURE_UNKNOWN = 'unknown';
public const LDAP_SERVER_FEATURE_AVAILABLE = 'available';
public const LDAP_SERVER_FEATURE_UNAVAILABLE = 'unavailable';
-
- /**
- * @var string
- */
- protected $configPrefix;
/**
* @var bool
*/
@@ -179,10 +178,13 @@ class Configuration {
'ldapAdminGroup' => '',
'ldapAttributeBirthDate' => null,
'ldapAttributeAnniversaryDate' => null,
+ 'ldapAttributePronouns' => null,
];
- public function __construct(string $configPrefix, bool $autoRead = true) {
- $this->configPrefix = $configPrefix;
+ public function __construct(
+ protected string $configPrefix,
+ bool $autoRead = true,
+ ) {
if ($autoRead) {
$this->readConfiguration();
}
@@ -216,7 +218,7 @@ class Configuration {
* from configuration. It does not save the configuration! To do so, you
* must call saveConfiguration afterwards.
* @param array $config array that holds the config parameters in an associated
- * array
+ * array
* @param array &$applied optional; array where the set fields will be given to
*/
public function setConfiguration(array $config, ?array &$applied = null): void {
@@ -238,7 +240,7 @@ class Configuration {
case 'homeFolderNamingRule':
$trimmedVal = trim($val);
if ($trimmedVal !== '' && !str_contains($val, 'attr:')) {
- $val = 'attr:'.$trimmedVal;
+ $val = 'attr:' . $trimmedVal;
}
break;
case 'ldapBase':
@@ -294,6 +296,28 @@ class Configuration {
break;
case 'ldapUserDisplayName2':
case 'ldapGroupDisplayName':
+ case 'ldapGidNumber':
+ case 'ldapGroupMemberAssocAttr':
+ case 'ldapQuotaAttribute':
+ case 'ldapEmailAttribute':
+ case 'ldapUuidUserAttribute':
+ case 'ldapUuidGroupAttribute':
+ case 'ldapExpertUsernameAttr':
+ case 'ldapExpertUUIDUserAttr':
+ case 'ldapExpertUUIDGroupAttr':
+ case 'ldapExtStorageHomeAttribute':
+ case 'ldapAttributePhone':
+ case 'ldapAttributeWebsite':
+ case 'ldapAttributeAddress':
+ case 'ldapAttributeTwitter':
+ case 'ldapAttributeFediverse':
+ case 'ldapAttributeOrganisation':
+ case 'ldapAttributeRole':
+ case 'ldapAttributeHeadline':
+ case 'ldapAttributeBiography':
+ case 'ldapAttributeBirthDate':
+ case 'ldapAttributeAnniversaryDate':
+ case 'ldapAttributePronouns':
$readMethod = 'getLcValue';
break;
case 'ldapUserDisplayName':
@@ -416,7 +440,7 @@ class Configuration {
protected function getSystemValue(string $varName): string {
//FIXME: if another system value is added, softcode the default value
- return \OC::$server->getConfig()->getSystemValue($varName, false);
+ return Server::get(IConfig::class)->getSystemValue($varName, false);
}
protected function getValue(string $varName): string {
@@ -424,8 +448,8 @@ class Configuration {
if (is_null($defaults)) {
$defaults = $this->getDefaults();
}
- return \OC::$server->getConfig()->getAppValue('user_ldap',
- $this->configPrefix.$varName,
+ return Server::get(IConfig::class)->getAppValue('user_ldap',
+ $this->configPrefix . $varName,
$defaults[$varName]);
}
@@ -453,9 +477,9 @@ class Configuration {
}
protected function saveValue(string $varName, string $value): bool {
- \OC::$server->getConfig()->setAppValue(
+ Server::get(IConfig::class)->setAppValue(
'user_ldap',
- $this->configPrefix.$varName,
+ $this->configPrefix . $varName,
$value
);
return true;
@@ -463,7 +487,7 @@ class Configuration {
/**
* @return array an associative array with the default values. Keys are correspond
- * to config-value entries in the database table
+ * to config-value entries in the database table
*/
public function getDefaults(): array {
return [
@@ -538,6 +562,7 @@ class Configuration {
'ldap_admin_group' => '',
'ldap_attr_birthdate' => '',
'ldap_attr_anniversarydate' => '',
+ 'ldap_attr_pronouns' => '',
];
}
@@ -617,6 +642,7 @@ class Configuration {
'ldap_admin_group' => 'ldapAdminGroup',
'ldap_attr_birthdate' => 'ldapAttributeBirthDate',
'ldap_attr_anniversarydate' => 'ldapAttributeAnniversaryDate',
+ 'ldap_attr_pronouns' => 'ldapAttributePronouns',
];
return $array;
}
@@ -646,7 +672,7 @@ class Configuration {
return [strtolower($attribute)];
}
if ($value !== self::AVATAR_PREFIX_DEFAULT) {
- \OCP\Server::get(LoggerInterface::class)->warning('Invalid config value to ldapUserAvatarRule; falling back to default.');
+ Server::get(LoggerInterface::class)->warning('Invalid config value to ldapUserAvatarRule; falling back to default.');
}
return $defaultAttributes;
}