Index: calendar/inc/class.bocalendar.inc.php
===================================================================
--- calendar/inc/class.bocalendar.inc.php (révision 21060)
+++ calendar/inc/class.bocalendar.inc.php (copie de travail)
@@ -678,6 +678,7 @@
$l_cal = (@isset($params['cal']) && $params['cal']?$params['cal']:$_POST['cal']);
$l_participants = (@$params['participants']?$params['participants']:$_POST['participants']);
$l_categories = (@$params['categories']?$params['categories']:$_POST['categories']);
+ $l_oldstart = (@isset($params['oldstart']) && $params['oldstart']?$params['oldstart']:$_POST['oldstart']);
$l_start = (@isset($params['start']) && $params['start']?$params['start']:$_POST['start']);
$l_end = (@isset($params['end']) && $params['end']?$params['end']:$_POST['end']);
$l_recur_enddate = (@isset($params['recur_enddate']) && $params['recur_enddate']?$params['recur_enddate']:$_POST['recur_enddate']);
@@ -746,6 +747,15 @@
{
$this->so->set_category(strval($l_categories[0]));
}
+ //Caeies : Fix the recurring exception :
+ $offset_rec = $this->maketime($l_start) - $l_oldstart;
+ if($offset_rec && is_array($l_recur_exception))
+ {
+ for($i = 0; $i < count($l_recur_exception); ++$i)
+ {
+ $l_recur_exception[$i] += $offset_rec;
+ }
+ }
$this->so->set_title($l_cal['title']);
$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);
@@ -908,7 +918,7 @@
);
}
- $event[recur_exception] = $l_recur_exception;
+ $event['recur_exception'] = $l_recur_exception;
$this->store_to_appsession($event);
$datetime_check = $this->validate_update($event);
Index: calendar/inc/class.uicalendar.inc.php
===================================================================
--- calendar/inc/class.uicalendar.inc.php (révision 21060)
+++ calendar/inc/class.uicalendar.inc.php (copie de travail)
@@ -3568,9 +3568,9 @@
$p->set_block('edit','hr','hr');
// Recurrence Exeptions
- if ($event[recur_exception]>0)
+ if (count($event['recur_exception'])>0)
{
- $recur_exception = implode (",", $event[recur_exception]);
+ $recur_exception = implode (",", $event['recur_exception']);
}
$vars = Array(
@@ -3582,6 +3582,7 @@
. ''."\n"
. ''."\n"
. ''."\n"
+ . ''."\n"
. ($_GET['cal_id'] && $event['id'] == 0?''."\n":
(@isset($event['reference'])?''."\n":''))
. (@isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && $GLOBALS['phpgw_info']['server']['deny_user_grants_access']?