|
@@ 996-1013 (lines=18) @@
|
| 993 |
|
$rend = $component2->_date2timestamp( $rend ); |
| 994 |
|
$rstart = $recurkey; |
| 995 |
|
/* add repeating components within valid dates to output array, only start date */ |
| 996 |
|
if( $flat ) |
| 997 |
|
$result[] = $component2->copy(); // copy to output |
| 998 |
|
elseif( $split ) { |
| 999 |
|
if( $rend > $endDate ) |
| 1000 |
|
$rend = $endDate; |
| 1001 |
|
while( $rstart <= $rend ) { // iterate |
| 1002 |
|
$wd = getdate( $rstart ); |
| 1003 |
|
if(( $rstart > $startDate ) && // date after dtstart |
| 1004 |
|
!isset( $exdatelist[$rstart] )) // check exclude date |
| 1005 |
|
$result[$wd['year']][$wd['mon']][$wd['mday']][] = $component2->copy(); // copy to output |
| 1006 |
|
$rstart += ( 24*60*60 ); // step one day |
| 1007 |
|
} |
| 1008 |
|
} |
| 1009 |
|
elseif(( $rstart >= $startDate ) && // date within period |
| 1010 |
|
!isset( $exdatelist[$rstart] )) { // check exclude date |
| 1011 |
|
$wd = getdate( $rstart ); |
| 1012 |
|
$result[$wd['year']][$wd['mon']][$wd['mday']][] = $component2->copy(); // copy to output |
| 1013 |
|
} |
| 1014 |
|
} |
| 1015 |
|
} |
| 1016 |
|
/* deselect components with startdate/enddate not within period */ |
|
@@ 1022-1041 (lines=20) @@
|
| 1019 |
|
/* deselect components with startdate not within period */ |
| 1020 |
|
elseif(( $startWdate < $startDate ) || ( $startWdate > $endDate )) continue; |
| 1021 |
|
/* add selected components within valid dates to output array */ |
| 1022 |
|
if( $flat ) |
| 1023 |
|
$result[] = $component->copy(); // copy to output; |
| 1024 |
|
elseif( $split ) { |
| 1025 |
|
if( $endWdate > $endDate ) |
| 1026 |
|
$endWdate = $endDate; // use period end date |
| 1027 |
|
if( !isset( $exdatelist[$startWdate] )) { // check excluded dates |
| 1028 |
|
if( $startWdate < $startDate ) |
| 1029 |
|
$startWdate = $startDate; // use period start date |
| 1030 |
|
while( $startWdate <= $endWdate ) { // iterate |
| 1031 |
|
$wd = getdate( $startWdate ); |
| 1032 |
|
$result[$wd['year']][$wd['mon']][$wd['mday']][] = $component->copy(); // copy to output |
| 1033 |
|
$startWdate += ( 24*60*60 ); // step one day |
| 1034 |
|
} |
| 1035 |
|
} |
| 1036 |
|
} // use component date |
| 1037 |
|
elseif( !isset( $exdatelist[$startWdate] ) && // check excluded dates |
| 1038 |
|
( $startWdate >= $startDate )) { // within period |
| 1039 |
|
$wd = getdate( $startWdate ); |
| 1040 |
|
$result[$wd['year']][$wd['mon']][$wd['mday']][] = $component->copy(); // copy to output |
| 1041 |
|
} |
| 1042 |
|
} |
| 1043 |
|
if( 0 >= count( $result )) return FALSE; |
| 1044 |
|
elseif( !$flat ) { |