Fix for import / update search for existing record. If new record key (ex ID) was not set, search matched all

This commit is contained in:
Nathan Gray 2011-03-21 23:02:22 +00:00
parent 8a102f94e8
commit 766391754c

View File

@ -184,18 +184,21 @@ class infolog_import_infologs_csv implements importexport_iface_import_plugin {
if ( $_definition->plugin_options['conditions'] ) { if ( $_definition->plugin_options['conditions'] ) {
foreach ( $_definition->plugin_options['conditions'] as $condition ) { foreach ( $_definition->plugin_options['conditions'] as $condition ) {
$results = array();
switch ( $condition['type'] ) { switch ( $condition['type'] ) {
// exists // exists
case 'exists' : case 'exists' :
$results = $this->boinfolog->search( if($record[$condition['string']]) {
//array( $condition['string'] => $record[$condition['string']],), $results = $this->boinfolog->search(
'', //array( $condition['string'] => $record[$condition['string']],),
$_definition->plugin_options['update_cats'] == 'add' ? false : true, '',
'', '', '', false, 'AND', false, $_definition->plugin_options['update_cats'] == 'add' ? false : true,
array( $condition['string'] => $record[$condition['string']],) '', '', '', false, 'AND', false,
); array( $condition['string'] => $record[$condition['string']],)
);
}
if ( is_array( $results ) && count( array_keys( $results ) >= 1 ) ) { if ( is_array( $results ) && count( array_keys( $results )) >= 1) {
// apply action to all records matching this exists condition // apply action to all records matching this exists condition
$action = $condition['true']; $action = $condition['true'];
foreach ( (array)$results as $contact ) { foreach ( (array)$results as $contact ) {