/** * 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");