From 83d9e1e2f083b176e3bff9d3851211b3bc9cb560 Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@owncloud.com>
Date: Wed, 23 Jan 2013 23:40:21 +0100
Subject: [PATCH] make sure that Configuration is read when getConfiguration is
 called. And give back the appropriate result.

---
 apps/user_ldap/lib/connection.php | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index 7d9f82cf83..39ff530dc4 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -51,6 +51,7 @@ class Connection {
 		'ldapUserFilter' => null,
 		'ldapGroupFilter' => null,
 		'ldapGroupDisplayName' => null,
+		'ldapGroupMemberAssocAttr' => null,
 		'ldapLoginFilter' => null,
 		'ldapQuotaAttribute' => null,
 		'ldapQuotaDefault' => null,
@@ -262,7 +263,7 @@ class Connection {
 	private function getConfigTranslationArray() {
 		static $array = array('ldap_host'=>'ldapHost', 'ldap_port'=>'ldapPort', 'ldap_backup_host'=>'ldapBackupHost', 'ldap_backup_port'=>'ldapBackupPort', 'ldap_override_main_server' => 'ldapOverrideMainServer', 'ldap_dn'=>'ldapAgentName', 'ldap_agent_password'=>'ldapAgentPassword', 'ldap_base'=>'ldapBase', 'ldap_base_users'=>'ldapBaseUsers', 'ldap_base_groups'=>'ldapBaseGroups', 'ldap_userlist_filter'=>'ldapUserFilter', 'ldap_login_filter'=>'ldapLoginFilter', 'ldap_group_filter'=>'ldapGroupFilter', 'ldap_display_name'=>'ldapUserDisplayName', 'ldap_group_display_name'=>'ldapGroupDisplayName',
 
-		'ldap_tls'=>'ldapTLS', 'ldap_nocase'=>'ldapNoCase', 'ldap_quota_def'=>'ldapQuotaDefault', 'ldap_quota_attr'=>'ldapQuotaAttribute', 'ldap_email_attr'=>'ldapEmailAttribute', 'ldap_group_member_assoc_attribute'=>'ldapGroupMemberAssocAttr', 'ldap_cache_ttl'=>'ldapCacheTTL', 'home_folder_naming_rule' => 'homeFolderNamingRule', 'turn_off_cert_check' => 'turnOffCertCheck');
+		'ldap_tls'=>'ldapTLS', 'ldap_nocase'=>'ldapNoCase', 'ldap_quota_def'=>'ldapQuotaDefault', 'ldap_quota_attr'=>'ldapQuotaAttribute', 'ldap_email_attr'=>'ldapEmailAttribute', 'ldap_group_member_assoc_attribute'=>'ldapGroupMemberAssocAttr', 'ldap_cache_ttl'=>'ldapCacheTTL', 'home_folder_naming_rule' => 'homeFolderNamingRule', 'ldap_turn_off_cert_check' => 'turnOffCertCheck');
 		return $array;
 	}
 
@@ -329,13 +330,22 @@ class Connection {
 	 * @return array
 	 */
 	public function getConfiguration() {
+		$this->readConfiguration();
 		$trans = $this->getConfigTranslationArray();
 		$config = array();
-		foreach($trans as $classKey => $dbKey) {
-		    $config[$dbKey] = $this->config[$classKey];
+		foreach($trans as $dbKey => $classKey) {
+			if($classKey == 'homeFolderNamingRule') {
+				if(strpos($this->config[$classKey], 'opt') === 0) {
+					$config[$dbKey] = '';
+				} else {
+					$config[$dbKey] = substr($this->config[$dbKey], 5);
+				}
+				continue;
+			}
+			$config[$dbKey] = $this->config[$classKey];
 		}
 
-		return $this->config;
+		return $config;
 	}
 
 	/**
-- 
GitLab