From b52d765dbf6aa8469f504c9ec92cd98d016eebc7 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 21 Jun 2013 23:58:44 +0200 Subject: [PATCH] LDAP: even better check for emptiness, fixes #3815 --- apps/user_ldap/lib/connection.php | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index 46bbbb17a46..c51a01118cd 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -209,6 +209,22 @@ class Connection { $value); } + /** + * Special handling for reading Base Configuration + * + * @param $base the internal name of the config key + * @param $value the value stored for the base + */ + private function readBase($base, $value) { + if(empty($value)) { + $value = ''; + } else { + $value = preg_split('/\r\n|\r|\n/', $value); + } + + $this->config[$base] = $value; + } + /** * Caches the general LDAP configuration. */ @@ -224,14 +240,9 @@ class Connection { $this->config['ldapAgentName'] = $this->$v('ldap_dn'); $this->config['ldapAgentPassword'] = base64_decode($this->$v('ldap_agent_password')); - $rawLdapBase = $this->$v('ldap_base'); - $this->config['ldapBase'] - = preg_split('/\r\n|\r|\n/', $rawLdapBase); - $this->config['ldapBaseUsers'] - = preg_split('/\r\n|\r|\n/', ($this->$v('ldap_base_users'))); - $this->config['ldapBaseGroups'] - = preg_split('/\r\n|\r|\n/', $this->$v('ldap_base_groups')); - unset($rawLdapBase); + $this->readBase('ldapBase', $this->$v('ldap_base')); + $this->readBase('ldapBaseUsers', $this->$v('ldap_base_users')); + $this->readBase('ldapBaseGroups', $this->$v('ldap_base_groups')); $this->config['ldapTLS'] = $this->$v('ldap_tls'); $this->config['ldapNoCase'] = $this->$v('ldap_nocase'); $this->config['turnOffCertCheck'] -- 2.39.5