You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.4 KiB
PHP
70 lines
2.4 KiB
PHP
<?php
|
|
|
|
/*
|
|
+-----------------------------------------------------------------------+
|
|
| program/steps/mail/addcontact.inc |
|
|
| |
|
|
| This file is part of the RoundCube Webmail client |
|
|
| Copyright (C) 2005, RoundCube Dev. - Switzerland |
|
|
| Licensed under the GNU GPL |
|
|
| |
|
|
| 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;
|
|
?>
|