Пример #1
0
 /**
  * check if object is valid
  * @return bool
  */
 public function isValid()
 {
     $typeChecker = parent::isValid();
     if (!$typeChecker) {
         return false;
     }
     $validate = $this->vObject->validate();
     foreach ($validate as $item) {
         if (isset($item['level']) && intval($item['level']) === 3) {
             return false;
         }
     }
     return true;
 }
            $event->DTEND = 'bla';
            $dtStart = clone $currentDate;
            $dtEnd = clone $currentDate;
            $dtEnd->modify('+' . mt_rand(1, 3) . ' days');
            $event->DTSTART->setDateTime($dtStart);
            $event->DTSTART['VALUE'] = 'DATE';
            $event->DTEND->setDateTime($dtEnd);
            break;
        case 2:
            $event->RRULE = 'FREQ=DAILY;COUNT=' . mt_rand(1, 10);
            // No break intentional
        // No break intentional
        default:
            $dtStart = clone $currentDate;
            $dtStart->setTime(mt_rand(1, 23), mt_rand(0, 59), mt_rand(0, 59));
            $event->DTSTART->setDateTime($dtStart);
            $event->DURATION = 'PT' . mt_rand(1, 3) . 'H';
            break;
    }
    $currentDate->modify('+ ' . mt_rand(0, 3) . ' days');
}
fwrite(STDERR, "Validating\n");
$result = $calendar->validate();
if ($result) {
    fwrite(STDERR, "Errors!\n");
    fwrite(STDERR, print_r($result, true));
    die(-1);
}
fwrite(STDERR, "Serializing this beast\n");
echo $calendar->serialize();
fwrite(STDERR, "done.\n");