* addressbook/csv-import: fix/enable update of account - userdata when accounts are stored with ldap. If the condition is on account_id, we supplement the condition with owner=0 (this is needed to correctly determine the storage engine (ldap/sql) for accounts); we strongly recomment NOT to try to use this for adding accounts: use admin import definitions for that task

This commit is contained in:
Klaus Leithoff 2011-09-19 10:15:32 +00:00
parent 03ed1d3ddb
commit 2b6409d998
2 changed files with 6 additions and 2 deletions

View File

@ -212,12 +212,16 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
// exists
case 'exists' :
if($record[$condition['string']]) {
$searchcondition = array( $condition['string'] => $record[$condition['string']]);
// if we use account_id for the condition, we need to set the owner for filtering, as this
// enables addressbook_so to decide what backend is to be used
if ($condition['string']=='account_id') $searchcondition['owner']=0;
$contacts = $this->bocontacts->search(
//array( $condition['string'] => $record[$condition['string']],),
'',
$_definition->plugin_options['update_cats'] == 'add' ? false : true,
'', '', '', false, 'AND', false,
array( $condition['string'] => $record[$condition['string']])
$searchcondition
);
}
if ( is_array( $contacts ) && count( array_keys( $contacts ) ) >= 1 ) {

View File

@ -122,7 +122,7 @@ class addressbook_so
var $ldap_search_attributes = array(
'n_family','n_middle','n_given','org_name','org_unit',
'adr_one_location','adr_two_location','note',
'email','mozillasecondemail',
'email','mozillasecondemail','uidnumber',
);
/**
* In SQL we can search all columns, though a view make on real sense