alecpl
2011-11-11 ecfaed571b2c38f4bcc2b6a0fa39fba15a5126ce
program/steps/addressbook/copy.inc
@@ -28,8 +28,9 @@
$target       = get_input_value('_to', RCUBE_INPUT_POST);
$target_group = get_input_value('_togid', RCUBE_INPUT_POST);
$success = 0;
$maxnum  = $RCMAIL->config->get('max_group_members', 0);
$success  = 0;
$errormsg = 'copyerror';
$maxnum   = $RCMAIL->config->get('max_group_members', 0);
foreach ($cids as $source => $cid)
{
@@ -40,7 +41,7 @@
    // It maight happen when copying records from search result
    // Do nothing, go to next source
    if ($target == $source) {
    if ((string)$target == (string)$source) {
        continue;
    }
@@ -56,8 +57,14 @@
    foreach ($cid as $cid) {
        $a_record = $CONTACTS->get_record($cid, true);
        // check if contact exists, if so, we'll need it's ID
        $result = $TARGET->search('email', $a_record['email'], true, true);
        // Check if contact exists, if so, we'll need it's ID
        // Note: Some addressbooks allows empty email address field
        if (!empty($a_record['email']))
            $result = $TARGET->search('email', $a_record['email'], 1, true, true);
        else if (!empty($a_record['name']))
            $result = $TARGET->search('name', $a_record['name'], 1, true, true);
        else
            $result = new rcube_result_set();
        // insert contact record
        if (!$result->count) {
@@ -78,6 +85,7 @@
        else {
            $record = $result->first();
            $ids[] = $record['ID'];
            $errormsg = empty($a_record['email']) ? 'contactnameexists' : 'contactexists';
        }
    }
@@ -101,11 +109,13 @@
        else if ($plugin['result']) {
            $success = $plugin['result'];
        }
        $errormsg = $plugin['message'] ? $plugin['message'] : 'copyerror';
    }
}
if ($success == 0)
    $OUTPUT->show_message('copyerror', 'error');
    $OUTPUT->show_message($errormsg, 'error');
else
    $OUTPUT->show_message('copysuccess', 'notice', array('nr' => $success));