alecpl
2009-05-04 6fd71e3ed49aa71aa90e4cfd9bfeda4b48a1ab47
- more addressbooks hooks (#1485829)


3 files modified
37 ■■■■■ changed files
program/steps/addressbook/copy.inc 11 ●●●● patch | view | raw | blame | history
program/steps/addressbook/import.inc 24 ●●●● patch | view | raw | blame | history
program/steps/mail/addcontact.inc 2 ●●● patch | view | raw | blame | history
program/steps/addressbook/copy.inc
@@ -26,8 +26,13 @@
  $success = false;
  $TARGET = $RCMAIL->get_address_book($target);
  if ($TARGET && $TARGET->ready && !$TARGET->readonly)
    $success = $TARGET->insert($CONTACTS->search($CONTACTS->primary_key, $cid), true);
  if ($TARGET && $TARGET->ready && !$TARGET->readonly) {
    $plugin = $RCMAIL->plugins->exec_hook('create_contact', array('record' => $CONTACTS->search($CONTACTS->primary_key, $cid), 'source' => $target));
    $a_record = $plugin['record'];
    if (!$plugin['abort'])
      $success = $TARGET->insert($CONTACTS->search($a_record, true);
  }
  if (empty($success))
    $OUTPUT->show_message('copyerror', 'error');
@@ -41,4 +46,4 @@
// send response
$OUTPUT->send();
?>
?>
program/steps/addressbook/import.inc
@@ -75,18 +75,18 @@
{
  global $IMPORT_STATS, $OUTPUT;
  
  $attrib += array('type' => "input");
  $attrib += array('type' => 'input');
  unset($attrib['name']);
  
  if (is_object($IMPORT_STATS)) {
    $attrib['class'] = trim($attrib['class'] . ' mainaction');
    $out = $OUTPUT->button(array('command' => "list", 'label' => "done") + $attrib);
    $out = $OUTPUT->button(array('command' => 'list', 'label' => 'done') + $attrib);
  }
  else {
    $out = $OUTPUT->button(array('command' => "list", 'label' => "cancel") + $attrib);
    $out = $OUTPUT->button(array('command' => 'list', 'label' => 'cancel') + $attrib);
    $out .= ' ';
    $attrib['class'] = trim($attrib['class'] . ' mainaction');
    $out .= $OUTPUT->button(array('command' => "import", 'label' => "import") + $attrib);
    $out .= $OUTPUT->button(array('command' => 'import', 'label' => 'import') + $attrib);
  }
  
  return $out;
@@ -142,19 +142,22 @@
        }
      }
      
      $success = $CONTACTS->insert(array(
      $a_record = array(
        'name' => $vcard->displayname,
        'firstname' => $vcard->firstname,
        'surname' => $vcard->surname,
        'email' => $email,
        'vcard' => $vcard->export(),
      ));
      );
      
      if ($success) {
      $plugin = $RCMAIL->plugins->exec_hook('create_contact', array('record' => $a_record, 'source' => null));
      $a_record = $plugin['record'];
      // insert record and send response
      if (!$plugin['abort'] && ($success = $CONTACTS->insert($a_record))) {
        $IMPORT_STATS->inserted++;
        $IMPORT_STATS->names[] = $vcard->displayname;
      }
      else {
      } else {
        $IMPORT_STATS->errors++;
      }
    }
@@ -165,8 +168,7 @@
else if ($err = $_FILES['_file']['error']) {
  if ($err == UPLOAD_ERR_INI_SIZE || $err == UPLOAD_ERR_FORM_SIZE) {
    $OUTPUT->show_message('filesizeerror', 'error', array('size' => show_bytes(parse_bytes(ini_get('upload_max_filesize')))));
  }
  else {
  } else {
    $OUTPUT->show_message('fileuploaderror', 'error');
  }
}
program/steps/mail/addcontact.inc
@@ -43,7 +43,7 @@
      $OUTPUT->show_message('contactexists', 'warning');
    else
    {
      $plugin = $RCMAIL->plugins->exec_hook('create_contact', array('record' => $contact, 'source' => get_input_value('_source', RCUBE_INPUT_GPC)));
      $plugin = $RCMAIL->plugins->exec_hook('create_contact', array('record' => $contact, 'source' => null));
      $contact = $plugin['record'];
      if (!$plugin['abort'] && ($done = $CONTACTS->insert($contact)))