From af38e6e62a97e0981dace906173de8cd05e246c4 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 8 Dec 2009 10:07:53 +0000 Subject: [PATCH 01/22] "fixed warning when saving new entries introduced by r28408" --- infolog/inc/class.infolog_bo.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infolog/inc/class.infolog_bo.inc.php b/infolog/inc/class.infolog_bo.inc.php index 015ebcee5e..5ec3e66836 100644 --- a/infolog/inc/class.infolog_bo.inc.php +++ b/infolog/inc/class.infolog_bo.inc.php @@ -726,7 +726,7 @@ class infolog_bo $this->tracking = new infolog_tracking($this); } - if (($missing_fields = array_diff_key($old,$values))) + if ($old && ($missing_fields = array_diff_key($old,$values))) { $values = array_merge($values,$missing_fields); } From 2305f5cc8b838469fb97ee474428727337c9590c Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 17:14:23 +0000 Subject: [PATCH 02/22] Add missing style class, should make type box disappear when there's no sub-types. --- etemplate/setup/etemplates.inc.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/etemplate/setup/etemplates.inc.php b/etemplate/setup/etemplates.inc.php index 99dc276900..d1891f1389 100644 --- a/etemplate/setup/etemplates.inc.php +++ b/etemplate/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application etemplate * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2009-12-07 16:32 + * generated by soetemplate::dump4setup() 2009-12-08 10:12 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package etemplate @@ -130,9 +130,10 @@ $templ_data[] = array('name' => 'etemplate.link_widget.list','template' => '','l $templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:2:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:4:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"32";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";s:8:"tabindex";i:99;}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";s:4:"span";s:3:"all";s:8:"tabindex";i:100;}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Attach file";}s:1:"B";a:4:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";s:8:"onchange";s:81:"set_style_by_class(\'*\',\'hide_comment\',\'display\',this.checked ? \'block\' : \'none\');";}}}s:4:"rows";i:3;s:4:"cols";i:4;}i:1;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:5:"label";s:7:"Comment";s:4:"help";s:28:"optional note about the Link";}}','size' => '','style' => '.redItalic { font-style: italic; color: red; } .hide_comment { display: none; }','modified' => '1131608831',); -$templ_data[] = array('name' => 'etemplate.link_widget.to','template' => '','lang' => '','group' => '0','version' => '1.7.003','data' => 'a:1:{i:0;a:7:{s:4:"rows";s:1:"1";s:4:"cols";s:1:"1";s:4:"type";s:3:"box";s:4:"size";s:1:"3";i:1;a:5:{s:4:"name";s:11:"search_line";s:4:"size";s:6:"2,,0,0";s:4:"type";s:3:"box";i:1;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:5:{s:5:"label";s:13:"@search_label";s:4:"name";s:3:"app";s:4:"type";s:9:"link-apps";s:4:"help";s:28:"Select application to search";s:8:"onchange";s:177:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_get_types\',document.getElementById(form::name(\'app\')).value,form::name(\'link_type\'),this.form.etemplate_exec_id.value); return false;";}i:2;a:5:{s:4:"type";s:3:"box";s:4:"name";s:8:"type_box";s:4:"size";s:1:"1";i:1;a:4:{s:4:"type";s:6:"select";s:4:"name";s:9:"link_type";s:4:"help";s:51:"Search only selected record type in the application";s:4:"span";s:10:",link_hide";}s:4:"span";s:10:",type_hide";}i:3;a:3:{s:4:"blur";s:6:"Search";s:4:"name";s:5:"query";s:4:"type";s:4:"text";}i:4;a:5:{s:5:"label";s:1:">";s:7:"onclick";s:345:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_search\',document.getElementById(form::name(\'app\')).value,document.getElementById(form::name(\'link_type\')).value,document.getElementById(form::name(\'query\')).value,form::name(\'id\'),form::name(\'search_line\'),form::name(\'select_line\'),form::name(\'query\'),this.form.etemplate_exec_id.value); return false;";s:4:"name";s:12:"start_search";s:4:"type";s:6:"button";s:4:"help";s:30:"Click here to start the search";}}i:2;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:10:",@no_files";}i:1;a:3:{s:1:"A";a:5:{s:5:"label";s:11:"attach file";s:4:"name";s:4:"file";s:4:"size";s:2:"12";s:4:"type";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"B";a:4:{s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"type";s:6:"button";s:4:"help";s:29:"Click here to attach the file";}s:1:"C";a:4:{s:8:"onchange";s:88:"document.getElementById(form::name(\'remark\')).style.display=this.checked?\'block\':\'none\';";s:4:"name";s:7:"comment";s:4:"type";s:8:"checkbox";s:4:"help";s:28:"optional note about the Link";}}}s:4:"cols";i:3;s:4:"rows";i:1;}}i:2;a:7:{s:5:"class";s:21:"link_select link_hide";s:4:"name";s:11:"select_line";s:4:"type";s:3:"box";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:227:"if (!this.value) { document.getElementById(form::name(\'search_line\')).style.display=\'inline\'; document.getElementById(form::name(\'remark\')).style.display=document.getElementById(form::name(\'select_line\')).style.display=\'none\';}";s:7:"no_lang";s:1:"1";s:4:"name";s:2:"id";s:4:"type";s:6:"select";}i:2;a:4:{s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"type";s:6:"button";s:4:"help";s:29:"click here to create the Link";}s:4:"span";s:23:" ,link_select link_hide";}i:3;a:6:{s:4:"size";s:5:"50,50";s:4:"blur";s:7:"Comment";s:4:"name";s:6:"remark";s:4:"type";s:4:"text";s:4:"help";s:28:"optional note about the Link";s:4:"span";s:13:",hide_comment";}}}','size' => '','style' => '.link_select { white-space: nowrap; } +$templ_data[] = array('name' => 'etemplate.link_widget.to','template' => '','lang' => '','group' => '0','version' => '1.7.004','data' => 'a:1:{i:0;a:7:{s:4:"rows";s:1:"1";s:4:"cols";s:1:"1";s:4:"type";s:3:"box";s:4:"size";s:1:"3";i:1;a:5:{s:4:"name";s:11:"search_line";s:4:"size";s:6:"2,,0,0";s:4:"type";s:3:"box";i:1;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:5:{s:5:"label";s:13:"@search_label";s:4:"name";s:3:"app";s:4:"type";s:9:"link-apps";s:4:"help";s:28:"Select application to search";s:8:"onchange";s:177:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_get_types\',document.getElementById(form::name(\'app\')).value,form::name(\'link_type\'),this.form.etemplate_exec_id.value); return false;";}i:2;a:5:{s:4:"type";s:3:"box";s:4:"name";s:8:"type_box";s:4:"size";s:1:"1";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:9:"link_type";s:4:"help";s:51:"Search only selected record type in the application";}s:4:"span";s:10:",type_hide";}i:3;a:3:{s:4:"blur";s:6:"Search";s:4:"name";s:5:"query";s:4:"type";s:4:"text";}i:4;a:5:{s:5:"label";s:1:">";s:7:"onclick";s:345:"xajax_doXMLHTTP(\'etemplate.link_widget.ajax_search\',document.getElementById(form::name(\'app\')).value,document.getElementById(form::name(\'link_type\')).value,document.getElementById(form::name(\'query\')).value,form::name(\'id\'),form::name(\'search_line\'),form::name(\'select_line\'),form::name(\'query\'),this.form.etemplate_exec_id.value); return false;";s:4:"name";s:12:"start_search";s:4:"type";s:6:"button";s:4:"help";s:30:"Click here to start the search";}}i:2;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:10:",@no_files";}i:1;a:3:{s:1:"A";a:5:{s:5:"label";s:11:"attach file";s:4:"name";s:4:"file";s:4:"size";s:2:"12";s:4:"type";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"B";a:4:{s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"type";s:6:"button";s:4:"help";s:29:"Click here to attach the file";}s:1:"C";a:4:{s:8:"onchange";s:88:"document.getElementById(form::name(\'remark\')).style.display=this.checked?\'block\':\'none\';";s:4:"name";s:7:"comment";s:4:"type";s:8:"checkbox";s:4:"help";s:28:"optional note about the Link";}}}s:4:"cols";i:3;s:4:"rows";i:1;}}i:2;a:7:{s:5:"class";s:21:"link_select link_hide";s:4:"name";s:11:"select_line";s:4:"type";s:3:"box";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:227:"if (!this.value) { document.getElementById(form::name(\'search_line\')).style.display=\'inline\'; document.getElementById(form::name(\'remark\')).style.display=document.getElementById(form::name(\'select_line\')).style.display=\'none\';}";s:7:"no_lang";s:1:"1";s:4:"name";s:2:"id";s:4:"type";s:6:"select";}i:2;a:4:{s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"type";s:6:"button";s:4:"help";s:29:"click here to create the Link";}s:4:"span";s:23:" ,link_select link_hide";}i:3;a:6:{s:4:"size";s:5:"50,50";s:4:"blur";s:7:"Comment";s:4:"name";s:6:"remark";s:4:"type";s:4:"text";s:4:"help";s:28:"optional note about the Link";s:4:"span";s:13:",hide_comment";}}}','size' => '','style' => '.link_select { white-space: nowrap; } .link_hide { display: none; } -.hide_comment input { display: none; width: 99%; }','modified' => '1260199957',); +.type_hide { display: none; } +.hide_comment input { display: none; width: 99%; }','modified' => '1260292296',); $templ_data[] = array('name' => 'etemplate.nextmatch_widget','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:8:{s:1:"A";s:3:"35%";s:1:"C";s:3:"35%";s:2:"c1";s:7:"noPrint";s:2:"c2";s:7:"noPrint";s:2:"c5";s:7:"noPrint";s:2:"h5";s:13:",!@bottom_too";s:2:"h3";s:15:",!@lettersearch";s:2:"c3";s:7:"noPrint";}i:1;a:3:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"@header_left";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:6:"center";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"showing";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"range";}i:2;a:4:{s:4:"type";s:5:"label";s:5:"label";s:2:"of";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"total";}s:4:"span";s:16:",nextmatch-range";}s:1:"C";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:13:"@header_right";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:8:"onchange";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"1";s:4:"span";s:3:"all";s:4:"name";s:12:"lettersearch";i:1;a:6:{s:4:"type";s:5:"label";s:5:"label";s:3:"All";s:5:"align";s:5:"right";s:4:"name";s:3:"all";s:6:"needed";s:1:"1";s:4:"span";s:20:",lettersearch_active";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:4;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:4:"rows";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:9:"@template";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:5;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:6:"bottom";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1155978375',); From 219ae4d224df06dca6b20b9d41aed38ed8fbd5c0 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 17:56:22 +0000 Subject: [PATCH 03/22] Can't use ExecMethod2(), it doesn't pass by reference. Used code to pass options by reference from nextmatch widget so apps can update array if they need. --- phpgwapi/inc/class.egw_link.inc.php | 42 ++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/phpgwapi/inc/class.egw_link.inc.php b/phpgwapi/inc/class.egw_link.inc.php index 28476926ab..2dc7f0cf74 100644 --- a/phpgwapi/inc/class.egw_link.inc.php +++ b/phpgwapi/inc/class.egw_link.inc.php @@ -45,6 +45,7 @@ * ), * 'view_id' => 'app_id', // name of get parameter of the id * 'view_popup' => '400x300', // size of popup (XxY), if view is in popup + * 'view_list' => 'app.class.method' // Method to be called to display a list of links, method should check $_GET['search'] to filter * 'add' => array( // get parameter to add an empty entry to app * 'menuaction' => 'app.class.method', * ), @@ -537,7 +538,46 @@ class egw_link extends solink echo "

egw_link::query('$app','$pattern') => '$method'

\n"; echo "Options: "; _debug_array($options); } - $result = ExecMethod2($method,$pattern,$options); + + // See etemplate's nextmatch widget, following was copied from there + // allow static callbacks + if(strpos($method,'::') !== false) + { + // workaround for php < 5.3: do NOT call it static, but allow application code to specify static callbacks + if (version_compare(PHP_VERSION,'5.3','<')) list($class,$method) = explode('::',$method); + } + else + { + list($app,$class,$method) = explode('.',$method); + } + if ($class) + { + if (!$app && !is_object($GLOBALS[$class])) + { + $GLOBALS[$class] = new $class(); + } + if (is_object($GLOBALS[$class])) // use existing instance (put there by a previous CreateObject) + { + $obj = $GLOBALS[$class]; + } + else + { + $obj = CreateObject($app.'.'.$class); + } + } + if(is_callable($method)) // php5.3+ call + { + $result = $method($pattern,$options); + } + elseif(is_object($obj) && method_exists($obj,$method)) + { + $result = $obj->$method($pattern,$options); + } + else + { + // Fall back to original method + $result = ExecMethod2($method,$pattern,$options); + } if (!isset($options['total'])) { From 6df521de8d0c32da606a499593e5936db27a4829 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 21:24:46 +0000 Subject: [PATCH 04/22] Implement options so link_query() can be limited --- addressbook/inc/class.addressbook_bo.inc.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addressbook/inc/class.addressbook_bo.inc.php b/addressbook/inc/class.addressbook_bo.inc.php index 9d255991ae..3c3507984f 100755 --- a/addressbook/inc/class.addressbook_bo.inc.php +++ b/addressbook/inc/class.addressbook_bo.inc.php @@ -1099,11 +1099,13 @@ class addressbook_bo extends addressbook_so * Is called as hook to participate in the linking * * @param string|array $pattern pattern to search, or an array with a 'search' key + * @param array $options Array of options for the search * @return array with id - title pairs of the matching entries */ - function link_query($pattern) + function link_query($pattern, Array &$options = array()) { $result = $criteria = array(); + $limit = false; if ($pattern) { foreach($this->columns_to_search as $col) @@ -1111,7 +1113,10 @@ class addressbook_bo extends addressbook_so $criteria[$col] = is_array($pattern) ? $pattern['search'] : $pattern; } } - if (($contacts = parent::search($criteria,false,'org_name,n_family,n_given,cat_id','','%',false,'OR'))) + if($options['start'] || $options['num_rows']) { + $limit = array($options['start'], $options['num_rows']); + } + if (($contacts = parent::search($criteria,false,'org_name,n_family,n_given,cat_id','','%',false,'OR', $limit))) { foreach($contacts as $contact) { @@ -1126,6 +1131,7 @@ class addressbook_bo extends addressbook_so } } } + $options['total'] = $this->total; return $result; } From 08b7ab173e0070921c7821ae9b781a5c1768a065 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 21:27:56 +0000 Subject: [PATCH 05/22] Implement new link hook view_list, to be able to be taken to a list of entries --- addressbook/inc/class.addressbook_hooks.inc.php | 1 + addressbook/inc/class.addressbook_ui.inc.php | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/addressbook/inc/class.addressbook_hooks.inc.php b/addressbook/inc/class.addressbook_hooks.inc.php index acc5268f88..ba95778ebe 100644 --- a/addressbook/inc/class.addressbook_hooks.inc.php +++ b/addressbook/inc/class.addressbook_hooks.inc.php @@ -312,6 +312,7 @@ class addressbook_hooks 'menuaction' => 'addressbook.addressbook_ui.view' ), 'view_id' => 'contact_id', + 'view_list' => 'addressbook.addressbook_ui.index', 'add' => array( 'menuaction' => 'addressbook.addressbook_ui.edit' ), diff --git a/addressbook/inc/class.addressbook_ui.inc.php b/addressbook/inc/class.addressbook_ui.inc.php index f1e825e5c3..8621eac974 100644 --- a/addressbook/inc/class.addressbook_ui.inc.php +++ b/addressbook/inc/class.addressbook_ui.inc.php @@ -208,6 +208,11 @@ class addressbook_ui extends addressbook_bo $content['nm'] = array_merge($content['nm'],$state); } } + + // Search parameter passed in + if ($_GET['search']) { + $content['nm']['search'] = $_GET['search']; + } if (isset($typeselection)) $content['nm']['col_filter']['tid'] = $typeselection; if ($this->lists_available()) From 721ccb80d85b27b19ccfdee306470ddf301b3af0 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 21:47:49 +0000 Subject: [PATCH 06/22] Implement options so link_query() can be limited --- infolog/inc/class.infolog_bo.inc.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/infolog/inc/class.infolog_bo.inc.php b/infolog/inc/class.infolog_bo.inc.php index 5ec3e66836..9c2d95f474 100644 --- a/infolog/inc/class.infolog_bo.inc.php +++ b/infolog/inc/class.infolog_bo.inc.php @@ -924,16 +924,19 @@ class infolog_bo * Is called as hook to participate in the linking * * @param string $pattern pattern to search + * @param array $options Array of options for the search * @return array with info_id - title pairs of the matching entries */ - function link_query( $pattern ) + function link_query( $pattern, Array &$options = array() ) { $query = array( 'search' => $pattern, - 'start' => 0, + 'start' => $options['start'], + 'num_rows' => $options['num_rows'], 'subs' => true, ); $ids = $this->search($query); + $options['total'] = $query['total']; $content = array(); if (is_array($ids)) { From 1524b6670feadc8d5cb7a5ebfd0e00f491df8b95 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 21:48:10 +0000 Subject: [PATCH 07/22] Implement new link hook view_list, to be able to be taken to a list of entries --- infolog/inc/class.infolog_hooks.inc.php | 1 + infolog/inc/class.infolog_ui.inc.php | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/infolog/inc/class.infolog_hooks.inc.php b/infolog/inc/class.infolog_hooks.inc.php index 1d98e82382..19c2548994 100644 --- a/infolog/inc/class.infolog_hooks.inc.php +++ b/infolog/inc/class.infolog_hooks.inc.php @@ -32,6 +32,7 @@ class infolog_hooks 'action' => 'sp' ), 'view_id' => 'action_id', + 'view_list' => 'infolog.infolog_ui.index', 'add' => array( 'menuaction' => 'infolog.infolog_ui.edit', 'type' => 'task' diff --git a/infolog/inc/class.infolog_ui.inc.php b/infolog/inc/class.infolog_ui.inc.php index 6186fcd461..60badde540 100644 --- a/infolog/inc/class.infolog_ui.inc.php +++ b/infolog/inc/class.infolog_ui.inc.php @@ -545,6 +545,9 @@ class infolog_ui $values['action'] = $action; $values['action_id'] = $action_id; } + if($_GET['search']) { + $values['nm']['search'] = $_GET['search']; + } if ($values['nm']['add']) { $values['add'] = $values['nm']['add']; @@ -866,7 +869,7 @@ class infolog_ui if ($content['info_contact']) { $old_link_id = (int)$content['info_link_id']; - list($app,$id) = explode(':',$content['info_contact']); + list($app,$id) = explode(':',$content['info_contact'], 2); $content['info_link_id'] = (int)($info_link_id = egw_link::link('infolog',$content['link_to']['to_id'],$app,$id)); if ($old_link_id && $old_link_id != $content['info_link_id']) egw_link::unlink($old_link_id); } From ac14a5a1fdc982868a1c7f889190be777ab5be50 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 22:36:43 +0000 Subject: [PATCH 08/22] Implement options so link_query() can be limited --- calendar/inc/class.calendar_bo.inc.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/calendar/inc/class.calendar_bo.inc.php b/calendar/inc/class.calendar_bo.inc.php index c9cc66f916..0afb5359af 100644 --- a/calendar/inc/class.calendar_bo.inc.php +++ b/calendar/inc/class.calendar_bo.inc.php @@ -1500,13 +1500,21 @@ class calendar_bo * @param string $pattern pattern to search * @return array with cal_id - title pairs of the matching entries */ - function link_query($pattern) + function link_query($pattern, Array &$options = array()) { $result = array(); - foreach((array) $this->search(array('query' => $pattern)) as $event) + $query = array( + 'query' => $pattern, + 'offset' => $options['start'], + ); + if($options['num_rows']) { + $query['num_rows'] = $options['num_rows']; + } + foreach((array) $this->search($query) as $event) { $result[$event['id']] = $this->link_title($event); } + $options['total'] = $this->total; return $result; } From e532ee09441404174f695636e7482b9f5635dd5f Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 22:41:49 +0000 Subject: [PATCH 09/22] Implement new link hook view_list, to be able to be taken to a list of entries --- calendar/inc/class.calendar_hooks.inc.php | 1 + calendar/inc/class.calendar_uilist.inc.php | 3 +++ 2 files changed, 4 insertions(+) diff --git a/calendar/inc/class.calendar_hooks.inc.php b/calendar/inc/class.calendar_hooks.inc.php index cfec0967d6..da7e0ac4e0 100644 --- a/calendar/inc/class.calendar_hooks.inc.php +++ b/calendar/inc/class.calendar_hooks.inc.php @@ -31,6 +31,7 @@ class calendar_hooks ), 'view_id' => 'cal_id', 'view_popup' => '750x400', + 'view_list' => 'calendar.calendar_uilist.listview', 'add' => array( 'menuaction' => 'calendar.calendar_uiforms.edit', ), diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php index a5cf04bf60..0bc417bd3d 100644 --- a/calendar/inc/class.calendar_uilist.inc.php +++ b/calendar/inc/class.calendar_uilist.inc.php @@ -139,6 +139,9 @@ class calendar_uilist extends calendar_ui 'header_left' => 'calendar.list.dates', ); } + if ($_GET['search']) { + $content['nm']['search'] = $_GET['search']; + } if (isset($_REQUEST['keywords'])) // new search => set filters so every match is shown { $this->adjust_for_search($_REQUEST['keywords'],$content['nm']); From 00a75858ea05ee680d19d43a5274544e979e1fc0 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 23:09:45 +0000 Subject: [PATCH 10/22] Implement options so link_query() can be limited --- resources/inc/class.bo_resources.inc.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/resources/inc/class.bo_resources.inc.php b/resources/inc/class.bo_resources.inc.php index cbba5ad29a..30e232273c 100755 --- a/resources/inc/class.bo_resources.inc.php +++ b/resources/inc/class.bo_resources.inc.php @@ -363,9 +363,10 @@ class bo_resources * @param string|array $pattern if it's a string it is the string we will search for as a criteria, if it's an array we * will seach for 'search' key in this array to get the string criteria. others keys handled are actually used * for calendar disponibility. + * @param array $options Array of options for the search * */ - function link_query( $pattern ) + function link_query( $pattern, Array &$options = array() ) { if (is_array($pattern)) { @@ -382,7 +383,11 @@ class bo_resources 'cat_id' => array_flip((array)$this->acl->get_cats(EGW_ACL_READ)), //'accessory_of' => '-1' ); - $data = $this->so->search($criteria,$only_keys,$order_by='',$extra_cols='',$wildcard='%',$empty,$op='OR',false,$filter); + $limit = false; + if($options['start'] || $options['num_rows']) { + $limit = array($options['start'], $options['num_rows']); + } + $data = $this->so->search($criteria,$only_keys,$order_by='',$extra_cols='',$wildcard='%',$empty,$op='OR',$limit,$filter); // maybe we need to check disponibility of the searched resources in the calendar if $pattern ['exec'] contains some extra args $show_conflict=False; if (is_array($pattern) && isset($pattern['exec']) ) @@ -496,6 +501,7 @@ class bo_resources error_log(__METHOD__." No Data found for Resource with id ".$resource['res_id']); } } + $options['total'] = $this->so->total; return $list; } From 4139c23ef72b499c1665b4faa4187073da58b8c2 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 23:10:06 +0000 Subject: [PATCH 11/22] Implement new link hook view_list, to be able to be taken to a list of entries --- resources/inc/class.resources_hooks.inc.php | 1 + resources/inc/class.ui_resources.inc.php | 3 +++ 2 files changed, 4 insertions(+) diff --git a/resources/inc/class.resources_hooks.inc.php b/resources/inc/class.resources_hooks.inc.php index cab20891f3..3ea95eb4a2 100644 --- a/resources/inc/class.resources_hooks.inc.php +++ b/resources/inc/class.resources_hooks.inc.php @@ -104,6 +104,7 @@ class resources_hooks ), 'view_id' => 'res_id', 'view_popup' => '850x600', + 'view_list' => 'resources.ui_resources.index', 'add' => array( 'menuaction' => 'resources.ui_resources.edit', ), diff --git a/resources/inc/class.ui_resources.inc.php b/resources/inc/class.ui_resources.inc.php index e6f129fdbd..fee27e74ac 100755 --- a/resources/inc/class.ui_resources.inc.php +++ b/resources/inc/class.ui_resources.inc.php @@ -118,6 +118,9 @@ class ui_resources $content['nm'] = $nm_session_data; } $content['nm']['options-filter']= array(''=>lang('all categories'))+(array)$this->bo->acl->get_cats(EGW_ACL_READ); + if($_GET['search']) { + $content['nm']['search'] = $_GET['search']; + } // check if user is permitted to add resources if(!$this->bo->acl->get_cats(EGW_ACL_ADD)) From 30be48f6e60d8eaf2d91edb5f4f7e2023ab123c2 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 23:18:51 +0000 Subject: [PATCH 12/22] Implement options so link_query() can be limited --- timesheet/inc/class.timesheet_bo.inc.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/timesheet/inc/class.timesheet_bo.inc.php b/timesheet/inc/class.timesheet_bo.inc.php index d919f6b77c..48d6b444bb 100644 --- a/timesheet/inc/class.timesheet_bo.inc.php +++ b/timesheet/inc/class.timesheet_bo.inc.php @@ -666,20 +666,28 @@ class timesheet_bo extends so_sql_cf * Is called as hook to participate in the linking * * @param string $pattern pattern to search + * @param array $options Array of options for the search * @return array with ts_id - title pairs of the matching entries */ - function link_query( $pattern ) + function link_query( $pattern, Array &$options = array() ) { $criteria = array(); + $limit = false; + $need_count = false; foreach(array('ts_project','ts_title','ts_description') as $col) { $criteria[$col] = $pattern; } + if($options['start'] || $options['num_rows']) { + $limit = array($options['start'], $options['num_rows']); + $need_count = true; + } $result = array(); - foreach((array) $this->search($criteria,false,'','','%',false,'OR') as $ts ) + foreach((array) $this->search($criteria,false,'','','%',false,'OR', $limit, null, '', $need_count) as $ts ) { if ($ts) $result[$ts['ts_id']] = $this->link_title($ts); } + $options['total'] = $need_count ? $this->total : count($result); return $result; } @@ -741,4 +749,4 @@ class timesheet_bo extends so_sql_cf } return array(); } -} \ No newline at end of file +} From 7217a9207930cc61a968d044c11d1c4d92c5444a Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 8 Dec 2009 23:19:06 +0000 Subject: [PATCH 13/22] Implement new link hook view_list, to be able to be taken to a list of entries --- timesheet/inc/class.timesheet_hooks.inc.php | 3 ++- timesheet/inc/class.timesheet_ui.inc.php | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/timesheet/inc/class.timesheet_hooks.inc.php b/timesheet/inc/class.timesheet_hooks.inc.php index 5b04a6f08f..6cd6d39824 100644 --- a/timesheet/inc/class.timesheet_hooks.inc.php +++ b/timesheet/inc/class.timesheet_hooks.inc.php @@ -45,6 +45,7 @@ class timesheet_hooks ), 'view_id' => 'ts_id', 'view_popup' => '600x400', + 'view_list' => 'timesheet.timesheet_ui.index', 'add' => array( 'menuaction' => TIMESHEET_APP.'.timesheet_ui.edit', ), @@ -163,4 +164,4 @@ class timesheet_hooks ), ); } -} \ No newline at end of file +} diff --git a/timesheet/inc/class.timesheet_ui.inc.php b/timesheet/inc/class.timesheet_ui.inc.php index 2cea98d491..80b0bbfe54 100644 --- a/timesheet/inc/class.timesheet_ui.inc.php +++ b/timesheet/inc/class.timesheet_ui.inc.php @@ -793,6 +793,9 @@ class timesheet_ui extends timesheet_bo 'filter2' => (int)$GLOBALS['egw_info']['user']['preferences'][TIMESHEET_APP]['show_details'], ); } + if($_GET['search']) { + $content['nm']['search'] = $_GET['search']; + } $read_grants = $this->grant_list(EGW_ACL_READ); $content['nm']['no_owner_col'] = count($read_grants) == 1; if ($GLOBALS['egw_info']['user']['preferences']['timesheet']['nextmatch-timesheet.index.rows']) $content['nm']['selectcols'] = $GLOBALS['egw_info']['user']['preferences']['timesheet']['nextmatch-timesheet.index.rows']; From d8907a4d2a6344f06e6daf305d5ed0a8564d0661 Mon Sep 17 00:00:00 2001 From: Christian Binder Date: Wed, 9 Dec 2009 08:17:26 +0000 Subject: [PATCH 14/22] fixed not recognized vtodo priority values --- infolog/inc/class.infolog_ical.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infolog/inc/class.infolog_ical.inc.php b/infolog/inc/class.infolog_ical.inc.php index 61dcd36b7e..defbfdf203 100644 --- a/infolog/inc/class.infolog_ical.inc.php +++ b/infolog/inc/class.infolog_ical.inc.php @@ -378,7 +378,7 @@ class infolog_ical extends infolog_bo break; case 'PRIORITY': - if (1 <= $attributes['value'] && $attributes['value'] <= 3) { + if (1 <= $attributes['value'] && $attributes['value'] <= 9) { $taskData['info_priority'] = $this->vcal_priority2egw_priority[$attributes['value']]; } else { $taskData['info_priority'] = 1; // default = normal From 8118ad3b0b3083864adece7a2a17fd59f0e626fa Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 Dec 2009 08:23:04 +0000 Subject: [PATCH 15/22] "Ajax to construct homedirectory from specified directory name in setup and account_lid" --- admin/inc/class.uiaccounts.inc.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/admin/inc/class.uiaccounts.inc.php b/admin/inc/class.uiaccounts.inc.php index dcc160d26f..920db39d35 100755 --- a/admin/inc/class.uiaccounts.inc.php +++ b/admin/inc/class.uiaccounts.inc.php @@ -1393,7 +1393,7 @@ { $lang_homedir = lang('home directory'); $lang_shell = lang('login shell'); - $homedirectory = ''; + $homedirectory = ''; $loginshell = ''; @@ -1594,6 +1594,11 @@ $response->addScript("alert('".addslashes(lang('That loginid has already been taken').': '.$account_lid)."'); document.getElementById('account').value='". ($account_id ? $GLOBALS['egw']->accounts->id2name($account_id) : '')."'; document.getElementById('account').focus();"); } + if ($GLOBALS['egw_info']['server']['ldap_extra_attributes'] && + ($home = $GLOBALS['egw_info']['server']['ldap_account_home']) && $home != '/dev/null') + { + $response->addAssign('homedirectory','value',$home.'/'.$account_lid); + } return $response->getXML(); } From e52c549c1445598f9b3ede8111533cf7245cf7dc Mon Sep 17 00:00:00 2001 From: Christian Binder Date: Wed, 9 Dec 2009 09:28:21 +0000 Subject: [PATCH 16/22] just a small translation fix --- calendar/lang/egw_de.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calendar/lang/egw_de.lang b/calendar/lang/egw_de.lang index 08f0494cfb..cd9247701d 100644 --- a/calendar/lang/egw_de.lang +++ b/calendar/lang/egw_de.lang @@ -329,7 +329,7 @@ startdate of the export calendar de Startdatum des Exports startrecord calendar de Startdatensatz status changed calendar de Status geändert status for all future scheduled days changed calendar de Status alle zukünftig geplanten Termine geändert -status for this particular day changed calendar de Status für diesen Tage geändert +status for this particular day changed calendar de Status für diesen Tag geändert status of participants set to unknown because of missing category rights calendar de Status der Teilnehmer auf unbekannt gesetzt wegen fehlender Kategorie Rechte submit to repository calendar de Übertragen zu EGroupware.org sun calendar de So From f0972d740925c56906e07228dac69c8ba0361328 Mon Sep 17 00:00:00 2001 From: Klaus Leithoff Date: Wed, 9 Dec 2009 11:58:19 +0000 Subject: [PATCH 17/22] fixing a bug regarding the selectBox resize with MSIE (all was no longer selectable) --- etemplate/js/etemplate.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/etemplate/js/etemplate.js b/etemplate/js/etemplate.js index a14e202991..2a9e5704e3 100644 --- a/etemplate/js/etemplate.js +++ b/etemplate/js/etemplate.js @@ -397,7 +397,7 @@ function dropdown_menu_hack(el) t = t.replace(/<\/option/gi,'])*">/gi,'$1'); + t = t.replace(/])*">/gi,'$1'); t = t.replace(/<\/optgroup>/gi,'---'); mb.innerHTML = t; //mb.innerHTML = "
gfgfg
"; @@ -411,11 +411,11 @@ function dropdown_menu_hack(el) //alert('Value:'+mb.options[i].value + ', Text:'+ mb.options[i].innerHTML); mb.options[i].selectedIndex = i; mb.options[i].style.cssText = "list-style:none;margin:0;padding:1px 2px;width/**/:100%;white-space:nowrap;" - if (mb.options[i].value != '') mb.options[i].style.cssText = mb.options[i].style.cssText + "cursor:hand;cursor:pointer;"; + if (mb.options[i].value != 'i-opt-group-lable-i') mb.options[i].style.cssText = mb.options[i].style.cssText + "cursor:hand;cursor:pointer;"; mb.options[i].title =mb.options[i].innerHTML; mb.options[i].innerHTML ="" + mb.options[i].innerHTML + ""; - if (mb.options[i].value == '') mb.options[i].innerHTML = ""+mb.options[i].innerHTML+""; - if (mb.options[i].value != '') mb.options[i].onmouseover = function() + if (mb.options[i].value == 'i-opt-group-lable-i') mb.options[i].innerHTML = ""+mb.options[i].innerHTML+""; + if (mb.options[i].value != 'i-opt-group-lable-i') mb.options[i].onmouseover = function() { if( mb.options.selected ) {mb.options.selected.style.background="white";mb.options.selected.style.color="black";} @@ -423,7 +423,7 @@ function dropdown_menu_hack(el) this.style.background="#333366";this.style.color="white"; } mb.options[i].onmouseout = function(){this.style.background="white";this.style.color="black";} - if (mb.options[i].value != '') + if (mb.options[i].value != 'i-opt-group-lable-i') { mb.options[i].onmousedown = function(){selectMenu(this); } mb.options[i].onkeydown = function(){selectMenu(this); } From 77c889f9074a756e158b1ac29c936b9d959e5c14 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Wed, 9 Dec 2009 23:15:46 +0000 Subject: [PATCH 18/22] Don't clear items, it will erase anything added by apps in topmenu_info hook --- phpgwapi/templates/idots/class.idots_framework.inc.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/phpgwapi/templates/idots/class.idots_framework.inc.php b/phpgwapi/templates/idots/class.idots_framework.inc.php index b873fca443..060a650a08 100644 --- a/phpgwapi/templates/idots/class.idots_framework.inc.php +++ b/phpgwapi/templates/idots/class.idots_framework.inc.php @@ -598,8 +598,12 @@ class idots_framework extends egw_framework */ function topmenu(array &$vars,array &$apps) { - $this->tplsav2->menuitems = array(); - $this->tplsav2->menuinfoitems = array(); + if(!is_array($this->tplsav2->menuitems)) { + $this->tplsav2->menuitems = array(); + } + if(!is_array($this->tplsav2->menuinfoitems)) { + $this->tplsav2->menuinfoitems = array(); + } if($GLOBALS['egw_info']['user']['apps']['home'] && isset($apps['home'])) { From d11469f91f611f63d94036db7d9773a269753942 Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Fri, 11 Dec 2009 08:34:47 +0000 Subject: [PATCH 19/22] added copy function to infolog and action box, more actions will follow --- infolog/inc/class.infolog_ui.inc.php | 23 +++++++++++++++++++---- infolog/lang/egw_de.lang | 3 +++ infolog/lang/egw_en.lang | 3 +++ infolog/setup/etemplates.inc.php | 9 +++------ infolog/templates/default/edit.xet | 9 ++++++--- 5 files changed, 34 insertions(+), 13 deletions(-) diff --git a/infolog/inc/class.infolog_ui.inc.php b/infolog/inc/class.infolog_ui.inc.php index 60badde540..7fb63ac3c6 100644 --- a/infolog/inc/class.infolog_ui.inc.php +++ b/infolog/inc/class.infolog_ui.inc.php @@ -242,7 +242,7 @@ class infolog_ui { $for = @$values['session_for'] ? $values['session_for'] : @$this->called_by; //echo "

$for: ".__METHOD__.'('.print_r($values,True).") called_by='$this->called_by', for='$for'
".function_backtrace()."

\n"; - + $arrayToStore = array( 'search' => $values['search'], 'start' => $values['start'], @@ -258,7 +258,7 @@ class infolog_ui 'col_filter' => $values['col_filter'], 'session_for' => $for ); - if ($values['filter']=='bydate') + if ($values['filter']=='bydate') { $arrayToStore['startdate'] = $values['startdate']; $arrayToStore['enddate'] = $values['enddate']; @@ -298,8 +298,8 @@ class infolog_ui { $query['header_left'] = 'infolog.index.dates'; $GLOBALS['egw']->js->set_onload("set_style_by_class('table','custom_hide','visibility','visible');"); - if (is_int($query['startdate'])) $query['col_filter'][] = 'info_startdate > '.$GLOBALS['egw']->db->quote($query['startdate']); - if (is_int($query['enddate'])) $query['col_filter'][] = 'info_startdate < '.$GLOBALS['egw']->db->quote($query['enddate']); + if (is_int($query['startdate'])) $query['col_filter'][] = 'info_startdate > '.$GLOBALS['egw']->db->quote($query['startdate']); + if (is_int($query['enddate'])) $query['col_filter'][] = 'info_startdate < '.$GLOBALS['egw']->db->quote($query['enddate']); //unset($query['startdate']); //unset($query['enddate']); } @@ -846,9 +846,20 @@ class infolog_ui $content['info_custom_from'] = (int)$content['info_custom_from']; list($button) = @each($content['button']); + if (!$button && $action) $button = $action; // action selectbox unset($content['button']); if ($button) { + //Copy Infolog + if (($button == 'copy')) + { + unset($content['info_id']); + unset($content['info_datemodified']); + unset($contentt['info_modifier']); + $content['info_owner'] = !(int)$this->owner || !$this->bo->check_perms(EGW_ACL_ADD,0,$this->owner) ? $this->user : $this->owner; + $content['msg'] = lang('Infolog copied - the copy can now be edited'); + $content['info_subject'] = lang('Copy of:').' '.$content['info_subject']; + } //echo "

infolog_ui::edit(info_id=$info_id) '$button' button pressed, content="; _debug_array($content); if (($button == 'save' || $button == 'apply') && isset($content['info_subject']) && empty($content['info_subject'])) { @@ -1275,6 +1286,10 @@ class infolog_ui 'info_confirm' => $this->bo->enums['confirm'], 'info_status' => $this->bo->status[$content['info_type']], 'status' => $history_stati, + 'action' => array( + 'copy' => array('label' => 'Copy', 'title' => 'Copy this Infolog'), + // 'print' => array('label' => 'Print', 'title' => 'Print this Infolog'), + ), ),$readonlys,$preserv+array( // preserved values 'info_id' => $info_id, 'action' => $action, diff --git a/infolog/lang/egw_de.lang b/infolog/lang/egw_de.lang index 941262d1e3..9543cf7ef5 100644 --- a/infolog/lang/egw_de.lang +++ b/infolog/lang/egw_de.lang @@ -26,6 +26,7 @@ a short subject for the entry infolog de einen kurzen Titel für diesen Eintrag abort without deleting infolog de Abruch ohne zu Löschen accept infolog de bei Annahme action infolog de Befehle +actions... infolog de Befehle... actual date and time infolog de aktuelles Datum und Uhrzeit add infolog de Hinzufügen add a file infolog de Datei anhängen @@ -74,6 +75,7 @@ completed infolog de Erledigt configuration infolog de Konfiguration confirm infolog de Bestätigung contact infolog de Kontakt +copy of: infolog de Kopie von: copy your changes to the clipboard, %1reload the entry%2 and merge them. infolog de Kopieren Sie ihre Änderungen in die Zwischenablage, %1laden den Eintrag neu%2 und fügen diese wieder ein. create new links infolog de Neue Verknüpfung erzeugen creates a new field infolog de erstellt ein neues Feld @@ -177,6 +179,7 @@ infolog - import csv-file infolog de InfoLog - Import CSV-Datei infolog - new infolog de InfoLog - Anlegen infolog - new subproject infolog de InfoLog - Anlegen Teilprojekt infolog - subprojects from infolog de InfoLog - Teilprojekte von +infolog copied - the copy can now be edited infolog de Infolog Kopie - Diese Kopie kann jetzt bearbeitet werden infolog entry deleted infolog de InfoLog Eintrag gelöscht infolog entry saved infolog de InfoLog Eintrag gespeichert infolog filter for the main screen infolog de InfoLog Filter für Startseite diff --git a/infolog/lang/egw_en.lang b/infolog/lang/egw_en.lang index a12e28ff2a..da05c87dea 100644 --- a/infolog/lang/egw_en.lang +++ b/infolog/lang/egw_en.lang @@ -26,6 +26,7 @@ a short subject for the entry infolog en a short subject for the entry abort without deleting infolog en Abort without deleting accept infolog en accept action infolog en Action +actions... infolog en Actions... actual date and time infolog en actual date and time add infolog en Add add a file infolog en Add a file @@ -74,6 +75,7 @@ completed infolog en Completed configuration infolog en Configuration confirm infolog en Confirm contact infolog en Contact +copy of: infolog en Copy of: copy your changes to the clipboard, %1reload the entry%2 and merge them. infolog en Copy your changes to the clipboard, %1reload the entry%2 and merge them. create new links infolog en Create new links creates a new field infolog en creates a new field @@ -177,6 +179,7 @@ infolog - import csv-file infolog en InfoLog - Import CSV-File infolog - new infolog en InfoLog - New infolog - new subproject infolog en InfoLog - New Subproject infolog - subprojects from infolog en InfoLog - Subprojects from +infolog copied - the copy can now be edited infolog en Infolog copied - the copy can now be edited infolog entry deleted infolog en InfoLog entry deleted infolog entry saved infolog en InfoLog entry saved infolog filter for the main screen infolog en InfoLog filter for the main screen diff --git a/infolog/setup/etemplates.inc.php b/infolog/setup/etemplates.inc.php index 6c23114967..849c2f1958 100644 --- a/infolog/setup/etemplates.inc.php +++ b/infolog/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application infolog * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2009-11-10 08:57 + * generated by soetemplate::dump4setup() 2009-12-11 09:26 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package infolog @@ -23,9 +23,9 @@ $templ_data[] = array('name' => 'infolog.customfields.status','template' => '',' $templ_data[] = array('name' => 'infolog.delete','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:3:{s:2:"h3";s:2:"30";s:2:"h4";s:2:"50";s:2:"c3";s:7:",bottom";}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"main";s:5:"align";s:6:"center";s:4:"name";s:27:"infolog.index.rows-noheader";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",headertext";s:5:"label";s:45:"Are you shure you want to delete this entry ?";s:5:"align";s:6:"center";}}i:4;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:12:"Yes - Delete";s:4:"name";s:6:"delete";s:4:"help";s:75:"Sub-entries become subs of the parent or main entries, if there\'s no parent";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:34:"Yes - Delete including sub-entries";s:4:"name";s:11:"delete_subs";s:4:"help";s:44:"Delete this entry and all listed sub-entries";}s:5:"align";s:6:"center";i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:11:"No - Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:22:"Abort without deleting";}}}i:5;a:1:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:20:"infolog.index.rows,1";s:4:"span";s:3:"all";s:4:"name";s:2:"nm";}}}s:4:"rows";i:5;s:4:"cols";i:1;s:4:"size";s:12:"100%,,0,,0,0";}}','size' => '100%,,0,,0,0','style' => '','modified' => '1131742953',); -$templ_data[] = array('name' => 'infolog.edit','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:13:{i:0;a:19:{s:1:"A";s:3:"103";s:1:"B";s:3:"260";s:1:"C";s:3:"140";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"c8";s:6:"row_on";s:2:"c9";s:3:"row";s:2:"c7";s:2:"th";s:2:"c6";s:4:",top";s:2:"c5";s:3:"row";s:2:"c2";s:2:"th";s:2:"h6";s:3:"250";s:2:"h7";s:2:",1";s:2:"h2";s:2:"28";s:2:"h1";s:6:",!@msg";s:3:"c11";s:3:"row";s:3:"h11";s:13:",!@info_owner";s:3:"c10";s:3:"row";s:1:"D";s:3:"27%";}i:1;a:4:{s:1:"A";a:5:{s:4:"type";s:4:"html";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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";s:4:"size";s:12:",,,info_type";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:3:"all";s:4:"size";s:6:"2,,0,0";i:1;a:5:{s:4:"type";s:6:"select";s:4:"name";s:9:"info_type";s:8:"onchange";i:1;s:4:"help";s:46:"Type of the log-entry: Note, Phonecall or ToDo";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:3:"int";s:4:"name";s:11:"info_number";s:4:"span";s:7:",infoId";s:8:"readonly";s:1:"1";}}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"Category";s:4:"size";s:11:",,,info_cat";}s:1:"B";a:4:{s:4:"type";s:10:"select-cat";s:4:"size";s:4:"None";s:4:"name";s:8:"info_cat";s:4:"help";s:32:"select a category for this entry";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Parent";}i:2;a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:7:"infolog";s:4:"name";s:14:"info_id_parent";s:5:"align";s:5:"right";s:4:"span";s:7:",noWrap";}s:4:"span";s:3:"all";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Contact";s:4:"size";s:12:",,,info_from";}s:1:"B";a:38:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:12:"info_contact";s:4:"span";s:7:",noWrap";}i:2;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:16:"info_custom_from";s:8:"onchange";s:91:"document.getElementById(form::name(\'info_from\')).style.display=this.checked?\'block\':\'none\';";s:4:"help";s:31:"Check to specify custom contact";}}i:2;a:6:{s:4:"type";s:4:"text";s:4:"size";s:6:"36,255";s:4:"name";s:9:"info_from";s:4:"help";s:80:"Custom contact-information, leave emtpy to use information from most recent link";s:4:"blur";s:11:"@blur_title";s:4:"span";s:21:",$cont[hide_from_css]";}i:3;a:1:{s:4:"type";s:5:"label";}i:4;a:1:{s:4:"type";s:5:"label";}i:5;a:1:{s:4:"type";s:5:"label";}i:6;a:1:{s:4:"type";s:5:"label";}i:7;a:1:{s:4:"type";s:5:"label";}i:8;a:1:{s:4:"type";s:5:"label";}i:9;a:1:{s:4:"type";s:5:"label";}i:10;a:1:{s:4:"type";s:5:"label";}i:11;a:1:{s:4:"type";s:5:"label";}i:12;a:1:{s:4:"type";s:5:"label";}i:13;a:1:{s:4:"type";s:5:"label";}i:14;a:1:{s:4:"type";s:5:"label";}i:15;a:1:{s:4:"type";s:5:"label";}i:16;a:1:{s:4:"type";s:5:"label";}i:17;a:1:{s:4:"type";s:5:"label";}i:18;a:1:{s:4:"type";s:5:"label";}i:19;a:1:{s:4:"type";s:5:"label";}i:20;a:1:{s:4:"type";s:5:"label";}i:21;a:1:{s:4:"type";s:5:"label";}i:22;a:1:{s:4:"type";s:5:"label";}i:23;a:1:{s:4:"type";s:5:"label";}i:24;a:1:{s:4:"type";s:5:"label";}i:25;a:1:{s:4:"type";s:5:"label";}i:26;a:1:{s:4:"type";s:5:"label";}i:27;a:1:{s:4:"type";s:5:"label";}i:28;a:1:{s:4:"type";s:5:"label";}i:29;a:1:{s:4:"type";s:5:"label";}i:30;a:1:{s:4:"type";s:5:"label";}i:31;a:1:{s:4:"type";s:5:"label";}i:32;a:1:{s:4:"type";s:5:"label";}i:33;a:1:{s:4:"type";s:5:"label";}i:34;a:1:{s:4:"type";s:5:"label";}i:35;a:1:{s:4:"type";s:5:"label";}i:36;a:1:{s:4:"type";s:5:"label";}}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:12:",,,info_addr";s:5:"label";s:11:"Phone/Email";}s:1:"D";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"30,255";s:4:"name";s:9:"info_addr";s:4:"help";s:76:"Custom contact-address, leave empty to use information from most recent link";s:4:"span";s:15:",inputFullWidth";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subject";s:4:"size";s:15:",,,info_subject";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"span";s:3:"all";s:4:"name";s:12:"info_subject";s:4:"help";s:29:"a short subject for the entry";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:6;a:4:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:64:"Description|Links|Delegation|Projectmanager|Customfields|History";s:4:"name";s:57:"description|links|delegation|project|customfields|history";s:4:"help";s:133:"longer textual description|Links of this entry|responsible user, priority|Project settings: price, times|Custom fields|Change history";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:7;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:21:"Dates, Status, Access";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:8;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Startdate";s:4:"size";s:17:",,,info_startdate";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"size";s:2:",2";s:4:"name";s:14:"info_startdate";s:4:"help";s:115:"when should the ToDo or Phonecall be started, it shows up from that date in the filter open or own open (startpage)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Enddate";s:4:"size";s:15:",,,info_enddate";}s:1:"D";a:3:{s:4:"type";s:4:"date";s:4:"name";s:12:"info_enddate";s:4:"help";s:49:"til when should the ToDo or Phonecall be finished";}}i:9;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";s:4:"size";s:14:",,,info_status";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:11:"info_status";s:4:"help";s:12:"@status_help";s:8:"onchange";s:183:"if (this.value==\'done\' || this.value==\'billed\') set_element(this.form,\'exec[info_percent]\',\'100\'); else if (this.value==\'not-started\') set_element(this.form,\'exec[info_percent]\',\'0\');";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Completed";s:4:"size";s:15:",,,info_percent";}s:1:"D";a:4:{s:4:"type";s:14:"select-percent";s:4:"name";s:12:"info_percent";s:4:"help";s:17:"Percent completed";s:8:"onchange";s:570:"if (this.value==100 && this.form[\'exec[info_status]\'].value != \'done\' && this.form[\'exec[info_status]\'].value != \'billed\' && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=\'done\'; else if (this.value != 100 && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=this.value != 0 ? \'ongoing\' : \'not-started\'; else if (this.value==0 && this.form[\'exec[info_status]\'].value != \'cancelled\' && this.form[\'exec[info_status]\'].value != \'offer\') this.form[\'exec[info_status]\'].value=\'not-started\'; ";}}i:10;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:21:",,,info_datecompleted";s:5:"label";s:14:"Date completed";}s:1:"B";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:18:"info_datecompleted";s:4:"help";s:84:"Date completed (leave it empty to have it automatic set if status is done or billed)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Private";s:4:"size";s:14:",,,info_access";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:4:"size";s:14:"private,public";s:4:"name";s:11:"info_access";s:4:"help";s:87:"should this entry only be visible to you and people you grant privat access via the ACL";}}i:11;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:10:"info_owner";s:8:"readonly";s:1:"1";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Last modified";}s:1:"D";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"info_modifier";s:8:"readonly";s:1:"1";}i:2;a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:10:",lpadding5";s:4:"name";s:17:"info_datemodified";s:8:"readonly";s:1:"1";}}}i:12;a:4:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:16:"Saves this entry";}s:4:"span";s:1:"2";i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"Apply the changes";}i:3;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:31:"leave without saveing the entry";s:7:"onclick";s:15:"window.close();";}i:4;a:2:{s:4:"type";s:4:"html";s:4:"name";s:2:"js";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:5:"align";s:5:"right";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"delete this entry";s:7:"onclick";s:60:"return $cont[info_anz_subs] || confirm(\'Delete this entry\');";}}}s:4:"rows";i:12;s:4:"cols";i:4;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.hideFrom input { display: none; } +$templ_data[] = array('name' => 'infolog.edit','template' => '','lang' => '','group' => '0','version' => '1.7.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:13:{i:0;a:19:{s:1:"A";s:3:"103";s:1:"B";s:3:"260";s:1:"C";s:3:"140";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"c8";s:6:"row_on";s:2:"c9";s:3:"row";s:2:"c7";s:2:"th";s:2:"c6";s:4:",top";s:2:"c5";s:3:"row";s:2:"c2";s:2:"th";s:2:"h6";s:3:"250";s:2:"h7";s:2:",1";s:2:"h2";s:2:"28";s:2:"h1";s:6:",!@msg";s:3:"c11";s:3:"row";s:3:"h11";s:13:",!@info_owner";s:3:"c10";s:3:"row";s:1:"D";s:3:"27%";}i:1;a:4:{s:1:"A";a:5:{s:4:"type";s:4:"html";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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";s:4:"size";s:12:",,,info_type";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:3:"all";s:4:"size";s:6:"2,,0,0";i:1;a:5:{s:4:"type";s:6:"select";s:4:"name";s:9:"info_type";s:8:"onchange";i:1;s:4:"help";s:46:"Type of the log-entry: Note, Phonecall or ToDo";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:3:"int";s:4:"name";s:11:"info_number";s:4:"span";s:7:",infoId";s:8:"readonly";s:1:"1";}}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"Category";s:4:"size";s:11:",,,info_cat";}s:1:"B";a:4:{s:4:"type";s:10:"select-cat";s:4:"size";s:4:"None";s:4:"name";s:8:"info_cat";s:4:"help";s:32:"select a category for this entry";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Parent";}i:2;a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:7:"infolog";s:4:"name";s:14:"info_id_parent";s:5:"align";s:5:"right";s:4:"span";s:7:",noWrap";}s:4:"span";s:3:"all";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Contact";s:4:"size";s:12:",,,info_from";}s:1:"B";a:38:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:12:"info_contact";s:4:"span";s:7:",noWrap";}i:2;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:16:"info_custom_from";s:8:"onchange";s:91:"document.getElementById(form::name(\'info_from\')).style.display=this.checked?\'block\':\'none\';";s:4:"help";s:31:"Check to specify custom contact";}}i:2;a:6:{s:4:"type";s:4:"text";s:4:"size";s:6:"36,255";s:4:"name";s:9:"info_from";s:4:"help";s:80:"Custom contact-information, leave emtpy to use information from most recent link";s:4:"blur";s:11:"@blur_title";s:4:"span";s:21:",$cont[hide_from_css]";}i:3;a:1:{s:4:"type";s:5:"label";}i:4;a:1:{s:4:"type";s:5:"label";}i:5;a:1:{s:4:"type";s:5:"label";}i:6;a:1:{s:4:"type";s:5:"label";}i:7;a:1:{s:4:"type";s:5:"label";}i:8;a:1:{s:4:"type";s:5:"label";}i:9;a:1:{s:4:"type";s:5:"label";}i:10;a:1:{s:4:"type";s:5:"label";}i:11;a:1:{s:4:"type";s:5:"label";}i:12;a:1:{s:4:"type";s:5:"label";}i:13;a:1:{s:4:"type";s:5:"label";}i:14;a:1:{s:4:"type";s:5:"label";}i:15;a:1:{s:4:"type";s:5:"label";}i:16;a:1:{s:4:"type";s:5:"label";}i:17;a:1:{s:4:"type";s:5:"label";}i:18;a:1:{s:4:"type";s:5:"label";}i:19;a:1:{s:4:"type";s:5:"label";}i:20;a:1:{s:4:"type";s:5:"label";}i:21;a:1:{s:4:"type";s:5:"label";}i:22;a:1:{s:4:"type";s:5:"label";}i:23;a:1:{s:4:"type";s:5:"label";}i:24;a:1:{s:4:"type";s:5:"label";}i:25;a:1:{s:4:"type";s:5:"label";}i:26;a:1:{s:4:"type";s:5:"label";}i:27;a:1:{s:4:"type";s:5:"label";}i:28;a:1:{s:4:"type";s:5:"label";}i:29;a:1:{s:4:"type";s:5:"label";}i:30;a:1:{s:4:"type";s:5:"label";}i:31;a:1:{s:4:"type";s:5:"label";}i:32;a:1:{s:4:"type";s:5:"label";}i:33;a:1:{s:4:"type";s:5:"label";}i:34;a:1:{s:4:"type";s:5:"label";}i:35;a:1:{s:4:"type";s:5:"label";}i:36;a:1:{s:4:"type";s:5:"label";}}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:12:",,,info_addr";s:5:"label";s:11:"Phone/Email";}s:1:"D";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"30,255";s:4:"name";s:9:"info_addr";s:4:"help";s:76:"Custom contact-address, leave empty to use information from most recent link";s:4:"span";s:15:",inputFullWidth";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subject";s:4:"size";s:15:",,,info_subject";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"span";s:3:"all";s:4:"name";s:12:"info_subject";s:4:"help";s:29:"a short subject for the entry";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:6;a:4:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:64:"Description|Links|Delegation|Projectmanager|Customfields|History";s:4:"name";s:57:"description|links|delegation|project|customfields|history";s:4:"help";s:133:"longer textual description|Links of this entry|responsible user, priority|Project settings: price, times|Custom fields|Change history";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:7;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:21:"Dates, Status, Access";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:8;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Startdate";s:4:"size";s:17:",,,info_startdate";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"size";s:2:",2";s:4:"name";s:14:"info_startdate";s:4:"help";s:115:"when should the ToDo or Phonecall be started, it shows up from that date in the filter open or own open (startpage)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Enddate";s:4:"size";s:15:",,,info_enddate";}s:1:"D";a:3:{s:4:"type";s:4:"date";s:4:"name";s:12:"info_enddate";s:4:"help";s:49:"til when should the ToDo or Phonecall be finished";}}i:9;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";s:4:"size";s:14:",,,info_status";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:11:"info_status";s:4:"help";s:12:"@status_help";s:8:"onchange";s:183:"if (this.value==\'done\' || this.value==\'billed\') set_element(this.form,\'exec[info_percent]\',\'100\'); else if (this.value==\'not-started\') set_element(this.form,\'exec[info_percent]\',\'0\');";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Completed";s:4:"size";s:15:",,,info_percent";}s:1:"D";a:4:{s:4:"type";s:14:"select-percent";s:4:"name";s:12:"info_percent";s:4:"help";s:17:"Percent completed";s:8:"onchange";s:570:"if (this.value==100 && this.form[\'exec[info_status]\'].value != \'done\' && this.form[\'exec[info_status]\'].value != \'billed\' && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=\'done\'; else if (this.value != 100 && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=this.value != 0 ? \'ongoing\' : \'not-started\'; else if (this.value==0 && this.form[\'exec[info_status]\'].value != \'cancelled\' && this.form[\'exec[info_status]\'].value != \'offer\') this.form[\'exec[info_status]\'].value=\'not-started\'; ";}}i:10;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:21:",,,info_datecompleted";s:5:"label";s:14:"Date completed";}s:1:"B";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:18:"info_datecompleted";s:4:"help";s:84:"Date completed (leave it empty to have it automatic set if status is done or billed)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Private";s:4:"size";s:14:",,,info_access";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:4:"size";s:14:"private,public";s:4:"name";s:11:"info_access";s:4:"help";s:87:"should this entry only be visible to you and people you grant privat access via the ACL";}}i:11;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:10:"info_owner";s:8:"readonly";s:1:"1";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Last modified";}s:1:"D";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"info_modifier";s:8:"readonly";s:1:"1";}i:2;a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:10:",lpadding5";s:4:"name";s:17:"info_datemodified";s:8:"readonly";s:1:"1";}}}i:12;a:4:{s:1:"A";a:8:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:16:"Saves this entry";}s:4:"span";s:1:"2";i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"Apply the changes";}i:3;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:31:"leave without saveing the entry";s:7:"onclick";s:15:"window.close();";}i:4;a:5:{s:4:"type";s:6:"select";s:4:"name";s:6:"action";s:4:"help";s:39:"Execute a further action for this entry";s:4:"size";s:10:"Actions...";s:8:"onchange";s:34:"this.form.submit(); this.value=\'\';";}i:5;a:2:{s:4:"type";s:4:"html";s:4:"name";s:2:"js";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:5:"align";s:5:"right";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"delete this entry";s:7:"onclick";s:60:"return $cont[info_anz_subs] || confirm(\'Delete this entry\');";}}}s:4:"rows";i:12;s:4:"cols";i:4;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.hideFrom input { display: none; } .link_select select { width: 250px; } -.description textarea { width: 98%; }','modified' => '1243240333',); +.description textarea { width: 98%; }','modified' => '1260480743',); $templ_data[] = array('name' => 'infolog.edit.customfields','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"h2";s:4:"100%";s:2:"h1";s:2:"20";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Custom fields";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"size";s:10:"@info_type";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:25:"100%,245,,row_on,0,0,auto";s:7:"options";a:6:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"245";i:6;s:4:"auto";i:4;s:1:"0";i:5;s:1:"0";}}}','size' => '100%,245,,row_on,0,0,auto','style' => '','modified' => '1061732462',); @@ -53,9 +53,6 @@ $templ_data[] = array('name' => 'infolog.index.rows','template' => '','lang' => $templ_data[] = array('name' => 'infolog.index.rows-noheader','template' => '','lang' => '','group' => '0','version' => '1.7.003','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:10:{s:1:"A";s:2:"2%";s:1:"F";s:37:",@no_info_used_time_info_planned_time";s:1:"G";s:34:"8%,@no_info_onwer_info_responsible";s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"H";s:25:"12%,@no_info_datemodified";s:1:"D";s:3:"120";s:1:"I";s:14:"3%,@no_actions";s:1:"C";s:17:",@no_customfields";s:1:"J";s:14:"3%,@no_actions";}i:1;a:10:{s:1:"A";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}i:2;a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";s:5:"align";s:6:"center";}i:3;a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Completed";s:5:"align";s:5:"right";}}s:1:"B";a:8:{s:4:"type";s:4:"vbox";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"Subject";s:4:"name";s:12:"info_subject";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Description";s:4:"name";s:8:"info_des";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subject";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Description";}s:7:"options";a:1:{i:0;s:1:"2";}}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:4:"name";s:12:"customfields";s:4:"size";s:13:"Custom fields";}i:2;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:1:"A";s:17:",@no_customfields";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:25:"customfields[$row][label]";s:4:"size";s:13:"Custom fields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:7:",,,,0,0";s:7:"options";a:2:{i:4;s:1:"0";i:5;s:1:"0";}}}s:1:"D";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Startdate";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Enddate";}i:3;a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Date completed";}}s:1:"E";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Times";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"span";s:8:",planned";s:5:"label";s:7:"planned";}}s:1:"F";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"3,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Times";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"span";s:8:",planned";s:5:"label";s:7:"planned";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"span";s:10:",replanned";s:5:"label";s:10:"Re-planned";}}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Responsible";}}s:1:"H";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"last changed";}s:1:"I";a:3:{s:4:"type";s:5:"label";s:5:"label";s:3:"Sub";s:4:"span";s:8:",noPrint";}s:1:"J";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:4:"span";s:8:",noPrint";}}i:2;a:10:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:4:"4,,5";s:5:"align";s:6:"center";i:1;a:3:{s:4:"type";s:5:"image";s:5:"label";s:20:"$row_cont[info_type]";s:4:"name";s:17:"${row}[info_type]";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:57:"$row_cont[info_status_label],$row_cont[info_status_label]";s:5:"label";s:28:"$row_cont[info_status_label]";s:4:"name";s:31:"edit_status[$row_cont[info_id]]";s:4:"help";s:43:"Change the status of an entry, eg. close it";s:7:"onclick";s:187:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&info_id=$row_cont[info_id]\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:3;a:6:{s:4:"type";s:6:"button";s:4:"size";s:23:"$row_cont[info_percent]";s:5:"label";s:23:"$row_cont[info_percent]";s:4:"name";s:32:"edit_percent[$row_cont[info_id]]";s:4:"help";s:43:"Change the status of an entry, eg. close it";s:7:"onclick";s:187:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&info_id=$row_cont[info_id]\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:4;a:4:{s:4:"type";s:5:"image";s:5:"label";s:24:"$row_cont[info_percent2]";s:4:"name";s:21:"{$row}[info_percent2]";s:7:"onclick";s:187:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&info_id=$row_cont[info_id]\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}}s:1:"B";a:7:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"4,,0,0";i:1;a:4:{s:4:"type";s:4:"link";s:5:"label";s:23:"%s $row_cont[info_addr]";s:4:"name";s:17:"${row}[info_link]";s:4:"size";s:1:"b";}i:2;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:"span";s:21:",$row_cont[sub_class]";s:7:"no_lang";s:1:"1";s:4:"name";s:20:"${row}[info_subject]";}i:2;a:5:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:5:"align";s:5:"right";s:4:"name";s:19:"{$row}[info_number]";s:4:"span";s:7:",infoId";}}i:3;a:4:{s:4:"type";s:5:"label";s:4:"size";s:3:",,1";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[info_des]";}i:4;a:2:{s:4:"type";s:11:"link-string";s:4:"name";s:17:"${row}[filelinks]";}s:4:"span";s:10:",fullWidth";}s:1:"C";a:4:{s:4:"type";s:17:"customfields-list";s:4:"span";s:13:",customfields";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"D";a:8:{s:4:"type";s:4:"vbox";s:4:"size";s:8:"3,,0,0,1";s:4:"data";a:4:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:5:{s:4:"type";s:9:"date-time";s:4:"size";s:2:",8";s:4:"name";s:22:"${row}[info_startdate]";s:8:"readonly";s:1:"1";s:4:"span";s:12:",fixedHeight";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"date";s:4:"span";s:33:",$row_cont[end_class] fixedHeight";s:4:"name";s:20:"${row}[info_enddate]";s:8:"readonly";s:1:"1";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:26:"${row}[info_datecompleted]";s:8:"readonly";s:1:"1";s:4:"span";s:12:",fixedHeight";}}}s:4:"rows";i:3;s:4:"cols";i:1;i:1;a:5:{s:4:"type";s:9:"date-time";s:4:"size";s:2:",8";s:4:"name";s:22:"${row}[info_startdate]";s:8:"readonly";s:1:"1";s:4:"span";s:12:",fixedHeight";}i:2;a:4:{s:4:"type";s:4:"date";s:4:"span";s:33:",$row_cont[end_class] fixedHeight";s:4:"name";s:20:"${row}[info_enddate]";s:8:"readonly";s:1:"1";}i:3;a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:26:"${row}[info_datecompleted]";s:8:"readonly";s:1:"1";s:4:"span";s:12:",fixedHeight";}}s:1:"E";a:7:{s:4:"type";s:4:"vbox";s:4:"data";a:4:{i:0;a:1:{s:2:"h2";s:14:",@no_timesheet";}i:1;a:1:{s:1:"A";a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:22:"${row}[info_used_time]";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";s:4:"span";s:3:"all";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:27:"${row}[info_sum_timesheets]";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";}}i:3;a:1:{s:1:"A";a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:25:"${row}[info_planned_time]";s:4:"span";s:11:"all,planned";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:4:"hbox";s:8:"readonly";s:1:"1";s:4:"size";s:6:"2,,1,0";i:1;a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:22:"${row}[info_used_time]";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";}i:2;a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:27:"${row}[info_sum_timesheets]";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";s:4:"span";s:10:",timesheet";}}i:2;a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:25:"${row}[info_planned_time]";s:4:"span";s:11:"all,planned";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";}}s:1:"F";a:8:{s:4:"type";s:4:"vbox";s:4:"data";a:4:{i:0;a:1:{s:2:"h2";s:14:",@no_timesheet";}i:1;a:1:{s:1:"A";a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:22:"${row}[info_used_time]";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";s:4:"span";s:3:"all";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:27:"${row}[info_sum_timesheets]";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";}}i:3;a:1:{s:1:"A";a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:25:"${row}[info_planned_time]";s:4:"span";s:11:"all,planned";s:8:"readonly";s:1:"1";s:4:"size";s:5:",,,,1";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:6:"3,,0,0";i:1;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"3,,1,0";i:1;a:3:{s:4:"type";s:5:"image";s:5:"label";s:5:"Times";s:4:"name";s:9:"timesheet";}i:2;a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:22:"${row}[info_used_time]";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";}s:4:"name";s:11:"l_used_time";i:3;a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:27:"${row}[info_sum_timesheets]";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";s:4:"span";s:10:",timesheet";}}i:2;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,1,0";i:1;a:3:{s:4:"type";s:5:"image";s:5:"label";s:12:"planned time";s:4:"name";s:11:"k_alarm.png";}i:2;a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:25:"${row}[info_planned_time]";s:4:"span";s:11:"all,planned";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";}s:4:"name";s:10:"lplanified";}i:3;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,1,0";i:1;a:3:{s:4:"type";s:5:"image";s:5:"label";s:15:"Re-planned time";s:4:"name";s:14:"agt_reload.png";}i:2;a:5:{s:4:"type";s:13:"date-duration";s:4:"name";s:27:"${row}[info_replanned_time]";s:4:"span";s:13:"all,replanned";s:8:"readonly";s:1:"1";s:4:"size";s:16:"@duration_format";}s:4:"name";s:11:"replanified";}}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:18:"${row}[info_owner]";s:8:"readonly";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:24:"${row}[info_responsible]";s:8:"readonly";s:1:"1";s:4:"size";s:1:"5";}}s:1:"H";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:5:"2,0,0";i:1;a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:25:"${row}[info_datemodified]";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:21:"${row}[info_modifier]";s:8:"readonly";s:1:"1";}}s:1:"I";a:8:{s:4:"type";s:4:"vbox";s:4:"size";s:5:"4,0,0";s:5:"align";s:6:"center";i:1;a:7:{s:4:"type";s:6:"button";s:4:"size";s:3:"new";s:5:"label";s:7:"Add sub";s:5:"align";s:6:"center";s:4:"name";s:22:"sp[$row_cont[info_id]]";s:4:"help";s:46:"Add a new sub-task, -note, -call to this entry";s:7:"onclick";s:199:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&action=sp&action_id=$row_cont[info_id]\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:8:"view.gif";s:5:"label";s:9:"View subs";s:5:"align";s:6:"center";s:4:"name";s:24:"view[$row_cont[info_id]]";s:4:"help";s:27:"View all subs of this entry";}i:3;a:6:{s:4:"type";s:6:"button";s:4:"size";s:10:"parent.gif";s:5:"label";s:11:"View parent";s:5:"align";s:6:"center";s:4:"name";s:31:"view[$row_cont[info_id_parent]]";s:4:"help";s:46:"View the parent of this entry and all his subs";}i:4;a:6:{s:4:"type";s:6:"button";s:4:"size";s:9:"timesheet";s:5:"label";s:19:"Add timesheet entry";s:4:"name";s:29:"timesheet[$row_cont[info_id]]";s:7:"onclick";s:234:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit&link_app[]=infolog&link_id[]=$row_cont[info_id]$row_cont[extra_links]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";s:5:"align";s:6:"center";}s:4:"span";s:8:",noPrint";}s:1:"J";a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:7:"2,0,0,0";s:4:"span";s:8:",noPrint";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:24:"edit[$row_cont[info_id]]";s:4:"help";s:15:"Edit this entry";s:7:"onclick";s:187:"window.open(egw::link(\'/index.php\',\'menuaction=infolog.infolog_ui.edit&info_id=$row_cont[info_id]\'),\'_blank\',\'dependent=yes,width=750,height=600,scrollbars=yes,status=yes\'); return false;";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:26:"delete[$row_cont[info_id]]";s:4:"help";s:17:"Delete this entry";s:7:"onclick";s:64:"return $row_cont[info_anz_subs] || confirm(\'Delete this entry\');";}}i:2;a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:7:"4,0,0,0";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:4:"done";s:5:"label";s:5:"Close";s:4:"name";s:25:"close[$row_cont[info_id]]";s:4:"help";s:37:"Sets the status of this entry to done";}i:2;a:5:{s:4:"type";s:6:"button";s:4:"size";s:8:"done_all";s:5:"label";s:9:"Close all";s:4:"name";s:29:"close_all[$row_cont[info_id]]";s:4:"help";s:50:"Sets the status of this entry and its subs to done";}s:4:"span";s:8:",noPrint";i:3;a:1:{s:4:"type";s:5:"label";}i:4;a:1:{s:4:"type";s:5:"label";}}s:4:"span";s:8:",noPrint";i:3;a:5:{s:4:"type";s:5:"image";s:4:"name";s:18:"filemanager/navbar";s:4:"size";s:92:"/index.php?menuaction=filemanager.filemanager_ui.index&path=/apps/infolog/$row_cont[info_id]";s:4:"span";s:8:",image16";s:5:"label";s:11:"Filemanager";}}}}s:4:"rows";i:2;s:4:"cols";i:10;}}','size' => '','style' => '','modified' => '1242996156',); -$templ_data[] = array('name' => 'infolog.Lebert.Baienfurt.Kopf','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"c1";s:4:",top";}i:1;a:2:{s:1:"A";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:5:"label";s:17:"Lebert + Co. GmbH";s:4:"span";s:11:",my_heading";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:23:"International Spedition";}i:3;a:2:{s:4:"type";s:5:"label";s:5:"label";s:18:"Eisenbahnstrasse 4";}i:4;a:2:{s:4:"type";s:5:"label";s:5:"label";s:15:"88255 Baienfurt";}}s:1:"B";a:4:{s:4:"type";s:5:"image";s:4:"name";s:8:"logo.png";s:7:"no_lang";s:1:"1";s:5:"align";s:5:"right";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"size";s:14:"100%,,,my_form";s:7:"options";a:2:{i:3;s:7:"my_form";i:0;s:4:"100%";}}}','size' => '100%,,,my_form','style' => '.xmy_form td { font-size: 20pt; } -.my_heading { font-size: 120%; font-weight: bold; }','modified' => '1158752011',); - $templ_data[] = array('name' => 'infolog.test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:19:"customfields-header";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1197441373',); $templ_data[] = array('name' => 'infolog.widget.infolog-value','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:7:{s:2:"c1";s:3:"row";s:2:"c4";s:3:"row";s:2:"c5";s:3:"row";s:2:"c2";s:3:"row";s:2:"c6";s:3:"row";s:2:"h6";s:14:",!@type=button";s:2:"c3";s:3:"row";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:6:{s:4:"type";s:14:"infolog-fields";s:4:"name";s:10:"options[0]";s:4:"help";s:21:"Contact field to show";s:4:"span";s:3:"all";s:5:"label";s:5:"Field";s:7:"options";a:0:{}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:2;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Compare";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:10:"options[1]";s:4:"help";s:69:"show a X if content equals this compare value, otherwise show nothing";}s:1:"C";a:6:{s:4:"type";s:4:"text";s:4:"size";s:2:"40";s:4:"span";s:3:"all";s:5:"label";s:12:"Alternatives";s:4:"name";s:10:"options[2]";s:4:"help";s:77:"colon (:) separated list of field names to use if value is empty or to sum up";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Contactfield";}s:1:"B";a:2:{s:4:"type";s:14:"contact-fields";s:4:"name";s:10:"options[3]";}s:1:"C";a:5:{s:4:"type";s:4:"text";s:4:"span";s:1:"2";s:5:"label";s:19:"Regular expression ";s:4:"name";s:10:"options[4]";s:4:"help";s:31:"first argument for preg_replace";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:5:{s:4:"type";s:4:"text";s:4:"span";s:1:"2";s:5:"label";s:11:"Replacement";s:4:"name";s:10:"options[5]";s:4:"help";s:33:"second parameter for preg_replace";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";s:5:"label";s:11:"Span, Class";s:4:"span";s:1:"2";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:5;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";s:4:"span";s:3:"all";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:6;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}i:2;a:6:{s:4:"type";s:4:"text";s:4:"size";s:2:"53";s:4:"span";s:27:"all,leftPad5 inputFullWidth";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";s:5:"align";s:5:"right";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:6;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1242559977',); diff --git a/infolog/templates/default/edit.xet b/infolog/templates/default/edit.xet index c51183fc73..dd7780a4cb 100644 --- a/infolog/templates/default/edit.xet +++ b/infolog/templates/default/edit.xet @@ -44,7 +44,7 @@ -