From cb2bc809ef29f349d38c89e202d821e67bb4c947 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Tue, 21 Sep 2010 14:47:55 -0400 Subject: [PATCH] Fix db_mode check in insert_id() --- program/steps/mail/addcontact.inc | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/program/steps/mail/addcontact.inc b/program/steps/mail/addcontact.inc index d98d71f..8a071be 100644 --- a/program/steps/mail/addcontact.inc +++ b/program/steps/mail/addcontact.inc @@ -5,7 +5,7 @@ | program/steps/mail/addcontact.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2009, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -18,6 +18,10 @@ $Id$ */ + +// only process ajax requests +if (!$OUTPUT->ajax_call) + return; $done = false; $CONTACTS = $RCMAIL->get_address_book(null, true); @@ -41,8 +45,14 @@ $existing = $CONTACTS->search('email', $contact['email'], true, false); if ($done = $existing->count) $OUTPUT->show_message('contactexists', 'warning'); - else if ($done = $CONTACTS->insert($contact)) - $OUTPUT->show_message('addedsuccessfully', 'confirmation'); + else + { + $plugin = $RCMAIL->plugins->exec_hook('contact_create', array('record' => $contact, 'source' => null)); + $contact = $plugin['record']; + + if (!$plugin['abort'] && ($done = $CONTACTS->insert($contact))) + $OUTPUT->show_message('addedsuccessfully', 'confirmation'); + } } } @@ -50,4 +60,4 @@ $OUTPUT->show_message('errorsavingcontact', 'warning'); $OUTPUT->send(); -?> + -- Gitblit v1.9.1