From aef9f320b8b3622e9db998bf0e452fe7b199b3e3 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 29 Apr 2012 15:44:17 +0000 Subject: [PATCH] * Addressbook/LDAP|SQL->LDAP: fixed error during creation of new contacts, SQL->LDAP now also displays LDAP errors --- addressbook/inc/class.addressbook_ldap.inc.php | 9 +++++---- addressbook/inc/class.addressbook_so.inc.php | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/addressbook/inc/class.addressbook_ldap.inc.php b/addressbook/inc/class.addressbook_ldap.inc.php index bccac2dfc7..c257e79f7c 100644 --- a/addressbook/inc/class.addressbook_ldap.inc.php +++ b/addressbook/inc/class.addressbook_ldap.inc.php @@ -502,7 +502,7 @@ class addressbook_ldap if (!@ldap_modify($this->ds, $dn, $ldapContact)) { - //echo "

ldap_modify($this->ds,'$dn',".print_r($ldapContact,true).")

\n"; + //echo "

ldap_modify($this->ds,'$dn',".print_r($ldapContact,true).') failed errorcode: '. ldap_errno($this->ds) .' ('. ldap_error($this->ds) .")

\n"; error_log('class.so_ldap.inc.php ('. __LINE__ .') update of '. $dn .' failed errorcode: '. ldap_errno($this->ds) .' ('. ldap_error($this->ds) .')'); error_log(print_r($ldapContact,true)); return $this->_error(__LINE__); @@ -511,12 +511,13 @@ class addressbook_ldap else { $dn = 'uid='. ldap::quote($ldapContact['uid']) .','. $baseDN; + unset($ldapContact['entryuuid']); // trying to write it, gives an error if (!@ldap_add($this->ds, $dn, $ldapContact)) { - //echo "

ldap_add($this->ds,'$dn',".print_r($ldapContact,true).")

\n"; + //echo "

ldap_add($this->ds,'$dn',".array2string($ldapContact).") failed errorcode: ".ldap_errno($this->ds) .' ('. ldap_error($this->ds) .")

\n"; error_log('class.so_ldap.inc.php ('. __LINE__ .') add of '. $dn .' failed errorcode: '. ldap_errno($this->ds) .' ('. ldap_error($this->ds) .')'); - error_log(print_r($ldapContact,true)); + error_log(array2string($ldapContact)); return $this->_error(__LINE__); } } @@ -964,7 +965,7 @@ class addressbook_ldap if(!@ldap_add($adminDS, $dn, $data)) { //echo "

ldap_add($adminDS,'$dn',".print_r($data,true).")

\n"; - $err = $this->_error(__LINE__,$adminDS); + $err = lang("Can't create dn %1",$dn).': '.$this->_error(__LINE__,$adminDS); $adminLDAP->ldapDisconnect(); return $err; } diff --git a/addressbook/inc/class.addressbook_so.inc.php b/addressbook/inc/class.addressbook_so.inc.php index 09ecfcd83a..28fe863691 100755 --- a/addressbook/inc/class.addressbook_so.inc.php +++ b/addressbook/inc/class.addressbook_so.inc.php @@ -530,7 +530,7 @@ class addressbook_so // which need to be the account_lid for accounts! $data['id'] = $GLOBALS['egw']->accounts->id2name($contact['account_id']); } - ExecMethod('addressbook.addressbook_ldap.save',$data); + $error_nr = ExecMethod('addressbook.addressbook_ldap.save',$data); } } } @@ -582,7 +582,7 @@ class addressbook_so function &search($criteria,$only_keys=True,$order_by='',$extra_cols='',$wildcard='',$empty=False,$op='AND',$start=false,$filter=null,$join='') { //echo '

'.__METHOD__.'('.array2string($criteria,true).','.array2string($only_keys).",'$order_by','$extra_cols','$wildcard','$empty','$op',$start,".array2string($filter,true).",'$join')

\n"; - //error_log(__METHOD__.'('.array2string($criteria,true).','.array2string($only_keys).",'$order_by','$extra_cols','$wildcard','$empty','$op',$start,".array2string($filter,true).",'$join')"); + //error_log(__METHOD__.'('.array2string($criteria,true).','.array2string($only_keys).",'$order_by','$extra_cols','$wildcard','$empty','$op',".array2string($start).','.array2string($filter,true).",'$join')"); // Handle 'None' country option if(is_array($filter) && $filter['adr_one_countrycode'] == '-custom-')