summaryrefslogtreecommitdiff
path: root/program/steps/addressbook/copy.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps/addressbook/copy.inc')
-rw-r--r--program/steps/addressbook/copy.inc44
1 files changed, 44 insertions, 0 deletions
diff --git a/program/steps/addressbook/copy.inc b/program/steps/addressbook/copy.inc
new file mode 100644
index 000000000..e6d917e92
--- /dev/null
+++ b/program/steps/addressbook/copy.inc
@@ -0,0 +1,44 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | program/steps/addressbook/copy.inc |
+ | |
+ | This file is part of the RoundCube Webmail client |
+ | Copyright (C) 2007, RoundCube Dev. - Switzerland |
+ | Licensed under the GNU GPL |
+ | |
+ | PURPOSE: |
+ | Copy a contact record from one direcotry to another |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com> |
+ +-----------------------------------------------------------------------+
+
+ $Id: copy.inc 471 2007-02-09 21:25:50Z thomasb $
+
+*/
+
+$cid = get_input_value('_cid', RCUBE_INPUT_POST);
+$target = get_input_value('_to', RCUBE_INPUT_POST);
+if ($cid && preg_match('/^[a-z0-9\-_=]+(,[a-z0-9\-_=]+)*$/i', $cid) && strlen($target) && $target != $source)
+{
+ if ($target != '0')
+ $TARGET = new rcube_ldap($CONFIG['ldap_public'][$target]);
+ else
+ $TARGET = new rcube_contacts($DB, $_SESSION['user_id']);
+
+ $success = false;
+ if ($TARGET && $TARGET->ready && !$TARGET->readonly)
+ $success = $TARGET->insert($CONTACTS->search($CONTACTS->primary_key, $cid), true);
+
+ if (empty($success))
+ $OUTPUT->show_message('copyerror', 'error');
+ else
+ $OUTPUT->show_message('copysuccess', 'notice', array('nr' => count($success)));
+}
+
+// send response
+$OUTPUT->send();
+
+?> \ No newline at end of file