summaryrefslogtreecommitdiff
path: root/program/steps/mail/addcontact.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps/mail/addcontact.inc')
-rw-r--r--program/steps/mail/addcontact.inc70
1 files changed, 70 insertions, 0 deletions
diff --git a/program/steps/mail/addcontact.inc b/program/steps/mail/addcontact.inc
new file mode 100644
index 000000000..7f1102412
--- /dev/null
+++ b/program/steps/mail/addcontact.inc
@@ -0,0 +1,70 @@
+<?php
+
+/*
+ +-----------------------------------------------------------------------+
+ | program/steps/mail/addcontact.inc |
+ | |
+ | This file is part of the RoundCube Webmail client |
+ | Copyright (C) 2005, RoundCube Dev. - Switzerland |
+ | All rights reserved. |
+ | |
+ | PURPOSE: |
+ | Add the submitted contact to the users address book |
+ | |
+ +-----------------------------------------------------------------------+
+ | Author: Thomas Bruederli <roundcube@gmail.com> |
+ +-----------------------------------------------------------------------+
+
+ $Id$
+
+*/
+
+$REMOTE_REQUEST = TRUE;
+
+if ($_GET['_address'])
+ {
+ $contact_arr = $IMAP->decode_address_list($_GET['_address']);
+ if (sizeof($contact_arr))
+ {
+ $contact = $contact_arr[1];
+
+ if ($contact['mailto'])
+ $sql_result = $DB->query(sprintf("SELECT 1 FROM %s
+ WHERE user_id=%d
+ AND email='%s'
+ AND del!='1'",
+ get_table_name('contacts'),
+ $_SESSION['user_id'],
+ $contact['mailto']));
+
+ // contact entry with this mail address exists
+ if ($sql_result && $DB->num_rows($sql_result))
+ $existing_contact = TRUE;
+
+ else if ($contact['mailto'])
+ {
+ $DB->query(sprintf("INSERT INTO %s
+ (user_id, name, email)
+ VALUES (%d, '%s', '%s')",
+ get_table_name('contacts'),
+ $_SESSION['user_id'],
+ $contact['name'],
+ $contact['mailto']));
+
+ $added = $DB->insert_id();
+ }
+ }
+
+ if ($added)
+ $commands = show_message('addedsuccessfully', 'confirmation');
+ else if ($existing_contact)
+ $commands = show_message('contactexists', 'warning');
+ }
+
+
+if (!$commands)
+ $commands = show_message('errorsavingcontact', 'warning');
+
+rcube_remote_response($commands);
+exit;
+?> \ No newline at end of file