mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-23 00:13:35 +01:00
New options for exporting categories: New field for each category, new field for main categories
New options for multi-select custom fields: new field for each option
This commit is contained in:
parent
99861c8774
commit
a9d2259339
@ -8,7 +8,7 @@
|
||||
* @link http://www.egroupware.org
|
||||
* @author Cornelius Weiss <nelius@cwtech.de>
|
||||
* @copyright Cornelius Weiss <nelius@cwtech.de>
|
||||
* @version $Id: $
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -23,6 +23,14 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
'select-cat' => array('cat_id'),
|
||||
);
|
||||
|
||||
/**
|
||||
* Constants used for exploding categories & multi-selectboxes into seperate fields
|
||||
*/
|
||||
const NO_EXPLODE = False;
|
||||
const MAIN_CATS = 'main_cats'; // Only the top-level categories get their own field
|
||||
const EACH_CAT = 'each_cat'; // Every category gets its own field
|
||||
const EXPLODE = 'explode'; // For [custom] multi-selects, each option gets its own field
|
||||
|
||||
/**
|
||||
* Exports records as defined in $_definition
|
||||
*
|
||||
@ -46,6 +54,92 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
$selection = explode(',',$options['selection']);
|
||||
}
|
||||
|
||||
if($options['explode_multiselects']) {
|
||||
$customfields = config::get_customfields('addressbook');
|
||||
$additional_fields = array();
|
||||
$cat_obj = new categories('', 'addressbook');
|
||||
foreach($options['explode_multiselects'] as $field => $explode) {
|
||||
switch($explode['explode']) {
|
||||
case self::MAIN_CATS:
|
||||
$cats = $cat_obj->return_array('mains', 0, false);
|
||||
foreach($cats as $settings) {
|
||||
$additional_fields[$field][$settings['id']] = array(
|
||||
'count' => 0,
|
||||
'label' => $settings['name'],
|
||||
'subs' => array(),
|
||||
);
|
||||
$subs = $cat_obj->return_array('subs', 0, false, '', 'ASC','', True, $settings['id']);
|
||||
foreach($subs as $sub) {
|
||||
$additional_fields[$field][$settings['id']]['subs'][$sub['id']] = $sub['name'];
|
||||
}
|
||||
}
|
||||
break;
|
||||
case self::EACH_CAT:
|
||||
$cats = $cat_obj->return_array('all', 0, false);
|
||||
foreach($cats as $settings) {
|
||||
$additional_fields[$field][$settings['id']] = array(
|
||||
'count' => 0,
|
||||
'label' => $settings['name']
|
||||
);
|
||||
}
|
||||
break;
|
||||
case self::EXPLODE:
|
||||
// Only works for custom fields
|
||||
$index = substr($field, 1);
|
||||
foreach($customfields[$index]['values'] as $key => $value) {
|
||||
$additional_fields[$field][$key] = array(
|
||||
'count' => 0,
|
||||
'label' => $customfields[$index]['label'] . ': ' . $value,
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check records to see if additional fields are acutally used
|
||||
foreach ($selection as $identifier) {
|
||||
$contact = new addressbook_egw_record($identifier);
|
||||
foreach($additional_fields as $field => &$values) {
|
||||
if(!$contact->$field) continue;
|
||||
foreach($values as $value => &$settings) {
|
||||
if(!is_array($contact->$field)) {
|
||||
$contact->$field = explode(',', $contact->$field);
|
||||
}
|
||||
if(is_array($contact->$field) && in_array($value, $contact->$field)) {
|
||||
$settings['count']++;
|
||||
} elseif($contact->$field == $value) {
|
||||
$settings['count']++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unset($field);
|
||||
unset($value);
|
||||
unset($settings);
|
||||
|
||||
// Add additional columns
|
||||
foreach($additional_fields as $field => $additional_values) {
|
||||
// Remove original
|
||||
unset($options['mapping'][$field]);
|
||||
// Add exploded
|
||||
$field_count = 0;
|
||||
foreach($additional_values as $value => $settings) {
|
||||
if($settings['count'] > 0) {
|
||||
$field_count += $settings['count'];
|
||||
$options['mapping'][$field.'-'.$value] = $settings['label'];
|
||||
}
|
||||
}
|
||||
if($field_count > 0) {
|
||||
// Set some options for converting
|
||||
$options['explode_multiselects'][$field]['values'] = $additional_values;
|
||||
} else {
|
||||
// Don't need this anymore
|
||||
unset($options['explode_multiselects'][$field]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$export_object = new importexport_export_csv($_stream, (array)$options);
|
||||
$export_object->set_mapping($options['mapping']);
|
||||
|
||||
@ -54,8 +148,8 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
foreach ($selection as $identifier) {
|
||||
$contact = new addressbook_egw_record($identifier);
|
||||
// Some conversion
|
||||
$this->convert($contact, $options);
|
||||
importexport_export_csv::convert($contact, self::$types, 'addressbook');
|
||||
$this->convert($contact);
|
||||
$export_object->export_record($contact);
|
||||
unset($contact);
|
||||
}
|
||||
@ -115,11 +209,38 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
*
|
||||
* Dates, times, user IDs, category IDs
|
||||
*/
|
||||
public static function convert(addressbook_egw_record &$record) {
|
||||
public static function convert(addressbook_egw_record &$record, $options) {
|
||||
|
||||
if ($record->tel_prefer) {
|
||||
$field = $record->tel_prefer;
|
||||
$record->tel_prefer = $record->$field;
|
||||
}
|
||||
|
||||
foreach((array)$options['explode_multiselects'] as $field => $explode_settings) {
|
||||
if(!is_array($record->$field)) $record->$field = explode(',', $record->$field);
|
||||
foreach($explode_settings['values'] as $value => $settings) {
|
||||
$field_name = "$field-$value";
|
||||
$record->$field_name = array();
|
||||
if(is_array($record->$field) && in_array($value, $record->$field) || $record->$field == $value) {
|
||||
if($explode_settings['explode'] != self::MAIN_CATS) {
|
||||
$record->$field_name = lang('Yes');
|
||||
} else {
|
||||
// 3 part assign due to magic get method
|
||||
$record_value = $record->$field_name;
|
||||
$record_value[] = $settings['label'];
|
||||
$record->$field_name = $record_value;
|
||||
}
|
||||
}
|
||||
if($explode_settings['explode'] == self::MAIN_CATS && count(array_intersect($record->$field, array_keys($settings['subs'])))) {
|
||||
// 3 part assign due to magic get method
|
||||
$record_value = $record->$field_name;
|
||||
foreach(array_intersect($record->$field, array_keys($settings['subs'])) as $sub_id) {
|
||||
$record_value[] = $settings['subs'][$sub_id];
|
||||
}
|
||||
$record->$field_name = $record_value;
|
||||
}
|
||||
if(is_array($record->$field_name)) $record->$field_name = implode(', ', $record->$field_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,10 @@ class addressbook_wizard_export_contacts_csv extends importexport_wizard_basic_e
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
|
||||
$this->steps['wizard_step50'] = lang('Choose export options');
|
||||
$this->step_templates['wizard_step50'] = 'addressbook.export_explode_fields';
|
||||
|
||||
// Field mapping
|
||||
$bocontacts = new addressbook_bo();
|
||||
$this->export_fields = $bocontacts->contact_fields;
|
||||
@ -21,4 +25,92 @@ class addressbook_wizard_export_contacts_csv extends importexport_wizard_basic_e
|
||||
}
|
||||
unset($this->export_fields['jpegphoto']); // can't cvs export that
|
||||
}
|
||||
|
||||
/**
|
||||
* Choose how to export multi-selects (includes categories)
|
||||
*/
|
||||
function wizard_step50(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log(get_class($this) . '::wizard_step50->$content '.print_r($content,true));
|
||||
// return from step50
|
||||
if ($content['step'] == 'wizard_step50')
|
||||
{
|
||||
if($content['explode_multiselects']) {
|
||||
$explodes = $content['explode_multiselects'];
|
||||
$content['explode_multiselects'] = array();
|
||||
foreach($explodes as $row => $settings) {
|
||||
if($settings['explode'] != addressbook_export_contacts_csv::NO_EXPLODE) {
|
||||
$content['explode_multiselects'][$settings['field']] = $settings;
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizard_finish';
|
||||
default :
|
||||
return $this->wizard_step50($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step50
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizard_step50'];
|
||||
$content['step'] = 'wizard_step50';
|
||||
unset ($preserv['button']);
|
||||
$field_list = array();
|
||||
|
||||
// Category gets special handling
|
||||
if(in_array('cat_id', array_keys($content['mapping']))) {
|
||||
$field_list['cat_id'] = $this->export_fields['cat_id'];
|
||||
}
|
||||
|
||||
// Add any multi-select custom fields
|
||||
$custom = config::get_customfields('addressbook');
|
||||
foreach($custom as $name => $c_field) {
|
||||
if($c_field['type'] = 'select' && $c_field['rows'] > 1 && in_array('#'.$name, array_keys($content['mapping']))) {
|
||||
$field_list['#'.$name] = $c_field['label'];
|
||||
}
|
||||
}
|
||||
|
||||
$settings = $content['explode_multiselects'] ? $content['explode_multiselects'] : $content['plugin_options']['explode_multiselects'];
|
||||
|
||||
// Skip this step if no fields applicable
|
||||
if(count($field_list) == 0) {
|
||||
$content['explode_multiselects'] = array();
|
||||
}
|
||||
|
||||
$cat_options = array(
|
||||
addressbook_export_contacts_csv::NO_EXPLODE => lang('All in one field'),
|
||||
addressbook_export_contacts_csv::MAIN_CATS => lang('Main categories in their own field'),
|
||||
addressbook_export_contacts_csv::EACH_CAT => lang('Each category in its own field'),
|
||||
);
|
||||
$multi_options = array(
|
||||
addressbook_export_contacts_csv::NO_EXPLODE => lang('All in one field'),
|
||||
addressbook_export_contacts_csv::EXPLODE => lang('Each option in its own field'),
|
||||
);
|
||||
|
||||
$row = 1;
|
||||
foreach($field_list as $field => $name) {
|
||||
$content['explode_multiselects'][$row] = array(
|
||||
'field' => $field,
|
||||
'name' => $name,
|
||||
'explode'=> $settings[$field]
|
||||
);
|
||||
if($field == 'cat_id') {
|
||||
$sel_options[$row] = $cat_options;
|
||||
} else {
|
||||
$sel_options[$row] = $multi_options;
|
||||
}
|
||||
$row++;
|
||||
}
|
||||
$preserv = $content;
|
||||
//_debug_array($content['explode_multiselects']);
|
||||
return $this->step_templates[$content['step']];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* eGroupWare - eTemplates for Application addressbook
|
||||
* http://www.egroupware.org
|
||||
* generated by soetemplate::dump4setup() 2010-10-12 16:05
|
||||
* generated by soetemplate::dump4setup() 2010-11-09 10:33
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package addressbook
|
||||
@ -64,10 +64,12 @@ $templ_data[] = array('name' => 'addressbook.email.left','template' => '','lang'
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.email.rows','template' => '','lang' => '','group' => '0','version' => '1.7.004','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:17:",!@order=n_family";s:1:"B";s:16:",!@order=n_given";s:1:"E";s:32:",!@order=/^(org_name|n_fileas)$/";}i:1;a:8:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"n_given";s:5:"label";s:9:"Firstname";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:8:"n_family";}}s:1:"C";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:8:"n_family";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"n_given";s:5:"label";s:9:"Firstname";}}s:1:"D";a:3:{s:4:"name";s:8:"org_name";s:5:"label";s:7:"Company";s:4:"type";s:20:"nextmatch-sortheader";}s:1:"E";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:8:"n_family";}i:2;a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"n_given";s:5:"label";s:9:"Firstname";s:4:"span";s:9:",leftPad5";}}s:1:"F";a:3:{s:4:"type";s:5:"label";s:5:"label";s:14:"Business email";s:4:"name";s:5:"email";}s:1:"G";a:3:{s:4:"type";s:5:"label";s:4:"name";s:10:"email_home";s:5:"label";s:10:"Home email";}s:1:"H";a:6:{s:4:"type";s:4:"hbox";s:5:"align";s:6:"center";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:5:"align";s:6:"center";}i:2;a:8:{s:4:"type";s:6:"button";s:4:"size";s:5:"check";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:60:"toggle_all(this.form,form::name(\'checked[]\')); return false;";s:6:"needed";s:1:"1";s:5:"align";s:5:"right";}s:4:"span";s:8:",noPrint";}}i:2;a:8:{s:1:"A";a:5:{s:4:"type";s:5:"image";s:5:"label";s:21:"$row_cont[type_label]";s:4:"name";s:12:"${row}[type]";s:5:"align";s:6:"center";s:7:"no_lang";s:1:"1";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[n_given]";s:5:"label";s:1:" ";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[n_family]";s:4:"span";s:9:",leftPad5";}}s:1:"C";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:7:"2,0,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[n_family]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[n_given]";s:4:"span";s:9:",leftPad5";s:5:"label";s:1:" ";s:7:"no_lang";s:1:"1";}}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[org_name]";s:7:"no_lang";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[n_family]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[n_given]";s:4:"span";s:9:",leftPad5";s:5:"label";s:1:" ";s:7:"no_lang";s:1:"1";}}s:1:"F";a:5:{s:4:"type";s:3:"box";s:4:"size";s:6:"1,,0,0";s:7:"no_lang";s:1:"1";s:4:"span";s:9:",emailCol";i:1;a:4:{s:4:"type";s:5:"label";s:4:"size";s:86:",javascript:addEmail(\'$row_cont[n_fn] <$row_cont[email]>\');,,,,,$row_cont[email]";s:4:"name";s:13:"${row}[email]";s:7:"no_lang";s:1:"1";}}s:1:"G";a:5:{s:4:"type";s:3:"box";s:4:"size";s:6:"1,,0,0";s:7:"no_lang";s:1:"1";s:4:"span";s:9:",emailCol";i:1;a:4:{s:4:"type";s:5:"label";s:4:"size";s:96:",javascript:addEmail(\'$row_cont[n_fn] <$row_cont[email_home]>\');,,,,,$row_cont[email_home]";s:4:"name";s:18:"${row}[email_home]";s:7:"no_lang";s:1:"1";}}s:1:"H";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"3,0,0";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:7:"onclick";s:193:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.addressbook_ui.edit&contact_id=$row_cont[id]\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";s:4:"name";s:19:"edit[$row_cont[id]]";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"name";s:21:"delete[$row_cont[id]]";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:19:"Delete this contact";s:7:"onclick";s:38:"return confirm(\'Delete this contact\');";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:9:"checked[]";s:4:"size";s:13:"$row_cont[id]";s:4:"help";s:45:"Select multiple contacts for a further action";s:5:"align";s:5:"right";}s:4:"span";s:8:",noPrint";}}}s:4:"rows";i:2;s:4:"cols";i:8;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1264155025',);
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.export_csv_options','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Seperator";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"size";s:1:"1";s:4:"name";s:9:"seperator";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Enclosure";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"size";s:1:"1";s:4:"name";s:9:"enclosure";}}}s:4:"rows";i:2;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1160148382',);
|
||||
$templ_data[] = array('name' => 'addressbook.export_csv_options','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:1:"B";s:5:"180px";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Fieldseperator";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:7:"no_lang";s:1:"1";s:4:"name";s:9:"delimiter";s:4:"size";s:1:"1";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Include header";}s:1:"B";a:2:{s:4:"type";s:11:"select-bool";s:4:"name";s:21:"begin_with_fieldnames";}}}s:4:"rows";i:3;s:4:"cols";i:2;}}','size' => '','style' => '.width180 select { width:150px;}','modified' => '1286490285',);
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.export_csv_selectors','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"radio";s:5:"label";s:7:"Use all";s:4:"size";s:12:"all_contacts";s:4:"name";s:9:"selection";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"radio";s:5:"label";s:18:"Use search results";s:4:"name";s:9:"selection";s:4:"size";s:7:"use_all";}}}s:4:"rows";i:2;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1268429802',);
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.export_explode_fields','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:2:{s:2:"h2";s:23:",!@explode_multiselects";s:2:"h3";s:22:",@explode_multiselects";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:24:"List as seperate columns";}}i:2;a:1:{s:1:"A";a:7:{s:4:"type";s:4:"grid";s:4:"size";s:4:"100%";s:4:"name";s:20:"explode_multiselects";s:4:"data";a:3:{i:0;a:1:{s:2:"c1";s:2:"th";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Field";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Style";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:12:"${row}[name]";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:15:"${row}[explode]";}}}s:4:"rows";i:2;s:4:"cols";i:2;s:7:"options";a:1:{i:0;s:4:"100%";}}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:43:"No multi-select columns selected for export";}}}s:4:"rows";i:3;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1289253873',);
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.importexport_wizard_chooseowner','template' => '','lang' => '','group' => '0','version' => '0.0.1','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:1:{s:2:"h2";s:14:",@no_owner_map";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"checkbox";s:5:"label";s:30:"Use field from CSV if possible";s:4:"name";s:14:"owner_from_csv";}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:6:"select";s:4:"name";s:13:"contact_owner";s:4:"size";s:4:"None";}}i:4;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}i:5;a:1:{s:1:"A";a:3:{s:4:"type";s:11:"select-bool";s:5:"label";s:32:"Change addressbook when updating";s:4:"name";s:12:"change_owner";}}}s:4:"rows";i:5;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1268327427',);
|
||||
|
||||
$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:22:"addressbook.index.left";}s:1:"B";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:27:"addressbook.index.right_add";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:22:"addressbook.index.rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"name";s:3:"add";s:5:"label";s:3:"Add";s:4:"help";s:17:"Add a new contact";s:7:"onclick";s:168:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.addressbook_ui.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"use_all";s:5:"label";s:11:"whole query";s:8:"onchange";s:126:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown contacts!!!\')) this.checked=false;";s:4:"help";s:67:"Apply the action on the whole query, NOT only the shown contacts!!!";}i:2;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:16:"do_action(this);";s:4:"size";s:45:"Select an action or addressbook to move to...";s:7:"no_lang";s:1:"1";s:4:"name";s:6:"action";s:4:"help";s:42:"Select an action or addressbook to move to";}i:3;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:70:"toggle_all(this.form,form::name(\'nm[rows][checked][]\')); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1243585623',);
|
||||
|
Loading…
Reference in New Issue
Block a user