| +-----------------------------------------------------------------------+ $Id: addcontact.inc 1365 2008-05-08 08:22:18Z alec $ */ $done = false; if (!empty($_POST['_address'])) { $CONTACTS = array(); if (strtolower($CONFIG['address_book_type']) == 'ldap') { // Use the first writable LDAP address book. foreach ($CONFIG["ldap_public"] as $id => $prop) { if ($prop["writable"]) { $CONTACTS = new rcube_ldap($prop); break; } // end if } // end foreach } // end if else { $CONTACTS = new rcube_contacts($DB, $_SESSION['user_id']); } // end else $contact_arr = $IMAP->decode_address_list(get_input_value('_address', RCUBE_INPUT_POST, true), 1, false); if (!empty($contact_arr[1]['mailto'])) { $contact = array( 'email' => $contact_arr[1]['mailto'], 'name' => $contact_arr[1]['name'] ); // use email address part for name if (empty($contact['name']) || $contact['name'] == $contact['email']) $contact['name'] = ucfirst(preg_replace('/[\.\-]/', ' ', substr($contact['email'], 0, strpos($contact['email'], '@')))); // check for existing contacts $existing = $CONTACTS->search('email', $contact['email'], true, false); if ($done = $existing->count) $OUTPUT->show_message('contactexists', 'warning'); else if ($done = $CONTACTS->insert($contact)) $OUTPUT->show_message('addedsuccessfully', 'confirmation'); } } if (!$done) $OUTPUT->show_message('errorsavingcontact', 'warning'); $OUTPUT->send(); ?>