Example #1
0
File: OBM.php Project: Kervinou/OBM
 function parseRrule($data) {
   $rrule = array();
    switch ($data['event_repeatkind']) {
      case 'daily' :
      case 'yearly' :
        $rrule['kind'] = $data['event_repeatkind'];
        break;
      case 'monthlybydate' :
        $rrule['kind'] = 'monthly';
        break;
      case 'monthlybyday' :
        $rrule['kind'] = 'monthly';
        $date = new Of_Date($data['event_date'], 'GMT');
        $day = $date->get(Of_Date::WEEKDAY_ICS);
        
        $num =  ceil($date->getDay()/7);
        $rrule['byday'] = array($num.$day);
        break;
      case 'weekly' :
        $rrule['kind'] = 'weekly';
        foreach($this->weekDays as $longDay => $shortDay) {
          $index = date('w', strtotime($longDay));
          if($data['event_repeatdays'][$index] == '1') {
            $days[] = $shortDay;
          }           
        }
        $rrule['byday'] = $days;
        break;
    }
    if ($data['event_endrepeat'])
      $rrule['until'] = $this->parseDate($data['event_endrepeat']);
    $rrule['interval'] = $data['event_repeatfrequence'];
    return $rrule;
 }