| | |
| | | 'name' => array('type' => 'text', 'size' => 40, 'maxlength' => 50, 'limit' => 1, 'label' => rcube_label('name'), 'category' => 'main'), |
| | | 'firstname' => array('type' => 'text', 'size' => 19, 'maxlength' => 50, 'limit' => 1, 'label' => rcube_label('firstname'), 'category' => 'main'), |
| | | 'surname' => array('type' => 'text', 'size' => 19, 'maxlength' => 50, 'limit' => 1, 'label' => rcube_label('surname'), 'category' => 'main'), |
| | | 'email' => array('type' => 'text', 'size' => 40, 'maxlength' => 50, 'label' => rcube_label('email'), 'subtypes' => array('home','work','other'), 'category' => 'main'), |
| | | 'email' => array('type' => 'text', 'size' => 40, 'maxlength' => 254, 'label' => rcube_label('email'), 'subtypes' => array('home','work','other'), 'category' => 'main'), |
| | | 'middlename' => array('type' => 'text', 'size' => 19, 'maxlength' => 50, 'limit' => 1, 'label' => rcube_label('middlename'), 'category' => 'main'), |
| | | 'prefix' => array('type' => 'text', 'size' => 8, 'maxlength' => 20, 'limit' => 1, 'label' => rcube_label('nameprefix'), 'category' => 'main'), |
| | | 'suffix' => array('type' => 'text', 'size' => 8, 'maxlength' => 20, 'limit' => 1, 'label' => rcube_label('namesuffix'), 'category' => 'main'), |
| | |
| | | { |
| | | global $RCMAIL; |
| | | |
| | | $groups_html = ''; |
| | | $groups = $RCMAIL->get_address_book($args['source'])->list_groups(); |
| | | $js_id = $RCMAIL->JQ($args['source']); |
| | | |
| | |
| | | $args['out'] .= html::div('treetoggle ' . ($is_collapsed ? 'collapsed' : 'expanded'), ' '); |
| | | |
| | | $jsdata = array(); |
| | | $groups_html = ''; |
| | | foreach ($groups as $group) { |
| | | $groups_html .= sprintf($line_templ, |
| | | rcube_utils::html_identifier('G' . $args['source'] . $group['ID'], true), |
| | |
| | | return array(); |
| | | } |
| | | |
| | | $cid = explode(',', $cid); |
| | | $result = array(); |
| | | $cid = explode(',', $cid); |
| | | $got_source = strlen($source); |
| | | $result = array(); |
| | | |
| | | // create per-source contact IDs array |
| | | foreach ($cid as $id) { |
| | | // get source from decoded ID |
| | | if ($sep = strrpos($id, '-')) { |
| | | $contact_id = substr($id, 0, $sep); |
| | | $source_id = substr($id, $sep+1); |
| | | if (strlen($source_id)) { |
| | | $result[(string)$source_id][] = $contact_id; |
| | | // extract source ID from contact ID (it's there in search mode) |
| | | // see #1488959 and #1488862 for reference |
| | | if (!$got_source) { |
| | | if ($sep = strrpos($id, '-')) { |
| | | $contact_id = substr($id, 0, $sep); |
| | | $source_id = (string) substr($id, $sep+1); |
| | | if (strlen($source_id)) { |
| | | $result[$source_id][] = $contact_id; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | if (substr($id, -($got_source+1)) == "-$source") { |
| | | $id = substr($id, 0, -($got_source+1)); |
| | | } |
| | | $result[$source][] = $id; |
| | | } |
| | | } |