コード例 #1
0
ファイル: vevent.class.php プロジェクト: DavidGarciaCat/eyeos
 function isActive($start, $end)
 {
     $res = FALSE;
     if (!($start && $end)) {
         return TRUE;
     }
     if (!CaldavRessource::isDateTime($start) || !CaldavRessource::isDateTime($end)) {
         throw new Exception("[{$start},{$end}] Invalid CalDAV DateTime format");
     }
     $event = $this->getBaseComponent();
     if ($start && !$end) {
         if (CaldavRessource::datecmp($start, $event->GetPValue('DTSTART')) < 0) {
             $res = TRUE;
         }
     } else {
         if (CaldavRessource::datecmp($start, $event->GetPValue('DTSTART')) < 0 && CaldavRessource::datecmp($end, $event->GetPValue('DTEND')) > 0) {
             $res = TRUE;
         }
     }
     return $res;
 }
コード例 #2
0
 private function limitRange($dates)
 {
     $res = array();
     if (!$this->range_start && !$this->range_end) {
         $res = $dates;
     } else {
         if ($this->range_start && !$this->range_end) {
             $start = CaldavRessource::timestamp2ICal($this->range_start);
             foreach ($dates as $date) {
                 if (CaldavRessource::datecmp($start, $date) < 0) {
                     array_push($res, $date);
                 }
             }
         } else {
             $start = CaldavRessource::timestamp2ICal($this->range_start);
             $end = CaldavRessource::timestamp2ICal($this->range_end);
             foreach ($dates as $date) {
                 if (CaldavRessource::datecmp($start, $date) < 0 && CaldavRessource::datecmp($end, $date) > 0) {
                     array_push($res, $date);
                 }
             }
         }
     }
     return $res;
 }