$notification->push(sprintf(_("There was an error importing the data: %s"), $e->getMessage()), 'horde.error');
$error = true;
break;
}
}
}
// Now attempt to create Turba group objects.
foreach ($contact_groups as $group) {
$attributes = $group;
unset($attributes['__members']);
$group_obj = new Turba_Object_Group($driver, $attributes);
foreach (explode(',', $group['__members']) as $uid) {
$results = $driver->search(array('__uid' => $uid));
if (count($results->objects)) {
$object = array_pop($results->objects);
$group_obj->addMember($object->getValue('__key'), $object->getSource());
}
}
// We don't actually use the group object to save to storage since
// it's not an existing group. We use it so it's responsible for
// properly formatting the __members data, which we pull out and
// place in the attributes array.
$attributes['__members'] = $group_obj->getValue('__members');
$attributes['__type'] = 'group';
$driver->add($attributes);
}
if (!$error && $imported) {
$notification->push(sprintf(_("%s file successfully imported."), $file_types[$data->storage->get('format')]), 'horde.success');
}
}
$next_step = $data->cleanup();