Aleksander Machniak
2016-02-13 a62ff159f0ae72d2794ab538dfc1848bdf5504a4
Performance: Make sure that after contact update we call get_record() only once
2 files modified
11 ■■■■■ changed files
program/steps/addressbook/save.inc 7 ●●●● patch | view | raw | blame | history
program/steps/addressbook/show.inc 4 ●●●● patch | view | raw | blame | history
program/steps/addressbook/save.inc
@@ -164,9 +164,12 @@
            $_POST['_cid'] = $newcid;
        }
        // define list of cols to be displayed
        // refresh contact data for list update and 'show' action
        $CONTACT_RECORD = $CONTACTS->get_record($newcid ?: $cid, true);
        // Update contacts list
        $a_js_cols = array();
        $record = $CONTACTS->get_record($newcid ?: $cid, true);
        $record = $CONTACT_RECORD;
        $record['email'] = reset($CONTACTS->get_col_values('email', $record, true));
        $record['name']  = rcube_addressbook::compose_list_name($record);
program/steps/addressbook/show.inc
@@ -28,8 +28,8 @@
$CONTACTS  = rcmail_contact_source($source, true);
$SOURCE_ID = $source;
// read contact record
if ($cid && ($record = $CONTACTS->get_record($cid, true))) {
// read contact record (or get the one defined in 'save' action)
if ($cid && ($record = ($CONTACT_RECORD ?: $CONTACTS->get_record($cid, true)))) {
    $OUTPUT->set_env('readonly', $CONTACTS->readonly || $record['readonly']);
    $OUTPUT->set_env('cid', $record['ID']);