Beispiel #1
0
 /**
  * setRrule
  *
  * @param mixed $value
  * @param mixed $options
  * @access public
  * @return void
  */
 function parseRrule($value,$options) {
   $value = Vcalendar_Reader_ICS::parseAttributeValues(explode(';',$value));
   $rrule = array();
   $kind = strtolower($value['freq']);
   if(!in_array($kind,$this->frequency))  {
     //TODO Unsupported item. Error handler!
     return NULL;
   }
   $rrule['kind'] = $kind;
   if(is_numeric($value['interval'])) {
     $interval = $value['interval'];
   } else {
     $interval = 1;
   }
   $rrule['interval'] = $interval;
   foreach($value as $name => $repeat) {
     $repeat = strtolower($repeat);
     if(in_array($name,$this->repeat)) {
       $keys = explode(',',$repeat);
       foreach($keys as $key) {
         $rrule[$name][] = $this->weekDays[$key];
       }
     }
   }
   if(!is_null($value['count'])) {
     $rrule['count'] = $value['count'];
   } elseif(!is_null($value['until'])) {
     $rrule['until'] = $this->parseDate($value['until']);
   }
   return $rrule;
 }