diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php index 0bc417bd3d..69eab752dc 100644 --- a/calendar/inc/class.calendar_uilist.inc.php +++ b/calendar/inc/class.calendar_uilist.inc.php @@ -99,23 +99,28 @@ class calendar_uilist extends calendar_ui if (is_array($content) && $content['nm']['rows']['delete']) { - list($id) = each($content['nm']['rows']['delete']); - - if ($this->bo->delete($id)) - { - $msg = lang('Event deleted'); - } + // handle a single delete like delete with the checkboxes + list($id) = @each($content['nm']['rows']['delete']); + $content['action'] = 'delete'; + $content['nm']['rows']['checked'] = array($id); } - //Delete all selected Entrys - if (is_array($content) && $content['deleteall']) + + // Handle actions + if ($content['action'] != '') { - //_debug_array($content); - - foreach($content['nm']['rows']['checked'] as $num => $id) + if (!count($content['nm']['rows']['checked']) && !$content['use_all']) { + $msg = lang('You need to select some events first'); + } + else { - if ($this->bo->delete($id)) + if ($this->action($content['action'],$content['nm']['rows']['checked'],$content['use_all'], + $success,$failed,$action_msg,'calendar_list',$msg)) { - $msg .= lang('Event deleted'); + $msg .= lang('%1 event(s) %2',$success,$action_msg); + } + elseif(is_null($msg)) + { + $msg .= lang('%1 event(s) %2, %3 failed because of insufficent rights !!!',$success,$action_msg,$failed); } } } @@ -146,9 +151,22 @@ class calendar_uilist extends calendar_ui { $this->adjust_for_search($_REQUEST['keywords'],$content['nm']); } - return $etpl->exec('calendar.calendar_uilist.listview',$content,array( - 'filter' => &$this->date_filters, - ),$readonlys,'',$home ? -1 : 0); + $sel_options = array( + 'action' => array( + 'delete' => array('label' => 'Delete', 'title' => 'Delete this event'), + 'ical' => array('label' => 'Export (iCal)', 'title' => 'Download this event as iCal'), + ), + 'filter' => &$this->date_filters + ); + foreach($this->bo->verbose_status as $key => $value) + { + if($key == 'G') continue; + $sel_options['action'][lang('Change your participant status')]['status-'.$key] = $value; + } + unset($sel_options['action'][lang('Change your participant status')]['G']); + $GLOBALS['egw_info']['flags']['java_script'] .= $this->get_javascript(); + + return $etpl->exec('calendar.calendar_uilist.listview',$content,$sel_options,$readonlys,'',$home ? -1 : 0); } /** @@ -350,4 +368,120 @@ class calendar_uilist extends calendar_ui //_debug_array($rows); return $this->bo->total; } + + /** + * apply an action to multiple events + * + * @param string/int $action 'delete', 'ical', 'print', 'email' + * @param array $checked event id's to use if !$use_all + * @param boolean $use_all if true use all events of the current selection (in the session) + * @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 events 'deleted' + * @param string/array $session_name 'calendar_list' + * @return boolean true if all actions succeded, false otherwise + */ + function action($action,$checked,$use_all,&$success,&$failed,&$action_msg,$session_name,&$msg) + { + //echo '
' . __METHOD__ . "('$action',".print_r($checked,true).','.(int)$use_all.",...)
\n"; + $success = $failed = 0; + + // Split out combined values + if(strpos($action, 'status') !== false) { + list($action, $status) = explode('-', $action); + } + + if ($use_all) + { + // get the whole selection + $query = is_array($session_name) ? $session_name : egw_session::appsession($session_name,'calendar'); + @set_time_limit(0); // switch off the execution time limit, as for big selections it's too small + $query['num_rows'] = -1; // all + $this->get_rows($query,$checked,$readonlys,($action != 'ical')); // true = only return the id's + } else { + // Pull the date for recurring events + $split = array(); + foreach($checked as $key) { + list($id, $recur_date) = explode(':', $key); + $split[] = array( + 'id' => $id, + 'recur_date' => $recur_date + ); + } + $checked = $split; + } + + // Actions where one action is done to the group + switch($action) + { + case 'ical': + $boical = new calendar_ical(); + $ical =& $boical->exportVCal($checked,'2.0','PUBLISH',false); + html::content_header($content['file'] ? $content['file'] : 'event.ics','text/calendar',bytes($ical)); + echo $ical; + common::egw_exit(); + break; + + } + + // Actions where the action is applied to each entry + foreach($checked as $event) + { + $id = $event['id']; + $recur_date = $event['recur_date']; + switch($action) + { + case 'delete': + $action_msg = lang('deleted'); + if ($this->bo->check_perms(EGW_ACL_DELETE,$id)) + { + if($this->bo->delete($id, $recur_date)) + { + $success++; + } + } + else + { + $failure++; + } + break; + case 'status': + $event = $this->bo->read($id, $recur_date); + $old_status = $event['participants'][$GLOBALS['egw_info']['user']['account_id']]; + calendar_so::split_status($old_status, $quantity, $role); + if ($old_status != $status) + { + //echo "$uid: status changed '$data[old_status]' --> '$status<'/p>\n"; + $new_status = calendar_so::combine_status($status, $quantity, $role); + if ($this->bo->set_status($id,$GLOBALS['egw_info']['user']['account_id'],$new_status,$recur_date)) + { + $success++; + $msg = lang('Status changed'); + } + } + break; + } + } + } + + public function get_javascript() + { + return ''; + } } diff --git a/calendar/setup/etemplates.inc.php b/calendar/setup/etemplates.inc.php index 6d9a65494f..fa8f3f3553 100644 --- a/calendar/setup/etemplates.inc.php +++ b/calendar/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application calendar * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2010-03-26 09:18 + * generated by soetemplate::dump4setup() 2010-04-05 12:17 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package calendar @@ -47,11 +47,11 @@ $templ_data[] = array('name' => 'calendar.freetimesearch.rows','template' => '', $templ_data[] = array('name' => 'calendar.import','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:5:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"iCal file";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:9:"ical_file";s:6:"needed";s:1:"1";}}i:3;a:2:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"Import";s:4:"name";s:6:"import";}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:2;s:5:"align";s:6:"center";s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131469789',); -$templ_data[] = array('name' => 'calendar.list','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:1:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"size";s:18:"calendar.list.rows";s:4:"name";s:2:"nm";}}i:3;a:1:{s:1:"A";a:9:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:6:"needed";s:1:"1";s:5:"align";s:5:"right";i:1;a:6:{s:4:"type";s:6:"button";s:4:"name";s:9:"deleteall";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:22:"Delete selected events";s:7:"onclick";s:42:"return confirm(\'Delete selected events?\');";}i:2;a:7:{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:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.noWrap { white-space: nowrap; }','modified' => '1250536279',); +$templ_data[] = array('name' => 'calendar.list','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:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:1:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"size";s:18:"calendar.list.rows";s:4:"name";s:2:"nm";}}i:3;a:1:{s:1:"A";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:124:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown events!!!\')) this.checked=false;";s:4:"help";s:65:"Apply the action on the whole query, NOT only the shown events!!!";}i:2;a:6:{s:4:"type";s:6:"select";s:8:"onchange";s:16:"do_action(this);";s:4:"size";s:19:"Select an action...";s:7:"no_lang";s:1:"1";s:4:"name";s:6:"action";s:4:"help";s:16:"Select an action";}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:3;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.noWrap { white-space: nowrap; }','modified' => '1270071970',); $templ_data[] = array('name' => 'calendar.list.dates','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:10:{s:4:"type";s:4:"hbox";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:"size";s:1:"4";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Start";}i:2;a:2:{s:4:"type";s:4:"date";s:4:"name";s:9:"startdate";}i:3;a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"End";}i:4;a:2:{s:4:"type";s:4:"date";s:4:"name";s:7:"enddate";}s:4:"span";s:12:",custom_hide";}}','size' => '','style' => '.custom_hide { visibility: hidden; }','modified' => '1173420675',); -$templ_data[] = array('name' => 'calendar.list.rows','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:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"B";s:3:"40%";}i:1;a:13:{s:1:"A";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Start";s:4:"name";s:9:"cal_start";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"cal_end";s:5:"label";s:3:"End";}}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:9:"cal_title";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Description";s:4:"name";s:15:"cal_description";}}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:9:"cal_title";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Description";s:4:"name";s:15:"cal_description";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:10:"Recurrence";s:4:"name";s:6:"recure";}s:1:"F";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Project";s:4:"name";s:5:"pm_id";}s:1:"G";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";}s:1:"H";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:9:"cal_owner";s:5:"label";s:5:"Owner";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:12:"cal_location";s:5:"label";s:8:"Location";}}s:1:"I";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:9:"cal_owner";s:5:"label";s:5:"Owner";s:8:"readonly";s:1:"1";}s:1:"J";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:12:"cal_location";s:5:"label";s:8:"Location";}s:1:"K";a:4:{s:4:"size";s:3:"All";s:4:"name";s:11:"participant";s:4:"type";s:23:"nextmatch-accountfilter";s:5:"label";s:12:"Participants";}s:1:"L";a:4:{s:4:"type";s:22:"nextmatch-customfields";s:5:"label";s:13:"Custom fields";s:4:"name";s:3:"cfs";s:8:"readonly";s:1:"1";}s:1:"M";a:6:{s:4:"type";s:4:"hbox";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:4:"help";s:9:"Check all";s:4:"span";s:8:",noPrint";}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";}}}i:2;a:13:{s:1:"A";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[start]";s:8:"readonly";s:1:"1";s:4:"size";s:14:",$cont[format]";s:4:"span";s:7:",noWrap";}i:2;a:5:{s:4:"type";s:9:"date-time";s:4:"name";s:11:"${row}[end]";s:8:"readonly";s:1:"1";s:4:"size";s:14:",$cont[format]";s:4:"span";s:7:",noWrap";}s:4:"name";s:5:"start";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:5:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";s:4:"size";s:1:"b";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:19:"${row}[description]";s:7:"no_lang";s:1:"1";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[recure]";s:7:"no_lang";s:1:"1";}}s:1:"C";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"name";s:19:"${row}[description]";s:7:"no_lang";s:1:"1";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[recure]";}s:1:"F";a:3:{s:4:"type";s:11:"link-string";s:4:"size";s:23:"calendar,projectmanager";s:4:"name";s:10:"${row}[id]";}s:1:"G";a:3:{s:4:"type";s:10:"select-cat";s:4:"name";s:16:"${row}[category]";s:8:"readonly";s:1:"1";}s:1:"H";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";s:4:"span";s:7:",noWrap";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[location]";s:7:"no_lang";s:1:"1";}}s:1:"I";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";s:4:"span";s:7:",noWrap";}s:1:"J";a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[location]";s:7:"no_lang";s:1:"1";}s:1:"K";a:4:{s:4:"type";s:4:"html";s:4:"name";s:13:"${row}[parts]";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"L";a:2:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";}s:1:"M";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"view";s:5:"label";s:4:"View";s:4:"name";s:19:"view[$row_cont[id]]";s:4:"help";s:15:"View this event";s:7:"onclick";s:206:"window.open(egw::link(\'/index.php\',\'menuaction=calendar.calendar_uiforms.edit&cal_id=$row_cont[id]&date=$row_cont[date]\'),\'425\',\'dependent=yes,width=750,height=450,scrollbars=yes,status=yes\'); return false;";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:19:"edit[$row_cont[id]]";s:4:"help";s:15:"Edit this event";s:7:"onclick";s:206:"window.open(egw::link(\'/index.php\',\'menuaction=calendar.calendar_uiforms.edit&cal_id=$row_cont[id]&date=$row_cont[date]\'),\'425\',\'dependent=yes,width=750,height=450,scrollbars=yes,status=yes\'); return false;";}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:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";}s:4:"span";s:8:",noPrint";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:"rows";i:2;s:4:"cols";i:13;s:7:"options";a:0:{}s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1250536303',); +$templ_data[] = array('name' => 'calendar.list.rows','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:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"B";s:3:"40%";}i:1;a:13:{s:1:"A";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Start";s:4:"name";s:9:"cal_start";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:7:"cal_end";s:5:"label";s:3:"End";}}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:9:"cal_title";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Description";s:4:"name";s:15:"cal_description";}}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:9:"cal_title";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Description";s:4:"name";s:15:"cal_description";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:10:"Recurrence";s:4:"name";s:6:"recure";}s:1:"F";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Project";s:4:"name";s:5:"pm_id";}s:1:"G";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";}s:1:"H";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:9:"cal_owner";s:5:"label";s:5:"Owner";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:12:"cal_location";s:5:"label";s:8:"Location";}}s:1:"I";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:9:"cal_owner";s:5:"label";s:5:"Owner";s:8:"readonly";s:1:"1";}s:1:"J";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:12:"cal_location";s:5:"label";s:8:"Location";}s:1:"K";a:4:{s:4:"size";s:3:"All";s:4:"name";s:11:"participant";s:4:"type";s:23:"nextmatch-accountfilter";s:5:"label";s:12:"Participants";}s:1:"L";a:4:{s:4:"type";s:22:"nextmatch-customfields";s:5:"label";s:13:"Custom fields";s:4:"name";s:3:"cfs";s:8:"readonly";s:1:"1";}s:1:"M";a:6:{s:4:"type";s:4:"hbox";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:4:"help";s:9:"Check all";s:4:"span";s:8:",noPrint";}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";}}}i:2;a:13:{s:1:"A";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[start]";s:8:"readonly";s:1:"1";s:4:"size";s:14:",$cont[format]";s:4:"span";s:7:",noWrap";}i:2;a:5:{s:4:"type";s:9:"date-time";s:4:"name";s:11:"${row}[end]";s:8:"readonly";s:1:"1";s:4:"size";s:14:",$cont[format]";s:4:"span";s:7:",noWrap";}s:4:"name";s:5:"start";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:5:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";s:4:"size";s:1:"b";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:19:"${row}[description]";s:7:"no_lang";s:1:"1";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[recure]";s:7:"no_lang";s:1:"1";}}s:1:"C";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"name";s:19:"${row}[description]";s:7:"no_lang";s:1:"1";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[recure]";}s:1:"F";a:3:{s:4:"type";s:11:"link-string";s:4:"size";s:23:"calendar,projectmanager";s:4:"name";s:10:"${row}[id]";}s:1:"G";a:3:{s:4:"type";s:10:"select-cat";s:4:"name";s:16:"${row}[category]";s:8:"readonly";s:1:"1";}s:1:"H";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";s:4:"span";s:7:",noWrap";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[location]";s:7:"no_lang";s:1:"1";}}s:1:"I";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";s:4:"span";s:7:",noWrap";}s:1:"J";a:3:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[location]";s:7:"no_lang";s:1:"1";}s:1:"K";a:4:{s:4:"type";s:4:"html";s:4:"name";s:13:"${row}[parts]";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"L";a:2:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";}s:1:"M";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"view";s:5:"label";s:4:"View";s:4:"name";s:19:"view[$row_cont[id]]";s:4:"help";s:15:"View this event";s:7:"onclick";s:206:"window.open(egw::link(\'/index.php\',\'menuaction=calendar.calendar_uiforms.edit&cal_id=$row_cont[id]&date=$row_cont[date]\'),\'425\',\'dependent=yes,width=750,height=450,scrollbars=yes,status=yes\'); return false;";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:19:"edit[$row_cont[id]]";s:4:"help";s:15:"Edit this event";s:7:"onclick";s:206:"window.open(egw::link(\'/index.php\',\'menuaction=calendar.calendar_uiforms.edit&cal_id=$row_cont[id]&date=$row_cont[date]\'),\'425\',\'dependent=yes,width=750,height=450,scrollbars=yes,status=yes\'); return false;";}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:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";}s:4:"span";s:8:",noPrint";i:4;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:9:"checked[]";s:4:"size";s:35:"$row_cont[id]:$row_cont[recur_date]";s:4:"help";s:45:"Select multiple contacts for a further action";s:5:"align";s:5:"right";}}}}s:4:"rows";i:2;s:4:"cols";i:13;s:7:"options";a:0:{}s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1250536303',); $templ_data[] = array('name' => 'calendar.print','template' => '','lang' => '','group' => '0','version' => '1.6.001','data' => 'a:1:{i:0;a:3:{s:4:"size";s:6:"1,,0,0";s:4:"type";s:4:"hbox";i:1;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:15:{i:0;a:13:{s:1:"A";s:2:"95";s:2:"c2";s:2:"th";s:2:"c5";s:3:"row";s:2:"c6";s:7:"row_off";s:2:"c7";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"c8";s:3:"row";s:2:"c9";s:3:"row";s:2:"h2";s:2:"28";s:2:"c1";s:2:"th";s:3:"c10";s:4:",top";s:3:"c11";s:2:"th";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"image";s:4:"name";s:5:"print";s:7:"onclick";s:15:"window.print();";}s:1:"B";a:4:{s:4:"type";s:5:"label";s:4:"span";s:5:",bold";s:5:"label";s:8:"Calendar";s:4:"size";s:4:"bold";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Title";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"name";s:5:"title";s:4:"size";s:6:"80,255";s:8:"readonly";s:1:"1";s:4:"span";s:3:"all";}}i:3;a:2:{s:1:"A";a:4:{s:5:"width";s:2:"95";s:4:"size";s:8:",,,start";s:4:"type";s:5:"label";s:5:"label";s:5:"Start";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"name";s:5:"start";s:4:"type";s:9:"date-time";s:8:"readonly";s:1:"1";}i:2;a:7:{s:5:"label";s:9:"whole day";s:4:"name";s:9:"whole_day";s:4:"size";s:11:",, ,disable";s:4:"type";s:8:"checkbox";s:4:"help";s:31:"Event will occupy the whole day";s:5:"align";s:6:"center";s:8:"readonly";s:1:"1";}}}i:4;a:2:{s:1:"A";a:4:{s:5:"width";s:1:"0";s:4:"size";s:11:",,,duration";s:4:"type";s:5:"label";s:5:"label";s:8:"Duration";}s:1:"B";a:4:{s:4:"size";s:6:"2,,0,0";s:4:"type";s:4:"hbox";i:1;a:7:{s:7:"no_lang";s:1:"1";s:8:"onchange";s:227:"set_style_by_class(\'table\',\'end_hide\',\'visibility\',this.value == \'\' ? \'visible\' : \'hidden\'); if (this.value == \'\') document.getElementById(form::name(\'end[str]\')).value = document.getElementById(form::name(\'start[str]\')).value;";s:4:"name";s:8:"duration";s:4:"size";s:12:"Use end date";s:4:"type";s:6:"select";s:4:"help";s:23:"Duration of the meeting";s:8:"readonly";s:1:"1";}i:2;a:4:{s:4:"name";s:3:"end";s:4:"type";s:9:"date-time";s:4:"span";s:9:",end_hide";s:8:"readonly";s:1:"1";}}}i:5;a:2:{s:1:"A";a:4:{s:4:"size";s:11:",,,location";s:4:"type";s:5:"label";s:5:"label";s:8:"Location";s:5:"width";s:1:"0";}s:1:"B";a:5:{s:4:"size";s:4:",255";s:4:"name";s:8:"location";s:4:"type";s:4:"text";s:4:"span";s:15:",inputFullWidth";s:8:"readonly";s:1:"1";}}i:6;a:2:{s:1:"A";a:4:{s:4:"size";s:11:",,,priority";s:4:"type";s:5:"label";s:5:"label";s:8:"Priority";s:5:"width";s:1:"0";}s:1:"B";a:3:{s:4:"type";s:15:"select-priority";s:4:"name";s:8:"priority";s:8:"readonly";s:1:"1";}}i:7;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:5:"width";s:1:"0";}s:1:"B";a:6:{s:4:"name";s:12:"non_blocking";s:4:"size";s:11:",, ,disable";s:4:"type";s:8:"checkbox";s:4:"help";s:56:"A non blocking event will not conflict with other events";s:5:"label";s:12:"non blocking";s:8:"readonly";s:1:"1";}}i:8;a:2:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:5:{s:4:"name";s:6:"public";s:4:"size";s:3:"0,1";s:4:"type";s:8:"checkbox";s:5:"label";s:7:"Private";s:8:"readonly";s:1:"1";}}i:9;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"Categories";}s:1:"B";a:3:{s:4:"type";s:10:"select-cat";s:4:"name";s:8:"category";s:8:"readonly";s:1:"1";}}i:10;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Description";}s:1:"B";a:3:{s:4:"type";s:8:"textarea";s:4:"name";s:11:"description";s:8:"readonly";s:1:"1";}}i:11;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:13:"custom fields";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:12;a:2:{s:1:"A";a:3:{s:4:"type";s:12:"customfields";s:4:"span";s:3:"all";s:8:"readonly";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:13;a:2:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"name";s:27:"calendar.print.participants";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:14;a:2:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:4:"name";s:20:"calendar.print.links";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"cols";i:2;s:4:"rows";i:14;s:4:"size";s:8:"100%,200";}}}','size' => '','style' => '','modified' => '1229596125',);