fix for bug #674: no more simple multiple participant selection

This commit is contained in:
Ralf Becker 2007-05-07 18:59:05 +00:00
parent 359eb4b9ea
commit 8ac09e8dba
11 changed files with 79 additions and 78 deletions

View File

@ -681,7 +681,7 @@ function load_cal(url,id) {
</script> </script>
". ".
$this->accountsel->selection('owner','uical_select_owner',$accounts,'calendar+',count($accounts) > 1 ? 4 : 1,False, $this->accountsel->selection('owner','uical_select_owner',$accounts,'calendar+',count($accounts) > 1 ? 4 : 1,False,
' style="width: '.(count($accounts) > 1 && $this->common_prefs['account_selection']=='selectbox' ? 185 : 165).'px;"'. ' style="width: '.(count($accounts) > 1 && in_array($this->common_prefs['account_selection'],array('selectbox','groupmembers')) ? '100%' : '165px').';"'.
' title="'.lang('select a %1',lang('user')).'" onchange="load_cal(\''. ' title="'.lang('select a %1',lang('user')).'" onchange="load_cal(\''.
$GLOBALS['egw']->link('/index.php',array( $GLOBALS['egw']->link('/index.php',array(
'menuaction' => $this->view_menuaction, 'menuaction' => $this->view_menuaction,

View File

@ -232,11 +232,11 @@ class uiforms extends uical
{ {
$msg = lang('You need to select an account, contact or resource first!'); $msg = lang('You need to select an account, contact or resource first!');
} }
// fall-through break;
case 'delete': // handled in default case 'delete': // handled in default
case 'quantity': // handled in new_resource case 'quantity': // handled in new_resource
case 'cal_resources': case 'cal_resources':
$uid = false;
break; break;
case 'resource': case 'resource':
@ -252,13 +252,13 @@ class uiforms extends uical
} }
// fall-through for accounts entered as contact // fall-through for accounts entered as contact
case 'account': case 'account':
$id = $uid = $data; foreach(is_array($data) ? $data : explode(',',$data) as $uid)
$type = 'u'; {
$quantity = 1; if ($uid) $event['participants'][$uid] = $event['participant_types']['u'][$uid] =
$status = $uid == $this->bo->user ? 'A' : 'U'; $uid == $this->bo->user ? 'A' : 'U';
}
break; break;
default: // existing participant row default: // existing participant row
foreach(array('uid','status','status_recurrence','quantity') as $name) foreach(array('uid','status','status_recurrence','quantity') as $name)
{ {
@ -282,7 +282,7 @@ class uiforms extends uical
} }
if ($data['old_status'] != $status) if ($data['old_status'] != $status)
{ {
if ($this->bo->set_status($event['id'],$uid,$status,$event['recur_type'] != MCAL_RECUR_NONE && $status_recurrence != 'A' ? $content['participants']['status_date'] : 0)) if ($this->bo->set_status($event['id'],$uid,$status,$event['recur_type'] != MCAL_RECUR_NONE && !$status_recurrence ? $content['participants']['status_date'] : 0))
{ {
// refreshing the calendar-view with the changed participant-status // refreshing the calendar-view with the changed participant-status
$msg = lang('Status changed'); $msg = lang('Status changed');
@ -295,13 +295,14 @@ class uiforms extends uical
} }
} }
} }
if ($uid && $status != 'G')
{
$event['participants'][$uid] = $event['participant_types'][$type][$id] =
$status.((int) $quantity > 1 ? (int)$quantity : '');
}
} }
break; break;
} }
if (!$uid || !$status || $status == 'G') continue; // empty, deleted, group-invitation --> ignore
$event['participants'][$uid] = $event['participant_types'][$type][$id] =
$status.((int) $quantity > 1 ? (int)$quantity : '');
} }
} }
$preserv = array( $preserv = array(

View File

@ -2,7 +2,7 @@
/** /**
* eGroupWare - eTemplates for Application calendar * eGroupWare - eTemplates for Application calendar
* http://www.egroupware.org * http://www.egroupware.org
* generated by soetemplate::dump4setup() 2007-03-09 12:43 * generated by soetemplate::dump4setup() 2007-05-07 20:30
* *
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package calendar * @package calendar
@ -24,9 +24,9 @@ $templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','g
$templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:6:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{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:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";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:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}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: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:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"2";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:22:"saves the changes made";}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:4:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:4:"help";s:16:"Close the window";}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=\'\';";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";s:5:"align";s:5:"right";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.end_hide { visibility: visible; white-space: nowrap; margin-left: 10px; }','modified' => '1166691126',); $templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:6:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{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:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";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:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}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: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:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"2";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:22:"saves the changes made";}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:4:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:4:"help";s:16:"Close the window";}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=\'\';";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";s:5:"align";s:5:"right";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.end_hide { visibility: visible; white-space: nowrap; margin-left: 10px; }','modified' => '1166691126',);
$templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.3.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:6:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{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:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";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:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}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: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:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"2";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:22:"saves the changes made";}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:4:{s:4:"type";s:6:"button";s:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:4:"help";s:16:"Close the window";}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=\'\';";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";s:5:"align";s:5:"right";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.end_hide { visibility: visible; white-space: nowrap; margin-left: 10px; }','modified' => '1168898663',); $templ_data[] = array('name' => 'calendar.edit','template' => '','lang' => '','group' => '0','version' => '1.3.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:6:{s:2:"h1";s:6:",!@msg";s:2:"c2";s:2:"th";s:1:"A";s:3:"100";s:2:"h4";s:8:",!@owner";s:1:"B";s:3:"300";s:2:"h2";s:2:"28";}i:1;a:3:{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";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:3:{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:"size";s:6:"80,255";s:4:"name";s:5:"title";s:4:"span";s:3:"all";s:6:"needed";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:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:63:"General|Description|Participants|Recurrence|Custom|Links|Alarms";s:4:"name";s:63:"general|description|participants|recurrence|custom|links|alarms";s:4:"help";s:158:"Location, Start- and Endtimes, ...|Full description|Participants, Resources, ...|Repeating Event Information|Custom fields|Links, Attachments|Alarm management";}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: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:5:"owner";s:8:"readonly";s:1:"1";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:9:"date-time";s:5:"label";s:7:"Updated";s:4:"name";s:8:"modified";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:14:"select-account";s:5:"label";s:2:"by";s:4:"name";s:8:"modifier";s:8:"readonly";s:1:"1";}}}i:5;a:3:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"2";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:22:"saves the changes made";}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:4:"name";s:14:"button[cancel]";s:5:"label";s:6:"Cancel";s:4:"help";s:16:"Close the window";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=\'\';";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"Delete this event";s:7:"onclick";s:36:"return confirm(\'Delete this event\');";s:5:"align";s:5:"right";}}}s:4:"rows";i:5;s:4:"cols";i:3;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.end_hide { visibility: visible; white-space: nowrap; margin-left: 10px; }','modified' => '1168898663',);
$templ_data[] = array('name' => 'calendar.edit.alarms','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:5:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"h1";s:16:"20,@no_add_alarm";s:2:"c2";s:4:",top";s:2:"h2";s:8:",!@alarm";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"B";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";i:1;a:3:{s:4:"type";s:13:"select-number";s:4:"size";s:4:",0,7";s:4:"name";s:15:"new_alarm[days]";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[days]";s:5:"label";s:4:"days";}i:3;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:16:"new_alarm[hours]";s:4:"size";s:5:",0,23";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"size";s:19:",,,new_alarm[hours]";s:5:"label";s:5:"hours";}i:5;a:3:{s:4:"type";s:13:"select-number";s:4:"name";s:15:"new_alarm[mins]";s:4:"size";s:7:",0,55,5";}i:6;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[mins]";s:5:"label";s:7:"Minutes";}i:7;a:5:{s:4:"type";s:6:"select";s:4:"name";s:16:"new_alarm[owner]";s:7:"no_lang";s:1:"1";s:5:"label";s:3:"for";s:4:"help";s:31:"Select who should get the alarm";}i:8;a:3:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[add_alarm]";s:5:"label";s:9:"Add alarm";}}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Alarms";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:5:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Time";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"All participants";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";}}i:2;a:5:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:12:"${row}[time]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[offset]";s:7:"no_lang";s:1:"1";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:11:"${row}[all]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";}s:1:"E";a:7:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:5:"align";s:6:"center";s:4:"name";s:27:"delete_alarm[$row_cont[id]]";s:4:"help";s:17:"Delete this alarm";s:7:"onclick";s:36:"return confirm(\'Delete this alarm\');";}}}s:4:"rows";i:2;s:4:"cols";i:5;s:4:"name";s:5:"alarm";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118780740',); $templ_data[] = array('name' => 'calendar.edit.alarms','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:5:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"h1";s:16:"20,@no_add_alarm";s:2:"c2";s:4:",top";s:2:"h2";s:8:",!@alarm";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"B";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";i:1;a:4:{s:4:"type";s:13:"select-number";s:4:"size";s:4:",0,7";s:4:"name";s:15:"new_alarm[days]";s:4:"help";s:4:"days";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[days]";s:5:"label";s:4:"days";}i:3;a:4:{s:4:"type";s:13:"select-number";s:4:"name";s:16:"new_alarm[hours]";s:4:"size";s:5:",0,23";s:4:"help";s:5:"hours";}i:4;a:3:{s:4:"type";s:5:"label";s:4:"size";s:19:",,,new_alarm[hours]";s:5:"label";s:5:"hours";}i:5;a:4:{s:4:"type";s:13:"select-number";s:4:"name";s:15:"new_alarm[mins]";s:4:"size";s:7:",0,55,5";s:4:"help";s:7:"Minutes";}i:6;a:3:{s:4:"type";s:5:"label";s:4:"size";s:18:",,,new_alarm[mins]";s:5:"label";s:7:"Minutes";}i:7;a:5:{s:4:"type";s:6:"select";s:4:"name";s:16:"new_alarm[owner]";s:7:"no_lang";s:1:"1";s:5:"label";s:3:"for";s:4:"help";s:31:"Select who should get the alarm";}i:8;a:3:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[add_alarm]";s:5:"label";s:9:"Add alarm";}}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Alarms";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:5:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Time";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"before the event";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"All participants";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";}}i:2;a:5:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:12:"${row}[time]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:14:"${row}[offset]";s:7:"no_lang";s:1:"1";}s:1:"C";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:11:"${row}[all]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"${row}[owner]";s:8:"readonly";s:1:"1";}s:1:"E";a:7:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:5:"align";s:6:"center";s:4:"name";s:27:"delete_alarm[$row_cont[id]]";s:4:"help";s:17:"Delete this alarm";s:7:"onclick";s:36:"return confirm(\'Delete this alarm\');";}}}s:4:"rows";i:2;s:4:"cols";i:5;s:4:"name";s:5:"alarm";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118780740',);
$templ_data[] = array('name' => 'calendar.edit.custom','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:2:{i:0;a:1:{s:2:"c1";s:4:",top";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118737582',); $templ_data[] = array('name' => 'calendar.edit.custom','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:2:{i:0;a:1:{s:2:"c1";s:4:",top";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:17:"100%,200,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1118737582',);
@ -46,7 +46,9 @@ $templ_data[] = array('name' => 'calendar.edit.participants','template' => '','l
$templ_data[] = array('name' => 'calendar.edit.participants','template' => '','lang' => '','group' => '0','version' => '1.0.1.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:7:"row,top";s:1:"A";s:2:"95";s:2:"h1";s:6:",@view";s:2:"h2";s:7:",!@view";s:2:"c2";s:4:",top";}i:1;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:15:",,,participants";s:5:"label";s:12:"Participants";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:12:"14,calendar+";s:4:"name";s:22:"participants[accounts]";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Resources";s:5:"align";s:5:"right";}s:1:"D";a:3:{s:4:"type";s:16:"resources_select";s:4:"size";s:2:"14";s:4:"name";s:23:"participants[resources]";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Participants";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"participants[accounts]";s:7:"options";a:0:{}}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Resources";s:5:"align";s:5:"right";}s:1:"D";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:23:"participants[resources]";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:4;s:4:"size";s:23:"100%,200,,row_on,,,auto";s:7:"options";a:4:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,row_on,,,auto','style' => '','modified' => '1129665796',); $templ_data[] = array('name' => 'calendar.edit.participants','template' => '','lang' => '','group' => '0','version' => '1.0.1.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:7:"row,top";s:1:"A";s:2:"95";s:2:"h1";s:6:",@view";s:2:"h2";s:7:",!@view";s:2:"c2";s:4:",top";}i:1;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:15:",,,participants";s:5:"label";s:12:"Participants";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:12:"14,calendar+";s:4:"name";s:22:"participants[accounts]";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Resources";s:5:"align";s:5:"right";}s:1:"D";a:3:{s:4:"type";s:16:"resources_select";s:4:"size";s:2:"14";s:4:"name";s:23:"participants[resources]";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Participants";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"participants[accounts]";s:7:"options";a:0:{}}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Resources";s:5:"align";s:5:"right";}s:1:"D";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:23:"participants[resources]";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:4;s:4:"size";s:23:"100%,200,,row_on,,,auto";s:7:"options";a:4:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,row_on,,,auto','style' => '','modified' => '1129665796',);
$templ_data[] = array('name' => 'calendar.edit.participants','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:6:{s:1:"A";s:2:"95";s:2:"c3";s:4:",top";s:2:"c1";s:3:"row";s:2:"c2";s:2:"th";s:2:"h1";s:8:",@no_add";s:1:"D";s:24:",@hide_status_recurrence";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"New";}s:1:"B";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:"size";s:18:"User or group,both";s:4:"name";s:7:"account";}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:8:"resource";s:4:"size";s:14:"@cal_resources";}}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:8:"quantity";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";}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:4:"Type";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Participants";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Quantity";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:17:"status recurrence";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:6:{s:4:"type";s:5:"label";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:13:"${row}[title]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"name";s:16:"${row}[quantity]";s:4:"size";s:4:"1,,3";}s:1:"D";a:2:{s:4:"type";s:6:"select";s:4:"name";s:25:"${row}[status_recurrence]";}s:1:"E";a:4:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;}s:1:"F";a:9:{s:4:"type";s:6:"button";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"delete[$row_cont[uid]]";s:5:"align";s:6:"center";s:5:"label";s:6:"Delete";s:8:"onchange";i:1;s:4:"size";s:6:"delete";}}}s:4:"rows";i:3;s:4:"cols";i:6;s:4:"size";s:17:"100%,200,,,,,auto";s:4:"name";s:12:"participants";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1172430059',); $templ_data[] = array('name' => 'calendar.edit.participants','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:6:{s:1:"A";s:2:"95";s:2:"c3";s:4:",top";s:2:"c1";s:3:"row";s:2:"c2";s:2:"th";s:2:"h1";s:8:",@no_add";s:1:"D";s:24:",@hide_status_recurrence";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"New";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"1,,0,0";i:1;a:3:{s:4:"type";s:4:"hbox";s:4:"size";s:18:"User or group,both";s:4:"name";s:7:"account";}}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:8:"resource";s:4:"size";s:14:"@cal_resources";}}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:8:"quantity";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";}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:4:"Type";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:18:"User or group,both";s:4:"name";s:7:"account";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Quantity";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:17:"status recurrence";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:6:{s:4:"type";s:5:"label";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:13:"${row}[title]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"name";s:16:"${row}[quantity]";s:4:"size";s:4:"1,,3";}s:1:"D";a:2:{s:4:"type";s:6:"select";s:4:"name";s:25:"${row}[status_recurrence]";}s:1:"E";a:4:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;}s:1:"F";a:9:{s:4:"type";s:6:"button";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"delete[$row_cont[uid]]";s:5:"align";s:6:"center";s:5:"label";s:6:"Delete";s:8:"onchange";i:1;s:4:"size";s:6:"delete";}}}s:4:"rows";i:3;s:4:"cols";i:6;s:4:"size";s:17:"100%,200,,,,,auto";s:4:"name";s:12:"participants";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1172430059',);
$templ_data[] = array('name' => 'calendar.edit.participants','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:6:{s:1:"A";s:2:"95";s:2:"c3";s:4:",top";s:2:"c1";s:3:"row";s:2:"c2";s:2:"th";s:2:"h1";s:8:",@no_add";s:1:"D";s:24:",@hide_status_recurrence";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"New";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:14:"select-account";s:4:"size";s:22:"User or group,both,,10";s:4:"name";s:7:"account";s:4:"help";s:13:"User or group";}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:8:"resource";s:4:"size";s:14:"@cal_resources";}}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:8:"quantity";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";}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:4:"Type";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Participants";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Quantity";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"All future";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:6:{s:4:"type";s:5:"label";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:13:"${row}[title]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"name";s:16:"${row}[quantity]";s:4:"size";s:4:"1,,3";}s:1:"D";a:3:{s:4:"type";s:8:"checkbox";s:4:"name";s:25:"${row}[status_recurrence]";s:5:"align";s:6:"center";}s:1:"E";a:4:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;}s:1:"F";a:9:{s:4:"type";s:6:"button";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"delete[$row_cont[uid]]";s:5:"align";s:6:"center";s:5:"label";s:6:"Delete";s:8:"onchange";i:1;s:4:"size";s:6:"delete";}}}s:4:"rows";i:3;s:4:"cols";i:6;s:4:"size";s:17:"100%,200,,,,,auto";s:4:"name";s:12:"participants";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1172430059',);
$templ_data[] = array('name' => 'calendar.edit.recurrence','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:2:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";}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:8:"100%,200";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"200";}}}','size' => '100%,200','style' => '','modified' => '1118737412',); $templ_data[] = array('name' => 'calendar.edit.recurrence','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:2:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";}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:8:"100%,200";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"200";}}}','size' => '100%,200','style' => '','modified' => '1118737412',);

View File

@ -22,6 +22,7 @@ alarms calendar de Alarme
all categories calendar de Alle Kategorien all categories calendar de Alle Kategorien
all day calendar de ganztägig all day calendar de ganztägig
all events calendar de Alle Termine all events calendar de Alle Termine
all future calendar de Alle zukünftigen
all participants calendar de Alle Teilnehmer all participants calendar de Alle Teilnehmer
allows to edit the event again calendar de Erlaubt den Termin erneut zu bearbeiten allows to edit the event again calendar de Erlaubt den Termin erneut zu bearbeiten
apply the changes calendar de Übernimmt die Änderungen apply the changes calendar de Übernimmt die Änderungen
@ -116,8 +117,6 @@ filename of the download calendar de Name der herunterzuladenden Datei
find free timeslots where the selected participants are availible for the given timespan calendar de Such freie Zeitslots an denen die ausgewählten Teilnehmer für die gegebene Zeitspanne verfügbar sind find free timeslots where the selected participants are availible for the given timespan calendar de Such freie Zeitslots an denen die ausgewählten Teilnehmer für die gegebene Zeitspanne verfügbar sind
firstname of person to notify calendar de Vorname der zu benachrichtigenden Person firstname of person to notify calendar de Vorname der zu benachrichtigenden Person
for calendar de für for calendar de für
for all future events calendar de Für alle künftigen Termine
for this event calendar de Für diesen Termin
for which views should calendar show distinct lines with a fixed time interval. calendar de Für welche Ansichten soll der Kalender einzelne Zeilen mit festen Zeitintervallen anzeigen. for which views should calendar show distinct lines with a fixed time interval. calendar de Für welche Ansichten soll der Kalender einzelne Zeilen mit festen Zeitintervallen anzeigen.
format of event updates calendar de Format der Benachrichtigungen format of event updates calendar de Format der Benachrichtigungen
forward half a month calendar de einen halben Monat weiter forward half a month calendar de einen halben Monat weiter
@ -266,7 +265,6 @@ startdate and -time of the search calendar de Startdatum und -zeit der Suche
startdate of the export calendar de Startdatum des Exports startdate of the export calendar de Startdatum des Exports
startrecord calendar de Startdatensatz startrecord calendar de Startdatensatz
status changed calendar de Status geändert status changed calendar de Status geändert
status recurrence calendar de Statuswiederholung
submit to repository calendar de Übertragen zu eGroupWare.org submit to repository calendar de Übertragen zu eGroupWare.org
sun calendar de So sun calendar de So
tentative calendar de Vorläufige Zusage tentative calendar de Vorläufige Zusage

View File

@ -22,6 +22,7 @@ alarms calendar en Alarms
all categories calendar en All categories all categories calendar en All categories
all day calendar en all day all day calendar en all day
all events calendar en All events all events calendar en All events
all future calendar en All future
all participants calendar en All participants all participants calendar en All participants
allows to edit the event again calendar en Allows to edit the event again allows to edit the event again calendar en Allows to edit the event again
apply the changes calendar en apply the changes apply the changes calendar en apply the changes
@ -116,8 +117,6 @@ filename of the download calendar en Filename of the download
find free timeslots where the selected participants are availible for the given timespan calendar en Find free timeslots where the selected participants are availible for the given timespan find free timeslots where the selected participants are availible for the given timespan calendar en Find free timeslots where the selected participants are availible for the given timespan
firstname of person to notify calendar en Firstname of person to notify firstname of person to notify calendar en Firstname of person to notify
for calendar en for for calendar en for
for all future events calendar en For all future events
for this event calendar en For this event
for which views should calendar show distinct lines with a fixed time interval. calendar en For which views should calendar show distinct lines with a fixed time interval. for which views should calendar show distinct lines with a fixed time interval. calendar en For which views should calendar show distinct lines with a fixed time interval.
format of event updates calendar en Format of event updates format of event updates calendar en Format of event updates
forward half a month calendar en forward half a month forward half a month calendar en forward half a month
@ -266,7 +265,6 @@ startdate and -time of the search calendar en Startdate and -time of the search
startdate of the export calendar en Startdate of the export startdate of the export calendar en Startdate of the export
startrecord calendar en Startrecord startrecord calendar en Startrecord
status changed calendar en Status changed status changed calendar en Status changed
status recurrence calendar en Status recurrence
submit to repository calendar en Submit to Repository submit to repository calendar en Submit to Repository
sun calendar en Sun sun calendar en Sun
tentative calendar en Tentative tentative calendar en Tentative

View File

@ -62,12 +62,13 @@
</rows> </rows>
</grid> </grid>
</template> </template>
<template id="calendar.edit.participants" template="" lang="" group="0" version="1.3.001"> <template id="calendar.edit.participants" template="" lang="" group="0" version="1.3.002">
<grid width="100%" height="200" overflow="auto"> <grid width="100%" height="200" overflow="auto" id="participants">
<columns> <columns>
<column width="95"/> <column width="95"/>
<column/> <column/>
<column/> <column/>
<column disabled="@hide_status_recurrence"/>
<column/> <column/>
<column/> <column/>
</columns> </columns>
@ -76,11 +77,12 @@
<description value="New"/> <description value="New"/>
<vbox options="0,0"> <vbox options="0,0">
<menulist> <menulist>
<menupopup type="select-account" options="User or group,both" id="account"/> <menupopup type="select-account" options="User or group,both,,10" id="account" statustext="User or group"/>
</menulist> </menulist>
<link-entry id="resource" options="@cal_resources"/> <link-entry id="resource" options="@cal_resources"/>
</vbox> </vbox>
<int options="1,,3" id="quantity"/> <int options="1,,3" id="quantity"/>
<description/>
<button label="Add" id="add"/> <button label="Add" id="add"/>
<description/> <description/>
</row> </row>
@ -88,17 +90,19 @@
<description value="Type"/> <description value="Type"/>
<description value="Participants"/> <description value="Participants"/>
<description value="Quantity"/> <description value="Quantity"/>
<description value="All future"/>
<description value="Status"/> <description value="Status"/>
<description value="Delete"/> <description value="Actions"/>
</row> </row>
<row valign="top"> <row valign="top">
<description id="${row}[app]"/> <description id="${row}[app]"/>
<description rows="1" cols="2" id="${row}[title]" no_lang="1"/> <description rows="1" cols="2" id="${row}[title]" no_lang="1"/>
<int id="${row}[quantity]" options="1,,3"/> <int id="${row}[quantity]" options="1,,3"/>
<checkbox id="${row}[status_recurrence]" align="center"/>
<menulist> <menulist>
<menupopup id="${row}[status]" no_lang="1" onchange="1"/> <menupopup id="${row}[status]" no_lang="1" onchange="1"/>
</menulist> </menulist>
<checkbox rows="1" cols="2" id="delete[$row_cont[uid]]" align="center"/> <button rows="1" cols="2" id="delete[$row_cont[uid]]" align="center" label="Delete" onchange="1" image="delete"/>
</row> </row>
</rows> </rows>
</grid> </grid>
@ -136,7 +140,7 @@
<description value="Exceptions"/> <description value="Exceptions"/>
<button id="button[exception]" label="@exception_label" statustext="Create an exception for the given date" no_lang="1"/> <button id="button[exception]" label="@exception_label" statustext="Create an exception for the given date" no_lang="1"/>
</vbox> </vbox>
<grid> <grid id="recur_exception">
<columns> <columns>
<column/> <column/>
<column/> <column/>
@ -197,15 +201,15 @@
<description value="before the event"/> <description value="before the event"/>
<hbox> <hbox>
<menulist> <menulist>
<menupopup type="select-number" options=",0,7" id="new_alarm[days]"/> <menupopup type="select-number" options=",0,7" id="new_alarm[days]" statustext="days"/>
</menulist> </menulist>
<description options=",,,new_alarm[days]" value="days"/> <description options=",,,new_alarm[days]" value="days"/>
<menulist> <menulist>
<menupopup type="select-number" id="new_alarm[hours]" options=",0,23"/> <menupopup type="select-number" id="new_alarm[hours]" options=",0,23" statustext="hours"/>
</menulist> </menulist>
<description options=",,,new_alarm[hours]" value="hours"/> <description options=",,,new_alarm[hours]" value="hours"/>
<menulist> <menulist>
<menupopup type="select-number" id="new_alarm[mins]" options=",0,55,5"/> <menupopup type="select-number" id="new_alarm[mins]" options=",0,55,5" statustext="Minutes"/>
</menulist> </menulist>
<description options=",,,new_alarm[mins]" value="Minutes"/> <description options=",,,new_alarm[mins]" value="Minutes"/>
<menulist> <menulist>
@ -216,7 +220,7 @@
</row> </row>
<row valign="top" disabled="!@alarm"> <row valign="top" disabled="!@alarm">
<description value="Alarms"/> <description value="Alarms"/>
<grid> <grid id="alarm">
<columns> <columns>
<column/> <column/>
<column/> <column/>
@ -247,7 +251,7 @@
</rows> </rows>
</grid> </grid>
</template> </template>
<template id="calendar.edit" template="" lang="" group="0" version="1.3.002"> <template id="calendar.edit" template="" lang="" group="0" version="1.3.003">
<grid width="100%"> <grid width="100%">
<columns> <columns>
<column width="100"/> <column width="100"/>
@ -302,7 +306,7 @@
<hbox span="2"> <hbox span="2">
<button label="Save" id="button[save]" statustext="saves the changes made"/> <button label="Save" id="button[save]" statustext="saves the changes made"/>
<button id="button[apply]" label="Apply" statustext="apply the changes"/> <button id="button[apply]" label="Apply" statustext="apply the changes"/>
<button id="button[cancel]" label="Cancel" onclick="window.close();" statustext="Close the window"/> <button id="button[cancel]" label="Cancel" statustext="Close the window" onclick="window.close();"/>
<menulist> <menulist>
<menupopup id="action" statustext="Execute a further action for this entry" options="Actions..." onchange="this.form.submit(); this.value='';"/> <menupopup id="action" statustext="Execute a further action for this entry" options="Actions..." onchange="this.form.submit(); this.value='';"/>
</menulist> </menulist>

View File

@ -82,7 +82,8 @@ class uiaccountsel extends accounts
* @param array/int $selected user-id or array of user-id's which are already selected * @param array/int $selected user-id or array of user-id's which are already selected
* @param string $use 'accounts', 'groups', 'owngroups', 'both' or app-name for all accounts with run-rights. * @param string $use 'accounts', 'groups', 'owngroups', 'both' or app-name for all accounts with run-rights.
* If an '+' is appended to the app-name, one can also select groups with run-rights for that app. * If an '+' is appended to the app-name, one can also select groups with run-rights for that app.
* @param int $lines number of lines for multiselection or 0 for a single selection * @param int $lines > 1 number of lines for multiselection, 0 for a single selection,
* < 0 or 1(=-4) single selection which can be switched to a multiselection by js abs($lines) is size
* (in that case accounts should be an int or contain only 1 user-id) * (in that case accounts should be an int or contain only 1 user-id)
* @param int/array $not user-id or array of user-id's not to display in selection, default False = display all * @param int/array $not user-id or array of user-id's not to display in selection, default False = display all
* @param string $options additional options (e.g. style) * @param string $options additional options (e.g. style)
@ -96,8 +97,13 @@ class uiaccountsel extends accounts
*/ */
function selection($name,$element_id,$selected,$use='accounts',$lines=0,$not=False,$options='',$onchange='',$select=False,$nohtml=false) function selection($name,$element_id,$selected,$use='accounts',$lines=0,$not=False,$options='',$onchange='',$select=False,$nohtml=false)
{ {
//echo "<p align=right>uiaccountsel::selection('$name',".print_r($selected,True).",'$use',$lines,$not,'$options','$onchange',".print_r($select,True).") account_selection=$this->account_selection</p>\n"; //echo "<p align=right>uiaccountsel::selection('$name',".print_r($selected,True).",'$use',rows=$lines,$not,'$options','$onchange',".print_r($select,True).") account_selection=$this->account_selection</p>\n";
$multi_size=4;
if ($lines < 0)
{
$multi_size = abs($lines);
$lines = 1;
}
if ($this->account_selection == 'none') // dont show user-selection at all! if ($this->account_selection == 'none') // dont show user-selection at all!
{ {
return $this->html->input_hidden($name,$selected); return $this->html->input_hidden($name,$selected);
@ -237,7 +243,7 @@ class uiaccountsel extends accounts
)); ));
$popup_options = 'width=600,height=400,toolbar=no,scrollbars=yes,resizable=yes'; $popup_options = 'width=600,height=400,toolbar=no,scrollbars=yes,resizable=yes';
$app = $GLOBALS['egw_info']['flags']['currentapp']; $app = $GLOBALS['egw_info']['flags']['currentapp'];
if ($lines <= 1 && $use != 'groups' && $use != 'owngroups' && $account_sel != 'groupmembers' && $account_sel != 'selectbox') if ($lines <= 1 && $this->account_selection == 'popup' || !$lines && $this->account_selection == 'primary_group')
{ {
if (!$lines) if (!$lines)
{ {
@ -273,17 +279,29 @@ class uiaccountsel extends accounts
//echo "<p>html::select('$name',".print_r($selected,True).",".print_r($select,True).",True,'$options')</p>\n"; //echo "<p>html::select('$name',".print_r($selected,True).",".print_r($select,True).",True,'$options')</p>\n";
$html = $this->html->select($name,$selected,$select,True,$options.' id="'.$element_id.'"',$lines > 1 ? $lines : 0); $html = $this->html->select($name,$selected,$select,True,$options.' id="'.$element_id.'"',$lines > 1 ? $lines : 0);
if ($lines > 0 && ($this->account_selection == 'popup' || $this->account_selection == 'primary_group')) if ($lines > 0 && $this->account_selection == 'popup' || $lines > 1 && $this->account_selection == 'primary_group')
{ {
$html .= $this->html->submit_button('search','Search',"window.open('$link','uiaccountsel','$popup_options'); return false;",false, $js = "window.open('$link','uiaccountsel','$popup_options'); return false;";
' title="'.$this->html->htmlspecialchars($lines > 1 ? lang('search or select accounts') : lang('search or select multiple accounts')).'"', $html .= $this->html->submit_button('search','Search accounts',$js,false,
'users','phpgwapi'); ' title="'.$this->html->htmlspecialchars(lang('Search accounts')).'"','search','phpgwapi');
$need_js_popup = True; $need_js_popup = True;
} }
if ($lines == 1 && $this->account_selection == 'selectbox') elseif ($lines == 1 || $lines > 0 && $this->account_selection == 'primary_group')
{ {
$html .= '<a href="#" onclick="'."if (selectBox = document.getElementById('$element_id')) { selectBox.size=4; selectBox.multiple=true; } return false;".'">'. $js = "if (selectBox = document.getElementById('$element_id')) if (!selectBox.multiple) {selectBox.size=$multi_size; selectBox.multiple=true; if (selectBox.options[0].value=='') selectBox.options[0] = null;";
$this->html->image('phpgwapi','users',lang('select multiple accounts')).'</a>'; if (!in_array($this->account_selection,array('groupmembers','selectbox'))) // no popup!
{
$js .= " this.src='".$GLOBALS['egw']->common->image('phpgwapi','search')."'; this.title='".
$this->html->htmlspecialchars(lang('Search accounts'))."';} else {window.open('$link','uiaccountsel','$popup_options');";
$need_js_popup = True;
}
else
{
$js .= " this.style.display='none'; selectBox.style.width='100%';";
}
$js .= "} return false;";
$html .= $this->html->submit_button('search','Select multiple accounts',$js,false,
' title="'.$this->html->htmlspecialchars(lang('Select multiple accounts')).'"','users','phpgwapi');
} }
if($need_js_popup && !$GLOBALS['egw_info']['flags']['uiaccountsel']['addOption_installed']) if($need_js_popup && !$GLOBALS['egw_info']['flags']['uiaccountsel']['addOption_installed'])
{ {
@ -297,16 +315,13 @@ function addOption(id,label,value,do_onchange)
selectBox.options[i].selected = true; selectBox.options[i].selected = true;
break; break;
} }
'.// check existing entries for an entry starting with a comma, marking a not yet finished multiple selection
' else if (value.slice(0,1) == "," && selectBox.options[i].value.slice(0,1) == ",") {
selectBox.options[i].value = value;
selectBox.options[i].text = "'.lang('multiple').'";
selectBox.options[i].title = label;
selectBox.options[i].selected = true;
break;
}
} }
if (i >= selectBox.length) { if (i >= selectBox.length) {
if (!do_onchange) {
if (selectBox.length && selectBox.options[0].value=="") selectBox.options[0] = null;
selectBox.multiple=true;
selectBox.size='.$multi_size.';
}
selectBox.options[selectBox.length] = new Option(label,value,false,true); selectBox.options[selectBox.length] = new Option(label,value,false,true);
} }
if (selectBox.onchange && do_onchange) selectBox.onchange(); if (selectBox.onchange && do_onchange) selectBox.onchange();

View File

@ -500,8 +500,7 @@ saudi arabia common de SAUDI ARABIEN
save common de Speichern save common de Speichern
search common de Suchen search common de Suchen
search %1 '%2' common de Suche %1 '%2' search %1 '%2' common de Suche %1 '%2'
search or select accounts common de Suchen und auswählen von Benutzern search accounts common de Benutzer suchen
search or select multiple accounts common de Suchen und auswählen von mehreren Benutzern
section common de Sektion section common de Sektion
select common de Auswählen select common de Auswählen
select all %1 %2 for %3 common de Alles auswählen %1 %2 von %3 select all %1 %2 for %3 common de Alles auswählen %1 %2 von %3
@ -657,6 +656,5 @@ your search returned %1 matchs common de Ihre Suche ergab %1 Treffer
your search returned 1 match common de Ihre Suche ergab einen Treffer your search returned 1 match common de Ihre Suche ergab einen Treffer
your session could not be verified. login de Ihre Sitzung konnte nicht verifiziert werden. your session could not be verified. login de Ihre Sitzung konnte nicht verifiziert werden.
your settings have been updated common de Ihre Einstellungen wurden aktualisiert your settings have been updated common de Ihre Einstellungen wurden aktualisiert
yugoslavia common de JUGOSLAVIEN
zambia common de ZAMBIA zambia common de ZAMBIA
zimbabwe common de ZIMBABWE zimbabwe common de ZIMBABWE

View File

@ -538,8 +538,7 @@ savant2 version differs from savant2 wrapper. <br/>this version: %1 <br/>savants
save common en Save save common en Save
search common en Search search common en Search
search %1 '%2' common en Search %1 '%2' search %1 '%2' common en Search %1 '%2'
search or select accounts common en Search or select accounts search accounts common en Search accounts
search or select multiple accounts common en search or select multiple accounts
second common en second second common en second
section common en Section section common en Section
select common en Select select common en Select

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

View File

@ -7,22 +7,8 @@
{ {
openerSelectBox = opener.document.getElementById(id); openerSelectBox = opener.document.getElementById(id);
if (multiple && openerSelectBox) {
select = '';
for(i=0; i < openerSelectBox.length; i++) {
with (openerSelectBox.options[i]) {
if (selected || openerSelectBox.selectedIndex == i) {
select += (value.slice(0,1)==',' ? '' : ',')+value;
}
}
}
select += (select ? ',' : '')+value;
opener.addOption(id,label,value,0);
opener.addOption(id,'{lang_multiple}',select,0);
}
else {
opener.addOption(id,label,value,!multiple); opener.addOption(id,label,value,!multiple);
}
selectBox = document.getElementById('uiaccountsel_popup_selection'); selectBox = document.getElementById('uiaccountsel_popup_selection');
if (selectBox) { if (selectBox) {
for (i=0; i < selectBox.length; i++) { for (i=0; i < selectBox.length; i++) {
@ -60,7 +46,7 @@
selectBox = document.getElementById('uiaccountsel_popup_selection'); selectBox = document.getElementById('uiaccountsel_popup_selection');
for (i=0; i < openerSelectBox.length; i++) { for (i=0; i < openerSelectBox.length; i++) {
with (openerSelectBox.options[i]) { with (openerSelectBox.options[i]) {
if (selected && value.slice(0,1) != ',') { if (selected && value != '') {
selectBox.options[selectBox.length] = new Option(text,value); selectBox.options[selectBox.length] = new Option(text,value);
} }
} }