function get_repeat($event, $interval, $count, $repeat_day, $repeat_week = '') { $repeat = ICalEvents::get_simple_repeat($event, $interval, $count); $date = getdate($event['StartTime']); if (!empty($repeat_week) && is_numeric($repeat_week)) { if ($repeat_week > 0) { $rd = getdate($repeat['StartTime']); $startDiff = date('w', mktime(0, 0, 0, $rd['mon'], 1, $rd['year'])) - $date['wday']; //$repeat['StartTime'] = mktime($rd['hours'],$rd['minutes'],$rd['seconds'],$rd['mon'],$rd['mday'],$rd['year']); if ($startDiff == 0) { $woffset = 0; } else { $woffset = 7 - $startDiff; } $daysIntoMonth = $repeat_week * (7 + $woffset); //if(strstr($event['Description'],'Rockin\'')) echo 'here!'; //$offset = (($repeat_week-1) * (7+$woffset) * 24 * 3600); $tempStart = $repeat['StartTime']; $repeat['StartTime'] = mktime($rd['hours'], $rd['minutes'], $rd['seconds'], $rd['mon'], $daysIntoMonth, $rd['year']); $offset = $repeat['StartTime'] - $tempStart; } else { } $repeat['StartTime'] += $offset; } else { $wday = $date['wday']; $offset = ($repeat_day - $wday) * 86400; $repeat['StartTime'] += $offset; } if (isset($repeat['EndTime'])) { $repeat['EndTime'] += $offset; } return $repeat; }