alecpl
2012-04-13 0c259682f65eaaf23ea4ccb56a706d6baf3007e4
program/steps/addressbook/func.inc
@@ -5,7 +5,7 @@
 | program/steps/addressbook/func.inc                                    |
 |                                                                       |
 | This file is part of the Roundcube Webmail client                     |
 | Copyright (C) 2005-2007, The Roundcube Dev Team                       |
 | Copyright (C) 2005-2012, The Roundcube Dev Team                       |
 |                                                                       |
 | Licensed under the GNU General Public License version 3 or            |
 | any later version with exceptions for skins & plugins.                |
@@ -203,7 +203,7 @@
            'rel' => '%s',
            'onclick' => "return ".JS_OBJECT_NAME.".command('list','%s',this)"), '%s'));
    $sources = (array) $OUTPUT->env['address_sources'];
    $sources = (array) $OUTPUT->get_env('address_sources');
    reset($sources);
    // currently selected source
@@ -339,6 +339,7 @@
    while ($row = $result->next()) {
        $a_row_cols = array();
        $classes = array('person');  // org records will follow some day
        // build contact ID with source ID
        if (isset($row['sourceid'])) {
@@ -351,7 +352,10 @@
            $a_row_cols[$col] = Q($val);
        }
        $OUTPUT->command($prefix.'add_contact_row', $row['ID'], $a_row_cols);
        if ($row['readonly'])
            $classes[] = 'readonly';
        $OUTPUT->command($prefix.'add_contact_row', $row['ID'], $a_row_cols, join(' ', $classes));
    }
}
@@ -616,10 +620,11 @@
                        if ($colprop['subtypes'] || $colprop['limit'] != 1)
                            $colprop['array'] = true;
                        // load jquery UI datepickert for date fields
                        // load jquery UI datepicker for date fields
                        if ($colprop['type'] == 'date') {
                            $colprop['class'] .= ($colprop['class'] ? ' ' : '') . 'datepicker';
                            $val = rcmail_format_date_col($val);
                            if (!$colprop['render_func'])
                                $val = rcmail_format_date_col($val);
                        }
                        $val = rcmail_get_edit_field($col, $val, $colprop, $colprop['type']);
@@ -664,7 +669,7 @@
                }
            }
            if (!$content)
            if (!$content && (!$edit_mode || !$select_add->_count))
                continue;
            // also render add-field selector
@@ -729,6 +734,24 @@
}
function rcmail_contact_key($row, $sort_col)
{
    $key = $row[$sort_col] . ':' . $row['sourceid'];
    // add email to a key to not skip contacts with the same name (#1488375)
    if (!empty($row['email'])) {
         if (is_array($row['email'])) {
             $key .= ':' . implode(':', $row['email']);
         }
         else {
             $key .= ':' . $row['email'];
         }
     }
     return $key;
}
/**
 * Returns contact ID(s) and source(s) from GET/POST data
 *