| | |
| | | $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) |
| | | { |
| | |
| | | |
| | | // It maight happen when copying records from search result |
| | | // Do nothing, go to next source |
| | | if ($target == $source) { |
| | | if ((string)$target == (string)$source) { |
| | | continue; |
| | | } |
| | | |
| | |
| | | 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) { |
| | |
| | | else { |
| | | $record = $result->first(); |
| | | $ids[] = $record['ID']; |
| | | $errormsg = empty($a_record['email']) ? 'contactnameexists' : 'contactexists'; |
| | | } |
| | | } |
| | | |
| | |
| | | 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)); |
| | | |