gXbfB#) ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_II4&D.5;Aϳކ:}Wۻp%7ޔ_#5L@?ss\,fa\eChɛ+MMX,-\_[6Eq_uC^avh ->]+/Wg׿>|"d2D^1=]mwgFN5K]OElf5F \wgFN5K]OwgFN5K]OwgFN5K]O[_׮|S 6 iS&XVŰįwgFN5K]OwgFN5K]OwgFN5K]OWxjZ1q\ B%9T'jvBwgFN5K]OwgFN5K]OQ+RŞԲ&M.x ۻbis_IIߪ ۻbis_IIߪ ۻbis_II߄}BkH1r:ՅimcKl- [2 71|0 gΛi,VJQh4 0j͎Ը$3A@(>5 F:9ړm,.}xxS\Ԕrő`$Ip-̣(6^N\ֳ Ԧ8!uJ ]9{f;lHkHH=_/h *IOkD;.蛚.27AD~e?[Kh2l9&bO=6'K1 ޯ% ~2J=$hYڗ Xu!Z|Fʝ!:ܱAfg>AAIWj2øν4B=5vT\aqͱQIP= d5Afg>AAIwGRROD<[ Wt4B=5vT\aq?nXm&9_v;FS/u %Omc:2ÃGQ]+> iej'o܌ Ex1SIIS@]}S}75[bPb۽ Q|LW6?WBZ,Tݼ+|} ND*B/_kcVkX [\hl5 ^}d*5ʶݰT]92ӊb~+QZǕSM4Twߕ~0;VGrQpFZ]|W[tӣb^(_gdڹʴm&'xQ@IfQ-sMNϛEL&;-B+(YcI0:lA~7Y`ͤ ^sâc 'uB| q:5)pOSʥ%‹zEkQ7Ks+wgFN5K]O"ʍ'Imۙ ۄW(/U +!QVо(i/H9Ak`窵/M.1 8F:Myҽ`>ޯ%!e3F *C~kW7V\Ll.`ϱ63+:5+QNAϥ ] D%7w80bYpn2U1Q23Awߕ~0yR#ʕyoT>1!{pswgFN5K]O8H3లAmacu"]H9TsIBU[ ;j3ْ9W\.}u(P,r'T_j)mJ:lA~7Y`ͤ ^sâcaYuC/k)J;Z(6NW?GzEkQ7Ks+wgFN5K]O|sSoS&|}ۙ ۄW(/U +!QV/n)EW.T+ʎ`!:L!D?~f :mN:aEI?H갅)AR(rP?:qjߏ떮OA^FӠ8Mjt[3 [{8T]LX껾c C~#`vc function contact_details($attrib) { $rcmail = rcmail::get_instance(); // check if we have a valid result if (!self::$contact) { return false; } $i_size = !empty($attrib['size']) ? $attrib['size'] : 40; $short_labels = self::get_bool_attr($attrib, 'short-legend-labels'); $form = [ 'contact' => [ 'name' => $rcmail->gettext('properties'), 'content' => [ 'email' => ['size' => $i_size, 'render_func' => 'rcmail_action_contacts_show::render_email_value'], 'phone' => ['size' => $i_size, 'render_func' => 'rcmail_action_contacts_show::render_phone_value'], 'address' => [], 'website' => ['size' => $i_size, 'render_func' => 'rcmail_action_contacts_show::render_url_value'], 'im' => ['size' => $i_size], ], ], 'personal' => [ 'name' => $rcmail->gettext($short_labels ? 'personal' : 'personalinfo'), 'content' => [ 'gender' => ['size' => $i_size], 'maidenname' => ['size' => $i_size], 'birthday' => ['size' => $i_size], 'anniversary' => ['size' => $i_size], 'manager' => ['size' => $i_size], 'assistant' => ['size' => $i_size], 'spouse' => ['size' => $i_size], ], ], ]; if (isset(rcmail_action_contacts_index::$CONTACT_COLTYPES['notes'])) { $form['notes'] = [ 'name' => $rcmail->gettext('notes'), 'content' => [ 'notes' => ['type' => 'textarea', 'label' => false], ], ]; } if (self::$CONTACTS->groups) { $form['groups'] = [ 'name' => $rcmail->gettext('groups'), 'content' => self::contact_record_groups(self::$contact['ID']), ]; } return self::contact_form($form, self::$contact, $attrib); } public static function render_email_value($email) { $rcmail = rcmail::get_instance(); return html::a([ 'href' => 'mailto:' . $email, 'onclick' => sprintf( "return %s.command('compose','%s',this)", rcmail_output::JS_OBJECT_NAME, rcube::JQ($email) ), 'title' => $rcmail->gettext('composeto'), 'class' => 'email', ], rcube::Q($email) ); } public static function render_phone_value($phone) { $attrs = [ 'href' => 'tel:' . preg_replace('/[^0-9+,;-]/', '', $phone), 'class' => 'phone', ]; return html::a($attrs, rcube::Q($phone)); } public static function render_url_value($url) { $prefix = preg_match('!^(http|ftp)s?://!', $url) ? '' : 'http://'; return html::a([ 'href' => $prefix . $url, 'target' => '_blank', 'class' => 'url', ], rcube::Q($url) ); } public static function contact_record_groups($contact_id) { $groups = self::$CONTACTS->list_groups(); if (empty($groups)) { return ''; } $rcmail = rcmail::get_instance(); $source = rcube_utils::get_input_string('_source', rcube_utils::INPUT_GPC); $members = self::$CONTACTS->get_record_groups($contact_id); $table = new html_table(['tagname' => 'ul', 'cols' => 1, 'class' => 'proplist simplelist']); $checkbox = new html_checkbox(['name' => '_gid[]', 'class' => 'groupmember', 'disabled' => self::$CONTACTS->readonly]); foreach ($groups as $group) { $gid = $group['ID']; $input = $checkbox->show(!empty($members[$gid]) ? $gid : null, ['value' => $gid]); $table->add(null, html::label(null, $input . rcube::Q($group['name']))); } $hiddenfields = new html_hiddenfield(['name' => '_source', 'value' => $source]); $hiddenfields->add(['name' => '_cid', 'value' => $contact_id]); $form_attrs = [ 'name' => 'form', 'method' => 'post', 'task' => $rcmail->task, 'action' => 'save', 'request' => 'save.' . intval($contact_id), 'noclose' => true, ]; $form_start = $rcmail->output->request_form($form_attrs, $hiddenfields->show()); $form_end = ''; $rcmail->output->add_gui_object('editform', 'form'); $rcmail->output->add_label('addingmember', 'removingmember'); return $form_start . html::tag('fieldset', 'contactfieldgroup contactgroups', $table->show()) . $form_end; } }