forked from extern/egroupware
Cleanup issues found during backport
This commit is contained in:
parent
de840a1fcc
commit
85b6ba5ef0
@ -98,8 +98,11 @@ class calendar_groupdav extends groupdav_handler
|
|||||||
*/
|
*/
|
||||||
function propfind($path,$options,&$files,$user,$id='')
|
function propfind($path,$options,&$files,$user,$id='')
|
||||||
{
|
{
|
||||||
if ($this->debug) error_log(__METHOD__."($path,".array2string($options).",,$user,$id)");
|
if ($this->debug)
|
||||||
|
{
|
||||||
|
error_log(__METHOD__."($path,".array2string($options).",,$user,$id)");
|
||||||
$starttime = microtime(true);
|
$starttime = microtime(true);
|
||||||
|
}
|
||||||
|
|
||||||
// ToDo: add parameter to only return id & etag
|
// ToDo: add parameter to only return id & etag
|
||||||
$cal_filters = array(
|
$cal_filters = array(
|
||||||
@ -121,7 +124,11 @@ class calendar_groupdav extends groupdav_handler
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($this->debug > 1) error_log(__METHOD__."($path,,,$user,$id) cal_filters=".array2string($cal_filters));
|
if ($this->debug > 1)
|
||||||
|
{
|
||||||
|
error_log(__METHOD__."($path,,,$user,$id) cal_filters=".
|
||||||
|
array2string($cal_filters));
|
||||||
|
}
|
||||||
|
|
||||||
// check if we have to return the full calendar data or just the etag's
|
// check if we have to return the full calendar data or just the etag's
|
||||||
if (!($calendar_data = $options['props'] == 'all' && $options['root']['ns'] == groupdav::CALDAV) && is_array($options['props']))
|
if (!($calendar_data = $options['props'] == 'all' && $options['root']['ns'] == groupdav::CALDAV) && is_array($options['props']))
|
||||||
@ -183,7 +190,11 @@ class calendar_groupdav extends groupdav_handler
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($this->debug) error_log(__METHOD__."($path) took ".(microtime(true) - $starttime).' to return '.count($files['files']).' items');
|
if ($this->debug)
|
||||||
|
{
|
||||||
|
error_log(__METHOD__."($path) took ".(microtime(true) - $starttime).
|
||||||
|
' to return '.count($files['files']).' items');
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -284,11 +295,9 @@ class calendar_groupdav extends groupdav_handler
|
|||||||
{
|
{
|
||||||
foreach($options['other'] as $option)
|
foreach($options['other'] as $option)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($option['name'] == 'href')
|
if ($option['name'] == 'href')
|
||||||
{
|
{
|
||||||
$parts = explode('/',$option['data']);
|
$parts = explode('/',$option['data']);
|
||||||
|
|
||||||
if (is_numeric($id = basename(array_pop($parts),'.ics'))) $ids[] = $id;
|
if (is_numeric($id = basename(array_pop($parts),'.ics'))) $ids[] = $id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -424,13 +433,13 @@ class calendar_groupdav extends groupdav_handler
|
|||||||
*/
|
*/
|
||||||
function put(&$options,$id,$user=null)
|
function put(&$options,$id,$user=null)
|
||||||
{
|
{
|
||||||
if($this->debug) error_log(__METHOD__."($id, $user)".print_r($options,true));
|
if ($this->debug) error_log(__METHOD__."($id, $user)".print_r($options,true));
|
||||||
$return_no_access=true; // as handled by importVCal anyway and allows it to set the status for participants
|
$return_no_access=true; // as handled by importVCal anyway and allows it to set the status for participants
|
||||||
$event = $this->_common_get_put_delete('PUT',$options,$id,$return_no_access);
|
$event = $this->_common_get_put_delete('PUT',$options,$id,$return_no_access);
|
||||||
|
|
||||||
if (!is_null($event) && !is_array($event))
|
if (!is_null($event) && !is_array($event))
|
||||||
{
|
{
|
||||||
if($this->debug) error_log(__METHOD__.print_r($event,true).function_backtrace());
|
if ($this->debug) error_log(__METHOD__.print_r($event,true).function_backtrace());
|
||||||
return $event;
|
return $event;
|
||||||
}
|
}
|
||||||
$handler = $this->_get_handler();
|
$handler = $this->_get_handler();
|
||||||
|
@ -196,6 +196,7 @@ class calendar_ical extends calendar_boupdate
|
|||||||
'UID' => 'uid',
|
'UID' => 'uid',
|
||||||
'RECURRENCE-ID' => 'recurrence',
|
'RECURRENCE-ID' => 'recurrence',
|
||||||
'SEQUENCE' => 'etag',
|
'SEQUENCE' => 'etag',
|
||||||
|
'STATUS' => 'status',
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!is_array($this->supportedFields)) $this->setSupportedFields();
|
if (!is_array($this->supportedFields)) $this->setSupportedFields();
|
||||||
@ -218,7 +219,7 @@ class calendar_ical extends calendar_boupdate
|
|||||||
{
|
{
|
||||||
$mailtoOrganizer = false;
|
$mailtoOrganizer = false;
|
||||||
$organizerCN = false;
|
$organizerCN = false;
|
||||||
$recurrence = $recur_date;
|
$recurrence = $this->date2usertime($recur_date);
|
||||||
$tzid = null;
|
$tzid = null;
|
||||||
|
|
||||||
if (!is_array($event)
|
if (!is_array($event)
|
||||||
@ -622,6 +623,10 @@ class calendar_ical extends calendar_boupdate
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'STATUS':
|
||||||
|
$attributes['STATUS'] = 'CONFIRMED';
|
||||||
|
break;
|
||||||
|
|
||||||
case 'CATEGORIES':
|
case 'CATEGORIES':
|
||||||
if ($event['category'] && ($values['CATEGORIES'] = $this->get_categories($event['category'])))
|
if ($event['category'] && ($values['CATEGORIES'] = $this->get_categories($event['category'])))
|
||||||
{
|
{
|
||||||
@ -641,12 +646,12 @@ class calendar_ical extends calendar_boupdate
|
|||||||
{
|
{
|
||||||
$icalFieldName = 'X-RECURRENCE-ID';
|
$icalFieldName = 'X-RECURRENCE-ID';
|
||||||
}
|
}
|
||||||
if ($recurrence)
|
if ($recur_date)
|
||||||
{
|
{
|
||||||
// We handle a pseudo exception
|
// We handle a pseudo exception
|
||||||
if (isset($event['whole_day']))
|
if (isset($event['whole_day']))
|
||||||
{
|
{
|
||||||
$time = new egw_time($recurrence,egw_time::$server_timezone);
|
$time = new egw_time($recur_date,egw_time::$server_timezone);
|
||||||
$time->setTimezone(self::$tz_cache[$event['tzid']]);
|
$time->setTimezone(self::$tz_cache[$event['tzid']]);
|
||||||
$arr = egw_time::to($time,'array');
|
$arr = egw_time::to($time,'array');
|
||||||
$vevent->setAttribute($icalFieldName, array(
|
$vevent->setAttribute($icalFieldName, array(
|
||||||
@ -658,7 +663,7 @@ class calendar_ical extends calendar_boupdate
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$attributes[$icalFieldName] = self::getDateTime($recurrence,$tzid,$parameters[$icalFieldName]);
|
$attributes[$icalFieldName] = self::getDateTime($recur_date,$tzid,$parameters[$icalFieldName]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($event['recurrence'] && $event['reference'])
|
elseif ($event['recurrence'] && $event['reference'])
|
||||||
@ -734,7 +739,6 @@ class calendar_ical extends calendar_boupdate
|
|||||||
{
|
{
|
||||||
$attributes[$icalFieldName] = $value;
|
$attributes[$icalFieldName] = $value;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1089,8 +1093,8 @@ class calendar_ical extends calendar_boupdate
|
|||||||
|
|
||||||
// If this is an updated meeting, and the client doesn't support
|
// If this is an updated meeting, and the client doesn't support
|
||||||
// participants OR the event no longer contains participants, add them back
|
// participants OR the event no longer contains participants, add them back
|
||||||
$event['participants'] = $event_info['stored_event']['participants'];
|
unset($event['participants']);
|
||||||
$event['participant_types'] = $event_info['stored_event']['participant_types'];
|
unset($event['participant_types']);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1748,6 +1752,7 @@ class calendar_ical extends calendar_boupdate
|
|||||||
$defaultFields['basic'] = $defaultFields['minimal'] + array(
|
$defaultFields['basic'] = $defaultFields['minimal'] + array(
|
||||||
'recur_exception' => 'recur_exception',
|
'recur_exception' => 'recur_exception',
|
||||||
'priority' => 'priority',
|
'priority' => 'priority',
|
||||||
|
'status' => 'status',
|
||||||
);
|
);
|
||||||
|
|
||||||
$defaultFields['nexthaus'] = $defaultFields['basic'] + array(
|
$defaultFields['nexthaus'] = $defaultFields['basic'] + array(
|
||||||
@ -2662,14 +2667,6 @@ class calendar_ical extends calendar_boupdate
|
|||||||
|
|
||||||
function search($_vcalData, $contentID=null, $relax=false)
|
function search($_vcalData, $contentID=null, $relax=false)
|
||||||
{
|
{
|
||||||
if (is_null($contentID))
|
|
||||||
{
|
|
||||||
$eventId = -1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$eventId = $contentID;
|
|
||||||
}
|
|
||||||
if (($events = $this->icaltoegw($_vcalData)))
|
if (($events = $this->icaltoegw($_vcalData)))
|
||||||
{
|
{
|
||||||
// this function only supports searching a single event
|
// this function only supports searching a single event
|
||||||
|
@ -312,10 +312,7 @@ class calendar_sif extends calendar_boupdate
|
|||||||
if ($this->event['recur_noenddate'] == 0)
|
if ($this->event['recur_noenddate'] == 0)
|
||||||
{
|
{
|
||||||
$recur_enddate = $this->vCalendar->_parseDateTime($this->event['recur_enddate']);
|
$recur_enddate = $this->vCalendar->_parseDateTime($this->event['recur_enddate']);
|
||||||
$finalEvent['recur_enddate'] = mktime(
|
$finalEvent['recur_enddate'] = mktime(0, 0, 0,
|
||||||
date('H', 23),
|
|
||||||
date('i', 59),
|
|
||||||
date('s', 59),
|
|
||||||
date('m', $recur_enddate),
|
date('m', $recur_enddate),
|
||||||
date('d', $recur_enddate),
|
date('d', $recur_enddate),
|
||||||
date('Y', $recur_enddate));
|
date('Y', $recur_enddate));
|
||||||
@ -480,6 +477,11 @@ class calendar_sif extends calendar_boupdate
|
|||||||
// overwrite with server data for merge
|
// overwrite with server data for merge
|
||||||
foreach ($event_info['stored_event'] as $key => $value)
|
foreach ($event_info['stored_event'] as $key => $value)
|
||||||
{
|
{
|
||||||
|
if (in_array($key, array('participants', 'participant_types')))
|
||||||
|
{
|
||||||
|
unset($event[$key]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!empty($value)) $event[$key] = $value;
|
if (!empty($value)) $event[$key] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -487,8 +489,8 @@ class calendar_sif extends calendar_boupdate
|
|||||||
{
|
{
|
||||||
// not merge
|
// not merge
|
||||||
// SIF clients do not support participants => add them back
|
// SIF clients do not support participants => add them back
|
||||||
$event['participants'] = $event_info['stored_event']['participants'];
|
unset($event['participants']);
|
||||||
$event['participant_types'] = $event_info['stored_event']['participant_types'];
|
unset($event['participant_types']);
|
||||||
if ($event['whole_day'] && $event['tzid'] != $event_info['stored_event']['tzid'])
|
if ($event['whole_day'] && $event['tzid'] != $event_info['stored_event']['tzid'])
|
||||||
{
|
{
|
||||||
if (!isset(self::$tz_cache[$event_info['stored_event']['tzid']]))
|
if (!isset(self::$tz_cache[$event_info['stored_event']['tzid']]))
|
||||||
|
@ -1491,16 +1491,14 @@ ORDER BY cal_user_type, cal_usre_id
|
|||||||
* get stati of all recurrences of an event for a specific participant
|
* get stati of all recurrences of an event for a specific participant
|
||||||
*
|
*
|
||||||
* @param int $cal_id
|
* @param int $cal_id
|
||||||
* @param int $uid participant uid
|
* @param int $uid=null participant uid; if == null return only the recur dates
|
||||||
* @param int $start=0 if != 0: startdate of the search/list (servertime)
|
* @param int $start=0 if != 0: startdate of the search/list (servertime)
|
||||||
* @param int $end=0 if != 0: enddate of the search/list (servertime)
|
* @param int $end=0 if != 0: enddate of the search/list (servertime)
|
||||||
*
|
*
|
||||||
* @return array recur_date => status pairs (index 0 => main status)
|
* @return array recur_date => status pairs (index 0 => main status)
|
||||||
*/
|
*/
|
||||||
function get_recurrences($cal_id, $uid, $start=0, $end=0)
|
function get_recurrences($cal_id, $uid=null, $start=0, $end=0)
|
||||||
{
|
{
|
||||||
$user_type = $user_id = null;
|
|
||||||
self::split_user($uid, $user_type, $user_id);
|
|
||||||
$participant_status = array();
|
$participant_status = array();
|
||||||
$where = array('cal_id' => $cal_id);
|
$where = array('cal_id' => $cal_id);
|
||||||
if ($start != 0 && $end == 0) $where[] = '(cal_recur_date = 0 OR cal_recur_date >= ' . (int)$start . ')';
|
if ($start != 0 && $end == 0) $where[] = '(cal_recur_date = 0 OR cal_recur_date >= ' . (int)$start . ')';
|
||||||
@ -1515,6 +1513,9 @@ ORDER BY cal_user_type, cal_usre_id
|
|||||||
// inititalize the array
|
// inititalize the array
|
||||||
$participant_status[$row['cal_recur_date']] = null;
|
$participant_status[$row['cal_recur_date']] = null;
|
||||||
}
|
}
|
||||||
|
if (is_null($uid)) return $participant_status;
|
||||||
|
$user_type = $user_id = null;
|
||||||
|
self::split_user($uid, $user_type, $user_id);
|
||||||
$where = array(
|
$where = array(
|
||||||
'cal_id' => $cal_id,
|
'cal_id' => $cal_id,
|
||||||
'cal_user_type' => $user_type ? $user_type : 'u',
|
'cal_user_type' => $user_type ? $user_type : 'u',
|
||||||
|
Loading…
Reference in New Issue
Block a user