forked from extern/egroupware
Apply current filters to range selections when merging
This commit is contained in:
parent
1e296760d9
commit
4c4f2e5e32
@ -51,6 +51,11 @@ class calendar_merge extends bo_merge
|
|||||||
'year' => 'Y'
|
'year' => 'Y'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base query for all event searches
|
||||||
|
*/
|
||||||
|
protected $query = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
@ -77,6 +82,7 @@ class calendar_merge extends bo_merge
|
|||||||
foreach(self::$relative as $day) {
|
foreach(self::$relative as $day) {
|
||||||
$this->table_plugins[$day] = 'day'; // Current day
|
$this->table_plugins[$day] = 'day'; // Current day
|
||||||
}
|
}
|
||||||
|
$this->query = $GLOBALS['egw']->session->appsession('session_data','calendar');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -91,15 +97,18 @@ class calendar_merge extends bo_merge
|
|||||||
$prefix = '';
|
$prefix = '';
|
||||||
|
|
||||||
// List events ?
|
// List events ?
|
||||||
if(is_array($id) && !$id['id'] && strpos($content,'$$calendar/') !== false || strpos($content, '$$table/day') !== false)
|
if(is_array($id) && !$id['id'])
|
||||||
{
|
{
|
||||||
$events = $this->bo->search($id + array(
|
$events = $this->bo->search($this->query + $id + array(
|
||||||
'offset' => 0,
|
'offset' => 0,
|
||||||
'order' => 'cal_start',
|
'order' => 'cal_start',
|
||||||
));
|
));
|
||||||
|
if(strpos($content,'$$calendar/') !== false || strpos($content, '$$table/day') !== false)
|
||||||
|
{
|
||||||
array_unshift($events,false); unset($events[0]); // renumber the array to start with key 1, instead of 0
|
array_unshift($events,false); unset($events[0]); // renumber the array to start with key 1, instead of 0
|
||||||
$prefix = 'calendar/%d';
|
$prefix = 'calendar/%d';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$events = array($id);
|
$events = array($id);
|
||||||
@ -194,7 +203,7 @@ class calendar_merge extends bo_merge
|
|||||||
|
|
||||||
if($days[date('Ymd',$_date)][$plugin]) return $days[date('Ymd',$_date)][$plugin][$n];
|
if($days[date('Ymd',$_date)][$plugin]) return $days[date('Ymd',$_date)][$plugin][$n];
|
||||||
|
|
||||||
$events = $this->bo->search(array(
|
$events = $this->bo->search($this->query + array(
|
||||||
'start' => $date['end'] ? $date['start'] : mktime(0,0,0,date('m',$_date),date('d',$_date),date('Y',$_date)),
|
'start' => $date['end'] ? $date['start'] : mktime(0,0,0,date('m',$_date),date('d',$_date),date('Y',$_date)),
|
||||||
'end' => $date['end'] ? $date['end'] : mktime(23,59,59,date('m',$_date),date('d',$_date),date('Y',$_date)),
|
'end' => $date['end'] ? $date['end'] : mktime(23,59,59,date('m',$_date),date('d',$_date),date('Y',$_date)),
|
||||||
'offset' => 0,
|
'offset' => 0,
|
||||||
@ -251,7 +260,7 @@ class calendar_merge extends bo_merge
|
|||||||
$_date = $id['start'] ? $id['start'] : $date;
|
$_date = $id['start'] ? $id['start'] : $date;
|
||||||
if($days[date('Ymd',$_date)][$plugin]) return $days[date('Ymd',$_date)][$plugin][$n];
|
if($days[date('Ymd',$_date)][$plugin]) return $days[date('Ymd',$_date)][$plugin][$n];
|
||||||
|
|
||||||
$events = $this->bo->search(array(
|
$events = $this->bo->search($this->query + array(
|
||||||
'start' => $date,
|
'start' => $date,
|
||||||
'end' => mktime(23,59,59,date('m',$date),date('d',$date),date('Y',$date)),
|
'end' => mktime(23,59,59,date('m',$date),date('d',$date),date('Y',$date)),
|
||||||
'offset' => 0,
|
'offset' => 0,
|
||||||
@ -272,10 +281,6 @@ class calendar_merge extends bo_merge
|
|||||||
return $days[date('Ymd',$_date)][$plugin][0];
|
return $days[date('Ymd',$_date)][$plugin][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Table plugin for a certain date
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table plugin for participants
|
* Table plugin for participants
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user