|
|
|
@ -62,36 +62,36 @@ if (!$OUTPUT->ajax_call) {
|
|
|
|
|
|
|
|
|
|
// general definition of contact coltypes
|
|
|
|
|
$CONTACT_COLTYPES = array(
|
|
|
|
|
'name' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('name')),
|
|
|
|
|
'firstname' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('firstname')),
|
|
|
|
|
'surname' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('surname')),
|
|
|
|
|
'middlename' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('middlename')),
|
|
|
|
|
'prefix' => array('type' => 'text', 'size' => 8, 'limit' => 1, 'label' => rcube_label('nameprefix')),
|
|
|
|
|
'suffix' => array('type' => 'text', 'size' => 8, 'limit' => 1, 'label' => rcube_label('namesuffix')),
|
|
|
|
|
'nickname' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('nickname')),
|
|
|
|
|
'jobtitle' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('jobtitle')),
|
|
|
|
|
'organization' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('organization')),
|
|
|
|
|
'department' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('department')),
|
|
|
|
|
'gender' => array('type' => 'select', 'limit' => 1, 'label' => rcube_label('gender'), 'options' => array('male' => rcube_label('male'), 'female' => rcube_label('female'))),
|
|
|
|
|
'maidenname' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('maidenname')),
|
|
|
|
|
'email' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('email'), 'subtypes' => array('home','work','other')),
|
|
|
|
|
'phone' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('phone'), 'subtypes' => array('home','home2','work','work2','mobile','main','homefax','workfax','car','pager','video','assistant','other')),
|
|
|
|
|
'name' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('name'), 'category' => 'main'),
|
|
|
|
|
'firstname' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('firstname'), 'category' => 'main'),
|
|
|
|
|
'surname' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('surname'), 'category' => 'main'),
|
|
|
|
|
'email' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('email'), 'subtypes' => array('home','work','other'), 'category' => 'main'),
|
|
|
|
|
'middlename' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('middlename'), 'category' => 'main'),
|
|
|
|
|
'prefix' => array('type' => 'text', 'size' => 8, 'limit' => 1, 'label' => rcube_label('nameprefix'), 'category' => 'main'),
|
|
|
|
|
'suffix' => array('type' => 'text', 'size' => 8, 'limit' => 1, 'label' => rcube_label('namesuffix'), 'category' => 'main'),
|
|
|
|
|
'nickname' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('nickname'), 'category' => 'main'),
|
|
|
|
|
'jobtitle' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('jobtitle'), 'category' => 'main'),
|
|
|
|
|
'organization' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('organization'), 'category' => 'main'),
|
|
|
|
|
'department' => array('type' => 'text', 'size' => 19, 'limit' => 1, 'label' => rcube_label('department'), 'category' => 'main'),
|
|
|
|
|
'gender' => array('type' => 'select', 'limit' => 1, 'label' => rcube_label('gender'), 'options' => array('male' => rcube_label('male'), 'female' => rcube_label('female')), 'category' => 'personal'),
|
|
|
|
|
'maidenname' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('maidenname'), 'category' => 'personal'),
|
|
|
|
|
'phone' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('phone'), 'subtypes' => array('home','home2','work','work2','mobile','main','homefax','workfax','car','pager','video','assistant','other'), 'category' => 'main'),
|
|
|
|
|
'address' => array('type' => 'composite', 'label' => rcube_label('address'), 'subtypes' => array('home','work','other'), 'childs' => array(
|
|
|
|
|
'street' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('street')),
|
|
|
|
|
'locality' => array('type' => 'text', 'size' => 28, 'label' => rcube_label('locality')),
|
|
|
|
|
'zipcode' => array('type' => 'text', 'size' => 8, 'label' => rcube_label('zipcode')),
|
|
|
|
|
'region' => array('type' => 'text', 'size' => 12, 'label' => rcube_label('region')),
|
|
|
|
|
'country' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('country')),
|
|
|
|
|
)),
|
|
|
|
|
'birthday' => array('type' => 'date', 'size' => 12, 'label' => rcube_label('birthday'), 'limit' => 1, 'render_func' => 'rcmail_format_date_col'),
|
|
|
|
|
'anniversary' => array('type' => 'date', 'size' => 12, 'label' => rcube_label('anniversary'), 'limit' => 1, 'render_func' => 'rcmail_format_date_col'),
|
|
|
|
|
'website' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('website'), 'subtypes' => array('homepage','work','blog','other')),
|
|
|
|
|
'im' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('instantmessenger'), 'subtypes' => array('aim','icq','msn','yahoo','jabber','skype','other')),
|
|
|
|
|
'street' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('street'), 'category' => 'main'),
|
|
|
|
|
'locality' => array('type' => 'text', 'size' => 28, 'label' => rcube_label('locality'), 'category' => 'main'),
|
|
|
|
|
'zipcode' => array('type' => 'text', 'size' => 8, 'label' => rcube_label('zipcode'), 'category' => 'main'),
|
|
|
|
|
'region' => array('type' => 'text', 'size' => 12, 'label' => rcube_label('region'), 'category' => 'main'),
|
|
|
|
|
'country' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('country'), 'category' => 'main'),
|
|
|
|
|
), 'category' => 'main'),
|
|
|
|
|
'birthday' => array('type' => 'date', 'size' => 12, 'label' => rcube_label('birthday'), 'limit' => 1, 'render_func' => 'rcmail_format_date_col', 'category' => 'personal'),
|
|
|
|
|
'anniversary' => array('type' => 'date', 'size' => 12, 'label' => rcube_label('anniversary'), 'limit' => 1, 'render_func' => 'rcmail_format_date_col', 'category' => 'personal'),
|
|
|
|
|
'website' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('website'), 'subtypes' => array('homepage','work','blog','other'), 'category' => 'main'),
|
|
|
|
|
'im' => array('type' => 'text', 'size' => 40, 'label' => rcube_label('instantmessenger'), 'subtypes' => array('aim','icq','msn','yahoo','jabber','skype','other'), 'category' => 'main'),
|
|
|
|
|
'notes' => array('type' => 'textarea', 'size' => 40, 'rows' => 15, 'label' => rcube_label('notes'), 'limit' => 1),
|
|
|
|
|
'photo' => array('type' => 'image', 'limit' => 1),
|
|
|
|
|
'assistant' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('assistant')),
|
|
|
|
|
'manager' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('manager')),
|
|
|
|
|
'spouse' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('spouse')),
|
|
|
|
|
'photo' => array('type' => 'image', 'limit' => 1, 'category' => 'main'),
|
|
|
|
|
'assistant' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('assistant'), 'category' => 'personal'),
|
|
|
|
|
'manager' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('manager'), 'category' => 'personal'),
|
|
|
|
|
'spouse' => array('type' => 'text', 'size' => 40, 'limit' => 1, 'label' => rcube_label('spouse'), 'category' => 'personal'),
|
|
|
|
|
// TODO: define fields for vcards like GEO, KEY
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
@ -225,10 +225,10 @@ function rcmail_js_contacts_list($result, $prefix='')
|
|
|
|
|
|
|
|
|
|
// define list of cols to be displayed
|
|
|
|
|
$a_show_cols = array('name');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while ($row = $result->next()) {
|
|
|
|
|
$a_row_cols = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// format each col
|
|
|
|
|
foreach ($a_show_cols as $col)
|
|
|
|
|
$a_row_cols[$col] = Q($row[$col]);
|
|
|
|
@ -324,7 +324,7 @@ function rcmail_contact_form($form, $record, $attrib = null)
|
|
|
|
|
|
|
|
|
|
// get default coltypes
|
|
|
|
|
$coltypes = $GLOBALS['CONTACT_COLTYPES'];
|
|
|
|
|
$coltype_lables = array();
|
|
|
|
|
$coltype_labels = array();
|
|
|
|
|
|
|
|
|
|
foreach ($coltypes as $col => $prop) {
|
|
|
|
|
if ($prop['subtypes']) {
|
|
|
|
@ -335,7 +335,7 @@ function rcmail_contact_form($form, $record, $attrib = null)
|
|
|
|
|
}
|
|
|
|
|
if ($prop['childs']) {
|
|
|
|
|
foreach ($prop['childs'] as $childcol => $cp)
|
|
|
|
|
$coltype_lables[$childcol] = array('label' => $cp['label']);
|
|
|
|
|
$coltype_labels[$childcol] = array('label' => $cp['label']);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -548,7 +548,7 @@ function rcmail_contact_form($form, $record, $attrib = null)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($edit_mode) {
|
|
|
|
|
$RCMAIL->output->set_env('coltypes', $coltypes + $coltype_lables);
|
|
|
|
|
$RCMAIL->output->set_env('coltypes', $coltypes + $coltype_labels);
|
|
|
|
|
$RCMAIL->output->set_env('delbutton', $del_button);
|
|
|
|
|
$RCMAIL->output->add_label('delete');
|
|
|
|
|
}
|
|
|
|
|