$output .= implode( ',', $eventCategories);
}
// frequency (recurring data)
+ // TODO: Need to update this to handle more than one event schedule.
if ( $event['recurrences'][0]['recurring']['value'] ) {
- if ( $event['recurrences'][0]['day_of_week']['names'] ) {
- $daysOfWeek = array();
- foreach ( $event['recurrences'][0]['day_of_week']['names'] as $dow ) {
- $freq = 'FREQ=WEEKLY';
- switch ( $dow ) {
- case 'Sunday':
- $daysOfWeek[] = 'SU';
+ $weeksOfMonth = array();
+ if ( $event['recurrences'][0]['week_of_month']['names'] && $event['recurrences'][0]['week_of_month']['value'] != 63 ) {
+ foreach ( $event['recurrences'][0]['week_of_month']['names'] as $weekOfMonth ) {
+ switch ( $weekOfMonth ) {
+ case 'First':
+ $weeksOfMonth[] = '1';
break;
- case 'Monday':
- $daysOfWeek[] = 'MO';
+ case 'Second':
+ $weeksOfMonth[] = '2';
break;
- case 'Tuesday':
- $daysOfWeek[] = 'TU';
+ case 'Third':
+ $weeksOfMonth[] = '3';
break;
- case 'Wednesday':
- $daysOfWeek[] = 'WE';
+ case 'Forth':
+ $weeksOfMonth[] = '4';
break;
- case 'Thursday':
- $daysOfWeek[] = 'TH';
+ case 'Fifth':
+ $weeksOfMonth[] = '5';
break;
- case 'Friday':
- $daysOfWeek[] = 'FR';
- break;
- case 'Saturday':
- $daysOfWeek[] = 'SA';
+ case 'Last':
+ $weeksOfMonth[] = '-1';
break;
}
}
+ } else {
+ $weeksOfMonth[] = '';
+ }
+ if ( $event['recurrences'][0]['day_of_week']['names'] ) {
+ $daysOfWeek = array();
+ foreach ( $weeksOfMonth as $wom ) {
+ foreach ( $event['recurrences'][0]['day_of_week']['names'] as $dow ) {
+ $freq = 'FREQ=WEEKLY';
+ switch ( $dow ) {
+ case 'Sunday':
+ $daysOfWeek[] = $wom . 'SU';
+ break;
+ case 'Monday':
+ $daysOfWeek[] = $wom . 'MO';
+ break;
+ case 'Tuesday':
+ $daysOfWeek[] = $wom . 'TU';
+ break;
+ case 'Wednesday':
+ $daysOfWeek[] = $wom . 'WE';
+ break;
+ case 'Thursday':
+ $daysOfWeek[] = $wom . 'TH';
+ break;
+ case 'Friday':
+ $daysOfWeek[] = $wom . 'FR';
+ break;
+ case 'Saturday':
+ $daysOfWeek[] = $wom . 'SA';
+ break;
+ }
+ }
+ }
if (!empty($daysOfWeek)) {
$daysInWeek = implode(',', $daysOfWeek);
}