diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-08-29 18:41:17 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-08-29 18:41:17 +0000 |
| commit | e6acc84d685860d9e2345af3a07cda2074d92fe8 (patch) | |
| tree | df40259f62f48e60c6b75cc6bc58e12c9448854d /roundcubemail/program/steps | |
| parent | bbe73e1571d7d0a98c9814cbbd4779f0614fab95 (diff) | |
- Fix LDAP contact update when RDN field is changed (#1485788)
git-svn-id: https://svn.roundcube.net/trunk@2889 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps')
| -rw-r--r-- | roundcubemail/program/steps/addressbook/save.inc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/roundcubemail/program/steps/addressbook/save.inc b/roundcubemail/program/steps/addressbook/save.inc index 639e0f2d1..b28294eea 100644 --- a/roundcubemail/program/steps/addressbook/save.inc +++ b/roundcubemail/program/steps/addressbook/save.inc @@ -57,17 +57,24 @@ if (!empty($cid)) $plugin = $RCMAIL->plugins->exec_hook('save_contact', 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); |
