From e019f2d0f2dc2fbfa345ab5d7ae85e67bfdd76b8 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Sat, 25 Sep 2010 09:03:53 -0400 Subject: [PATCH] - s/RoundCube/Roundcube/ --- program/steps/addressbook/save.inc | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 639e0f2..b4b9ae4 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -4,8 +4,8 @@ +-----------------------------------------------------------------------+ | program/steps/addressbook/save.inc | | | - | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2009, RoundCube Dev. - Switzerland | + | This file is part of the Roundcube Webmail client | + | Copyright (C) 2005-2009, Roundcube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -54,20 +54,28 @@ // update an existing contact if (!empty($cid)) { - $plugin = $RCMAIL->plugins->exec_hook('save_contact', array('id' => $cid, 'record' => $a_record, 'source' => get_input_value('_source', RCUBE_INPUT_GPC))); + $plugin = $RCMAIL->plugins->exec_hook('contact_update', + array('id' => $cid, 'record' => $a_record, 'source' => get_input_value('_source', RCUBE_INPUT_GPC))); $a_record = $plugin['record']; - if (!$plugin['abort'] && $CONTACTS->update($cid, $a_record)) + if (!$plugin['abort'] && ($result = $CONTACTS->update($cid, $a_record))) { + // LDAP DN change + if (is_string($result) && strlen($result)>1) { + $newcid = $result; + // change cid in POST for 'show' action + $_POST['_cid'] = $newcid; + } + // define list of cols to be displayed $a_js_cols = array(); - $record = $CONTACTS->get_record($cid, true); + $record = $CONTACTS->get_record($newcid ? $newcid : $cid, true); foreach (array('name', 'email') as $col) $a_js_cols[] = (string)$record[$col]; // update the changed col in list - $OUTPUT->command('parent.update_contact_row', $cid, $a_js_cols); + $OUTPUT->command('parent.update_contact_row', $cid, $a_js_cols, $newcid); // show confirmation $OUTPUT->show_message('successfullysaved', 'confirmation', null, false); @@ -86,7 +94,7 @@ { // check for existing contacts $existing = $CONTACTS->search('email', $a_record['email'], true, false); - + // show warning message if ($existing->count) { @@ -95,7 +103,7 @@ return; } - $plugin = $RCMAIL->plugins->exec_hook('create_contact', array('record' => $a_record, 'source' => get_input_value('_source', RCUBE_INPUT_GPC))); + $plugin = $RCMAIL->plugins->exec_hook('contact_create', array('record' => $a_record, 'source' => get_input_value('_source', RCUBE_INPUT_GPC))); $a_record = $plugin['record']; // insert record and send response @@ -114,8 +122,7 @@ // show confirmation $OUTPUT->show_message('successfullysaved', 'confirmation', null, false); - rcmail_overwrite_action('show'); - $_GET['_cid'] = $insert_id; + $OUTPUT->send('iframe'); } else { @@ -125,4 +132,4 @@ } } -?> + -- Gitblit v1.9.1