mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-27 13:22:06 +02:00
A couple of fixes for repeating events, pointed out by ceb.
This commit is contained in:
parent
0806b4cce1
commit
a1dbc97b4e
@ -446,7 +446,7 @@
|
|||||||
$is_public = ($l_cal['private'] == 'public'?1:0);
|
$is_public = ($l_cal['private'] == 'public'?1:0);
|
||||||
$this->so->event_init();
|
$this->so->event_init();
|
||||||
$this->add_attribute('uid',$l_cal['uid']);
|
$this->add_attribute('uid',$l_cal['uid']);
|
||||||
$this->so->set_category(implode($l_categories,','));
|
$this->so->set_category(implode(',',$l_categories));
|
||||||
$this->so->set_title($l_cal['title']);
|
$this->so->set_title($l_cal['title']);
|
||||||
$this->so->set_description($l_cal['description']);
|
$this->so->set_description($l_cal['description']);
|
||||||
$this->so->set_start($l_start['year'],$l_start['month'],$l_start['mday'],$l_start['hour'],$l_start['min'],0);
|
$this->so->set_start($l_start['year'],$l_start['month'],$l_start['mday'],$l_start['hour'],$l_start['min'],0);
|
||||||
@ -475,7 +475,7 @@
|
|||||||
$this->so->set_recur_daily(intval($l_recur_enddate['year']),intval($l_recur_enddate['month']),intval($l_recur_enddate['mday']),intval($l_cal['recur_interval']));
|
$this->so->set_recur_daily(intval($l_recur_enddate['year']),intval($l_recur_enddate['month']),intval($l_recur_enddate['mday']),intval($l_cal['recur_interval']));
|
||||||
break;
|
break;
|
||||||
case MCAL_RECUR_WEEKLY:
|
case MCAL_RECUR_WEEKLY:
|
||||||
$cal['recur_data'] = intval($l_cal['rpt_sun']) + intval($l_cal['rpt_mon']) + intval($l_cal['rpt_tue']) + intval($l_cal['rpt_wed']) + intval($l_cal['rpt_thu']) + intval($l_cal['rpt_fri']) + intval($l_cal['rpt_sat']);
|
$l_cal['recur_data'] = intval($l_cal['rpt_sun']) + intval($l_cal['rpt_mon']) + intval($l_cal['rpt_tue']) + intval($l_cal['rpt_wed']) + intval($l_cal['rpt_thu']) + intval($l_cal['rpt_fri']) + intval($l_cal['rpt_sat']);
|
||||||
$this->so->set_recur_weekly(intval($l_recur_enddate['year']),intval($l_recur_enddate['month']),intval($l_recur_enddate['mday']),intval($l_cal['recur_interval']),$l_cal['recur_data']);
|
$this->so->set_recur_weekly(intval($l_recur_enddate['year']),intval($l_recur_enddate['month']),intval($l_recur_enddate['mday']),intval($l_cal['recur_interval']),$l_cal['recur_data']);
|
||||||
break;
|
break;
|
||||||
case MCAL_RECUR_MONTHLY_MDAY:
|
case MCAL_RECUR_MONTHLY_MDAY:
|
||||||
@ -868,7 +868,7 @@
|
|||||||
$groups = $GLOBALS['phpgw']->accounts->membership($owner);
|
$groups = $GLOBALS['phpgw']->accounts->membership($owner);
|
||||||
while (list($key,$group) = each($groups))
|
while (list($key,$group) = each($groups))
|
||||||
{
|
{
|
||||||
if (strpos(' '.implode($event['groups'],',').' ',$group['account_id']))
|
if (strpos(' '.implode(',',$event['groups']).' ',$group['account_id']))
|
||||||
{
|
{
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
@ -476,7 +476,7 @@
|
|||||||
$p->pparse('out','year_t');
|
$p->pparse('out','year_t');
|
||||||
}
|
}
|
||||||
|
|
||||||
function view($vcal_id=0)
|
function view($vcal_id=0,$cal_date=0)
|
||||||
{
|
{
|
||||||
unset($GLOBALS['phpgw_info']['flags']['noheader']);
|
unset($GLOBALS['phpgw_info']['flags']['noheader']);
|
||||||
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
|
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
|
||||||
@ -485,6 +485,8 @@
|
|||||||
echo '<center>';
|
echo '<center>';
|
||||||
|
|
||||||
$cal_id = $vcal_id?$vcal_id:$GLOBALS['HTTP_GET_VARS']['cal_id'];
|
$cal_id = $vcal_id?$vcal_id:$GLOBALS['HTTP_GET_VARS']['cal_id'];
|
||||||
|
$date = $cal_date?$cal_date:0;
|
||||||
|
$date = $date?$date:intval($GLOBALS['HTTP_GET_VARS']['date']);
|
||||||
|
|
||||||
// First, make sure they have permission to this entry
|
// First, make sure they have permission to this entry
|
||||||
if ($cal_id < 1)
|
if ($cal_id < 1)
|
||||||
@ -507,6 +509,23 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->bo->repeating_events = Array();
|
||||||
|
$this->bo->cached_events = Array();
|
||||||
|
$this->bo->repeating_events[0] = $event;
|
||||||
|
$datetime = mktime(0,0,0,$this->bo->month,$this->bo->day,$this->bo->year) - $this->tz_offset;
|
||||||
|
$this->bo->check_repeating_events($datetime);
|
||||||
|
if($this->bo->cached_events[$GLOBALS['phpgw']->common->show_date($datetime,'Ymd')][0] == $event)
|
||||||
|
{
|
||||||
|
$starttime = $this->bo->maketime($event['start']);
|
||||||
|
$endtime = $this->bo->maketime($event['end']);
|
||||||
|
$event['start']['month'] = $this->bo->month;
|
||||||
|
$event['start']['mday'] = $this->bo->day;
|
||||||
|
$event['start']['year'] = $this->bo->year;
|
||||||
|
$temp_end = $this->bo->maketime($event['start']) + ($endtime - $starttime);
|
||||||
|
$event['end']['month'] = date('m',$temp_end);
|
||||||
|
$event['end']['mday'] = date('d',$temp_end);
|
||||||
|
$event['end']['year'] = date('Y',$temp_end);
|
||||||
|
}
|
||||||
echo $this->view_event($event);
|
echo $this->view_event($event);
|
||||||
|
|
||||||
if($this->bo->owner == $event['owner'])
|
if($this->bo->owner == $event['owner'])
|
||||||
@ -2129,7 +2148,7 @@
|
|||||||
@reset($cat_string);
|
@reset($cat_string);
|
||||||
$var[] = Array(
|
$var[] = Array(
|
||||||
'field' => lang('Category'),
|
'field' => lang('Category'),
|
||||||
'data' => implode($cat_string,',')
|
'data' => implode(',',$cat_string)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2845,9 +2864,26 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Display Categories
|
// Display Categories
|
||||||
|
if(strpos($event['category'],','))
|
||||||
|
{
|
||||||
|
$temp_cats = explode(',',$event['category']);
|
||||||
|
@reset($temp_cats);
|
||||||
|
while(list($key,$value) = each($temp_cats))
|
||||||
|
{
|
||||||
|
$check_cats[] = intval($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif($event['category'])
|
||||||
|
{
|
||||||
|
$check_cats[] = intval($event['category']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$check_cats[] = 0;
|
||||||
|
}
|
||||||
$var[] = Array(
|
$var[] = Array(
|
||||||
'field' => lang('Category'),
|
'field' => lang('Category'),
|
||||||
'data' => '<select name="categories" multiple size="5"><option value="0">'.lang('Choose the category').'</option>'.$this->cat->formated_list('select','all',explode(',',$event['category']),True).'</select>'
|
'data' => '<select name="categories[]" multiple size="5"><option value="0">'.lang('Choose the category').'</option>'.$this->cat->formated_list('select','all',$check_cats,True).'</select>'
|
||||||
);
|
);
|
||||||
|
|
||||||
// Location
|
// Location
|
||||||
|
Loading…
x
Reference in New Issue
Block a user