From 0d1dbaa6e17da79dbcd00b445cff15ed66a917b1 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 25 May 2007 18:20:57 +0000 Subject: [PATCH] some fixes and improvments around the distribution lists: - to, cc, bcc is working again in the email-selection-popup - shortcut to directly add the whole list in the email-popup - error message that a list already exist - javascript only get's loaded if not already loaded - fix for bug #588: content of emailpopup to wide - fix for bug #713: wrong redirect creating distrib.list via popup from fmail --- addressbook/inc/class.socontacts_sql.inc.php | 4 +- addressbook/inc/class.uicontacts.inc.php | 124 +++++++++++++------ addressbook/setup/etemplates.inc.php | 6 +- addressbook/setup/phpgw_de.lang | 1 + addressbook/setup/phpgw_en.lang | 2 + addressbook/templates/default/index.xet | 14 ++- 6 files changed, 100 insertions(+), 51 deletions(-) diff --git a/addressbook/inc/class.socontacts_sql.inc.php b/addressbook/inc/class.socontacts_sql.inc.php index 795afa6cfe..2762fc713c 100644 --- a/addressbook/inc/class.socontacts_sql.inc.php +++ b/addressbook/inc/class.socontacts_sql.inc.php @@ -416,7 +416,7 @@ class socontacts_sql extends so_sql * @param string $name list-name * @param int $owner user- or group-id * @param array $contacts=array() contacts to add - * @return list_id or false on error + * @return int/boolean integer list_id, true if the list already exists or false on error */ function add_list($name,$owner,$contacts=array()) { @@ -427,7 +427,7 @@ class socontacts_sql extends so_sql 'list_owner' => $owner, ),__LINE__,__FILE__) && $this->db->next_record()) { - return $this->db->f('list_id'); // return existing list-id + return true; // return existing list-id } if (!$this->db->insert($this->lists_table,array( 'list_name' => $name, diff --git a/addressbook/inc/class.uicontacts.inc.php b/addressbook/inc/class.uicontacts.inc.php index a337fb7c06..a71ab5a42a 100644 --- a/addressbook/inc/class.uicontacts.inc.php +++ b/addressbook/inc/class.uicontacts.inc.php @@ -80,8 +80,10 @@ class uicontacts extends bocontacts // our javascript // to be moved in a seperate file if rewrite is over - $GLOBALS['egw_info']['flags']['java_script'] .= $this->js(); - + if (strpos($GLOBALS['egw_info']['flags']['java_script'],'add_new_list') === false) + { + $GLOBALS['egw_info']['flags']['java_script'].= $this->js(); + } $this->config =& $GLOBALS['egw_info']['server']; } @@ -140,7 +142,12 @@ class uicontacts extends bocontacts } elseif($_GET['add_list']) { - if (($list = $this->add_list($_GET['add_list'],$_GET['owner']?$_GET['owner']:$this->user))) + $list = $this->add_list($_GET['add_list'],$_GET['owner']?$_GET['owner']:$this->user); + if ($list === true) + { + $msg = lang('List already exists!'); + } + elseif ($list) { $msg = lang('List created'); } @@ -152,6 +159,7 @@ class uicontacts extends bocontacts $preserv = array( 'do_email' => $do_email, ); + $to = $content['nm']['to']; $content = array( 'msg' => $msg ? $msg : $_GET['msg'], ); @@ -180,7 +188,14 @@ class uicontacts extends bocontacts 'do_email' => $do_email, 'default_cols' => '!cat_id,contact_created_contact_modified', 'filter2_onchange' => "if(this.value=='add') { add_new_list(document.getElementById(form::name('filter')).value); this.value='';} else this.form.submit();", + 'manual' => $do_email ? ' ' : false, // space for the manual icon ); + if ($do_email) + { + $content['nm']['filter2_onchange'] = str_replace('this.form.submit();', + "{ if (this.value && confirm('Add business email of whole distribution list?')) add_whole_list(this.value); else this.form.submit(); }", + $content['nm']['filter2_onchange']); + } // use the state of the last session stored in the user prefs if (($state = @unserialize($this->prefs[$do_email ? 'email_state' : 'index_state']))) { @@ -199,6 +214,10 @@ class uicontacts extends bocontacts $content['nm']['to'] = 'to'; $content['nm']['search'] = '@'; } + else + { + $content['nm']['to'] = $to; + } $content['nm']['header_left'] = 'addressbook.email.left'; } // Organisation stuff is not (yet) availible with ldap @@ -215,6 +234,7 @@ class uicontacts extends bocontacts $sel_options['action'] = array(); if ($do_email) { + $GLOBALS['egw_info']['flags']['include_xajax'] = true; $sel_options['action'] = array( 'email' => lang('Add %1',lang('business email')), 'email_home' => lang('Add %1',lang('home email')), @@ -290,53 +310,43 @@ class uicontacts extends bocontacts */ function emailpopup($content=null,$msg=null) { - switch($_POST['exec']['nm']['to']) { - case 'to': - case 'bcc': - case 'cc': - $to = $_POST['exec']['nm']['to']; - break; - default: - $to = 'to'; - } - - if ($_GET['compat']) // 1.2 felamimail or old email + if (strpos($GLOBALS['egw_info']['flags']['java_script'],'addEmail') === false) { - $handler = "if (opener.document.doit[to].value != '') + if ($_GET['compat']) // 1.2 felamimail or old email + { + $handler = "if (opener.document.doit[to].value != '') { opener.document.doit[to].value += ','; } opener.document.doit[to].value += email"; - } - else // 1.3+ felamimail - { - $handler = 'opener.addEmail(to,email)'; - } - - $GLOBALS['egw_info']['flags']['java_script'] .= " + } + else // 1.3+ felamimail + { + $handler = 'opener.addEmail(to,email)'; + } + $GLOBALS['egw_info']['flags']['java_script'].= " "; + } return $this->index($content,$msg,true); } @@ -375,6 +385,34 @@ class uicontacts extends bocontacts )); } + function ajax_add_whole_list($list) + { + $query = $GLOBALS['egw']->session->appsession('email','addressbook'); + $query['filter2'] = (int)$list; + $action_msg = lang('%1 added',lang('Business email')); + $this->action('email',array(),true,$success,$failed,$action_msg,$query,$msg); + + $response =& new xajaxResponse(); + + if ($success) $response->addScript($GLOBALS['egw']->js->body['onLoad']); + + // close window only if no errors AND something added + if ($failed || !$success) + { + if (!$msg) $msg = $failed ? lang('%1 contact(s) %2, %3 failed because of insufficent rights !!!',$success,$action_msg,$failed) : + lang('%1 contact(s) %2',$success,$action_msg); + + $response->addScript("alert('".addslashes($msg)."')"); + // reset the filter + $response->addScript("document.getElementById('exec[nm][filter2]').value='';"); + } + else + { + $response->addScript('window.close();'); + } + return $response->getXML(); + } + /** * apply an action to multiple contacts * @@ -384,7 +422,7 @@ class uicontacts extends bocontacts * @param int &$success number of succeded actions * @param int &$failed number of failed actions (not enought permissions) * @param string &$action_msg translated verb for the actions, to be used in a message like %1 contacts 'deleted' - * @param string $session_name 'index' or 'email' depending if we are in the main list or the popup + * @param string/array $session_name 'index' or 'email', or array with session-data depending if we are in the main list or the popup * @return boolean true if all actions succeded, false otherwise */ function action($action,$checked,$use_all,&$success,&$failed,&$action_msg,$session_name,&$msg) @@ -395,7 +433,7 @@ class uicontacts extends bocontacts if ($use_all || in_array($action,array('remove_from_list','delete_list'))) { // get the whole selection - $query = $GLOBALS['egw']->session->appsession($session_name,'addressbook'); + $query = is_array($session_name) ? $session_name : $GLOBALS['egw']->session->appsession($session_name,'addressbook'); if ($use_all) { @@ -1519,7 +1557,6 @@ $readonlys['button[vcard]'] = true; } $GLOBALS['egw_info']['flags']['include_xajax'] = true; - $GLOBALS['egw_info']['flags']['java_script'] .= $this->js(); $GLOBALS['egw_info']['flags']['java_script'] .= ""; $GLOBALS['egw_info']['etemplate']['advanced_search'] = true; @@ -1681,6 +1718,11 @@ $readonlys['button[vcard]'] = true; xajax_doXMLHTTP("addressbook.uicontacts.ajax_setFileasOptions",prefix,given,middle,family,suffix,org); } + function add_whole_list(list) + { + xajax_doXMLHTTP("addressbook.uicontacts.ajax_add_whole_list",list); + } + function setOptions(options_str) { var options = options_str.split("\\\\b"); @@ -1711,7 +1753,7 @@ $readonlys['button[vcard]'] = true; if (name) { document.location.href = "'.$GLOBALS['egw']->link('/index.php',array( - 'menuaction'=>'addressbook.uicontacts.index', + 'menuaction'=>$_GET['menuaction'],//'addressbook.uicontacts.index', 'add_list'=>'', )).'"+encodeURIComponent(name)+"&owner="+owner; } diff --git a/addressbook/setup/etemplates.inc.php b/addressbook/setup/etemplates.inc.php index 2cb83c7ecd..6c85a2887e 100755 --- a/addressbook/setup/etemplates.inc.php +++ b/addressbook/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application addressbook * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2007-05-03 10:18 + * generated by soetemplate::dump4setup() 2007-05-25 20:19 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package addressbook @@ -134,7 +134,7 @@ $templ_data[] = array('name' => 'addressbook.importexport_wizzard_fieldmaping',' $templ_data[] = array('name' => 'addressbook.importexport_wizzard_samplefile','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:3:{i:0;a:0:{}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:2:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";}}}s:4:"rows";i:2;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1146650510',); -$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.3.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:23:"addressbook.index.right";}}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:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.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:60:"if (this.value != \'\') { this.form.submit(); this.value=\'\'; }";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' => '1145194921',); +$templ_data[] = array('name' => 'addressbook.index','template' => '','lang' => '','group' => '0','version' => '1.3.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:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.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:60:"if (this.value != \'\') { this.form.submit(); this.value=\'\'; }";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' => '1145194921',); $templ_data[] = array('name' => 'addressbook.index.left','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:10:{s:4:"type";s:6:"select";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"name";s:8:"org_view";s:7:"no_lang";s:1:"1";s:4:"help";s:13:"Select a view";s:4:"span";s:5:",bold";s:8:"onchange";i:1;s:4:"size";s:12:"All contacts";}}','size' => '','style' => '','modified' => '1146123855',); @@ -146,7 +146,7 @@ $templ_data[] = array('name' => 'addressbook.index.right','template' => '','lang $templ_data[] = array('name' => 'addressbook.index.right_add','template' => '','lang' => '','group' => '0','version' => '1.3.004','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:4:"name";s:6:"search";s:5:"label";s:15:"Advanced search";s:7:"onclick";s:166:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.search\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}i:2;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:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}}}','size' => '','style' => '','modified' => '1169256972',); -$templ_data[] = array('name' => 'addressbook.index.right_add','template' => '','lang' => '','group' => '0','version' => '1.3.005','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:10:"buttononly";s:4:"name";s:6:"search";s:5:"label";s:15:"Advanced search";s:7:"onclick";s:166:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.search\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}i:2;a:5:{s:4:"type";s:10:"buttononly";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:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}}}','size' => '','style' => '','modified' => '1169256471',); +$templ_data[] = array('name' => 'addressbook.index.right_add','template' => '','lang' => '','group' => '0','version' => '1.3.005','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:10:"buttononly";s:4:"name";s:6:"search";s:5:"label";s:15:"Advanced search";s:7:"onclick";s:166:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.search\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}i:2;a:6:{s:4:"type";s:10:"buttononly";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:164:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.edit\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";s:4:"span";s:12:",rightPadAdd";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:6:"manual";s:4:"span";s:12:",rightPadAdd";}}}','size' => '','style' => '.rightPadAdd { width: 30px; }','modified' => '1169256471',); $templ_data[] = array('name' => 'addressbook.index.rows','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:6:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"I";s:17:",@no_customfields";s:1:"F";s:9:",@no_home";s:1:"D";s:12:"60,@no_photo";s:1:"K";s:2:"90";}i:1;a:11:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:5:{s:2:"h2";s:16:",!@order=n_given";s:2:"h5";s:84:",!@order=/^(org_name|n_fileas|adr_one_postalcode|contact_modified|contact_created)$/";s:2:"h3";s:17:",!@order=n_family";s:2:"h1";s:17:",!@order=n_fileas";s:2:"h6";s:16:",@order=n_fileas";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"span";s:3:"all";s:5:"label";s:11:"own sorting";s:4:"name";s:8:"n_fileas";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"n_given";s:5:"label";s:9:"Firstname";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:8:"n_family";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:8:"n_family";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"n_given";s:5:"label";s:9:"Firstname";}}i:4;a:2:{s:1:"A";a:4:{s:4:"name";s:8:"org_name";s:5:"label";s:12:"Organisation";s:4:"span";s:3:"all";s:4:"type";s:20:"nextmatch-sortheader";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:8:"n_family";s:5:"label";s:4:"Name";}s:1:"B";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";}}i:6;a:2:{s:1:"A";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"span";s:3:"all";s:5:"label";s:11:"own sorting";s:4:"name";s:8:"n_fileas";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:6;s:4:"cols";i:2;s:7:"options";a:2:{i:4;s:1:"0";i:5;s:1:"0";}s:4:"size";s:7:",,,,0,0";}s:1:"C";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";}s:1:"D";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:5:"Photo";s:4:"name";s:5:"photo";}s:1:"E";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:16:"Business address";s:4:"name";s:8:"business";}i:2;a:4:{s:4:"type";s:22:"nextmatch-customfilter";s:4:"name";s:19:"adr_one_countryname";s:4:"size";s:24:"select-country,Country,1";s:4:"span";s:14:",countrySelect";}i:3;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:18:"adr_one_postalcode";s:5:"label";s:8:"zip code";}}s:1:"F";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:12:"Home address";s:4:"name";s:4:"home";}s:1:"G";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:4:"name";s:8:"tel_work";s:5:"label";s:14:"Business phone";}i:2;a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:12:"Mobile phone";s:4:"name";s:8:"tel_cell";}i:3;a:3:{s:4:"type";s:16:"nextmatch-header";s:4:"name";s:8:"tel_home";s:5:"label";s:10:"Home phone";}}s:1:"H";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:4:"name";s:3:"url";s:5:"label";s:3:"Url";}i:2;a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:14:"Business email";s:4:"name";s:5:"email";}i:3;a:3:{s:4:"type";s:16:"nextmatch-header";s:4:"name";s:10:"email_home";s:5:"label";s:10:"Home email";}}s:1:"I";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:4:"name";s:12:"customfields";s:4:"size";s:13:"Custom fields";}i:2;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:25:"customfields[$row][label]";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:7:",,,,0,0";}}s:1:"J";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:15:"contact_created";s:5:"label";s:7:"Created";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:16:"contact_modified";s:5:"label";s:13:"Last modified";}}s:1:"K";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:11:{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:8:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"5,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[line1]";s:7:"no_lang";s:1:"1";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[line2]";s:7:"no_lang";s:1:"1";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[org_unit]";s:7:"no_lang";s:1:"1";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";s:7:"no_lang";s:1:"1";}i:5;a:3:{s:4:"type";s:5:"label";s:4:"name";s:17:"${row}[first_org]";s:7:"no_lang";s:1:"1";}s:4:"name";s:10:"${row}[id]";}s:1:"C";a:4:{s:4:"type";s:10:"select-cat";s:4:"size";s:1:"1";s:4:"name";s:14:"${row}[cat_id]";s:8:"readonly";s:1:"1";}s:1:"D";a:2:{s:4:"type";s:5:"image";s:4:"name";s:13:"${row}[photo]";}s:1:"E";a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"4,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:4:"name";s:27:"${row}[adr_one_countryname]";s:7:"no_lang";s:1:"1";}i:2;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:24:"${row}[adr_one_locality]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"name";s:26:"${row}[adr_one_postalcode]";s:4:"span";s:9:",leftPad5";s:5:"label";s:1:" ";s:7:"no_lang";s:1:"1";}}i:3;a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:22:"${row}[adr_one_street]";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"name";s:23:"${row}[adr_one_street2]";s:7:"no_lang";s:1:"1";}}s:1:"F";a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"4,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:4:"name";s:27:"${row}[adr_two_countryname]";s:7:"no_lang";s:1:"1";}i:2;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:24:"${row}[adr_two_locality]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"name";s:26:"${row}[adr_two_postalcode]";s:4:"span";s:9:",leftPad5";s:5:"label";s:1:" ";s:7:"no_lang";s:1:"1";}}i:3;a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:22:"${row}[adr_two_street]";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"name";s:23:"${row}[adr_two_street2]";s:7:"no_lang";s:1:"1";}}s:1:"G";a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"4,,0,0";i:1;a:5:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[tel_work]";s:4:"span";s:11:",telNumbers";s:4:"size";s:53:",$row_cont[tel_work_link],,,calling,$cont[call_popup]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[tel_cell]";s:7:"no_lang";s:1:"1";s:4:"span";s:11:",telNumbers";s:4:"size";s:53:",$row_cont[tel_cell_link],,,calling,$cont[call_popup]";}i:3;a:5:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[tel_home]";s:7:"no_lang";s:1:"1";s:4:"span";s:11:",telNumbers";s:4:"size";s:53:",$row_cont[tel_home_link],,,calling,$cont[call_popup]";}i:4;a:4:{s:4:"type";s:5:"label";s:4:"name";s:20:"${row}[tel_prefered]";s:7:"no_lang";s:1:"1";s:4:"size";s:57:",$row_cont[tel_prefered_link],,,calling,$cont[call_popup]";}}s:1:"H";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:5:{s:4:"type";s:5:"label";s:4:"size";s:3:",,1";s:4:"span";s:12:",fixedHeight";s:7:"no_lang";s:1:"1";s:4:"name";s:11:"${row}[url]";}i:2;a:5:{s:4:"type";s:5:"label";s:4:"size";s:52:",@${row}[email_link],,,_blank,$row_cont[email_popup]";s:4:"span";s:12:",fixedHeight";s:4:"name";s:13:"${row}[email]";s:7:"no_lang";s:1:"1";}i:3;a:5:{s:4:"type";s:5:"label";s:4:"size";s:62:",@${row}[email_home_link],,,_blank,$row_cont[email_home_popup]";s:4:"span";s:12:",fixedHeight";s:4:"name";s:18:"${row}[email_home]";s:7:"no_lang";s:1:"1";}}s:1:"I";a:7:{s:4:"type";s:4:"grid";s:4:"size";s:15:",48,0,,0,0,auto";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:12:",fixedHeight";s:7:"no_lang";s:1:"1";s:4:"name";s:4:"$row";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"name";s:20:"${row}[customfields]";s:7:"options";a:5:{i:1;s:2:"48";i:6;s:4:"auto";i:4;s:1:"0";i:5;s:1:"0";i:2;s:1:"0";}}s:1:"J";a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"4,,0,0";i:1;a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:15:"${row}[created]";s:8:"readonly";s:1:"1";s:4:"span";s:7:",noWrap";}i:2;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:15:"${row}[creator]";s:8:"readonly";s:1:"1";}i:3;a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[modified]";s:8:"readonly";s:1:"1";s:4:"span";s:8:",noBreak";}i:4;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"${row}[modifier]";s:8:"readonly";s:1:"1";}}s:1:"K";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"4,0,0";i:1;a:4:{s:4:"type";s:5:"image";s:4:"size";s:52:"addressbook.uicontacts.view&contact_id=$row_cont[id]";s:5:"label";s:4:"View";s:4:"name";s:4:"view";}i:2;a:5:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:7:"onclick";s:189:"window.open(egw::link(\'/index.php\',\'menuaction=addressbook.uicontacts.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:3;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:4;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:11;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1145192391',); diff --git a/addressbook/setup/phpgw_de.lang b/addressbook/setup/phpgw_de.lang index 7c8413a606..28477e10a2 100644 --- a/addressbook/setup/phpgw_de.lang +++ b/addressbook/setup/phpgw_de.lang @@ -16,6 +16,7 @@ add a contact to this organisation addressbook de Einen Kontakt zu dieser Organi add a new contact addressbook de Neuen Kontakt anlegen add a new list addressbook de Neuen Verteiler hinzufügen add a single entry by passing the fields. addressbook de Hinzufügen eines einzelnen Eintrags durch Übergeben der Felder. +add business email of whole distribution list? addressbook de E-Mail geschäftl. der kompletten Liste hinzufügen? add custom field addressbook de Benutzerdefiniertes Feld hinzufügen add to distribution list: addressbook de Hinzufügen zu Verteiler: added by synchronisation addressbook de Hinzugefügt über die Synchronisation diff --git a/addressbook/setup/phpgw_en.lang b/addressbook/setup/phpgw_en.lang index 1ca87b2158..032c2f25be 100644 --- a/addressbook/setup/phpgw_en.lang +++ b/addressbook/setup/phpgw_en.lang @@ -16,6 +16,7 @@ add a contact to this organisation addressbook en Add a contact to this organisa add a new contact addressbook en Add a new contact add a new list addressbook en Add a new list add a single entry by passing the fields. addressbook en Add a single entry by passing the fields. +add business email of whole distribution list? addressbook en Add business email of whole distribution list? add custom field addressbook en Add Custom Field add to distribution list: addressbook en Add to distribution list: added by synchronisation addressbook en added by synchronisation @@ -196,6 +197,7 @@ link title for contacts show addressbook en Link title for contacts show links addressbook en Links list all categories addressbook en List all categories list all customfields addressbook en List all customfields +list already exists! addressbook en List already exists! list created addressbook en List created list creation failed, no rights! addressbook en List creation failed, no rights! load vcard addressbook en Load VCard diff --git a/addressbook/templates/default/index.xet b/addressbook/templates/default/index.xet index c773cbbd06..4d1e2e3f0f 100644 --- a/addressbook/templates/default/index.xet +++ b/addressbook/templates/default/index.xet @@ -6,10 +6,14 @@ -