Lines Matching refs:this

35         $this->startDate = $start;
36 $this->parseRRule($rrule);
37 $this->currentDate = clone $this->startDate;
45 if (!$this->valid()) return null;
46 return clone $this->currentDate;
57 return $this->counter;
70 if (!is_null($this->count)) {
71 return $this->counter < $this->count;
73 return is_null($this->until) || $this->currentDate <= $this->until;
84 $this->currentDate = clone $this->startDate;
85 $this->counter = 0;
96 $previousStamp = $this->currentDate->getTimeStamp();
100 switch($this->frequency) {
103 $this->nextHourly();
107 $this->nextDaily();
111 $this->nextWeekly();
115 $this->nextMonthly();
119 $this->nextYearly();
123 $this->counter++;
136 return !$this->count && !$this->until;
149 while($this->valid() && $this->currentDate < $dt ) {
150 $this->next();
326 $this->currentDate->modify('+' . $this->interval . ' hours');
337 if (!$this->byHour && !$this->byDay) {
338 $this->currentDate->modify('+' . $this->interval . ' days');
342 if (isset($this->byHour)) {
343 $recurrenceHours = $this->getHours();
346 if (isset($this->byDay)) {
347 $recurrenceDays = $this->getDays();
350 if (isset($this->byMonth)) {
351 $recurrenceMonths = $this->getMonths();
355 if ($this->byHour) {
356 if ($this->currentDate->format('G') == '23') {
358 $this->currentDate->modify('+' . $this->interval-1 . ' days');
361 $this->currentDate->modify('+1 hours');
364 $this->currentDate->modify('+' . $this->interval . ' days');
369 $currentMonth = $this->currentDate->format('n');
372 $currentDay = $this->currentDate->format('w');
375 $currentHour = $this->currentDate->format('G');
378 ($this->byDay && !in_array($currentDay, $recurrenceDays)) ||
379 ($this->byHour && !in_array($currentHour, $recurrenceHours)) ||
380 ($this->byMonth && !in_array($currentMonth, $recurrenceMonths))
392 if (!$this->byHour && !$this->byDay) {
393 $this->currentDate->modify('+' . $this->interval . ' weeks');
397 if ($this->byHour) {
398 $recurrenceHours = $this->getHours();
401 if ($this->byDay) {
402 $recurrenceDays = $this->getDays();
406 $firstDay = $this->dayMap[$this->weekStart];
410 if ($this->byHour) {
411 $this->currentDate->modify('+1 hours');
413 $this->currentDate->modify('+1 days');
417 $currentDay = (int) $this->currentDate->format('w');
420 $currentHour = (int) $this->currentDate->format('G');
423 if ($currentDay === $firstDay && (!$this->byHour || $currentHour == '0')) {
424 $this->currentDate->modify('+' . $this->interval-1 . ' weeks');
428 if($this->currentDate->format('w') != $firstDay) {
429 … $this->currentDate->modify('last ' . $this->dayNames[$this->dayMap[$this->weekStart]]);
434 …} while (($this->byDay && !in_array($currentDay, $recurrenceDays)) || ($this->byHour && !in_array(…
444 $currentDayOfMonth = $this->currentDate->format('j');
445 if (!$this->byMonthDay && !$this->byDay) {
451 $this->currentDate->modify('+' . $this->interval . ' months');
456 $tempDate = clone $this->currentDate;
457 $tempDate->modify('+ ' . ($this->interval*$increase) . ' months');
459 $this->currentDate = $tempDate;
466 $occurrences = $this->getMonthlyOccurrences();
485 …$this->currentDate = new \DateTime($this->currentDate->format('Y-m-1 H:i:s'), $this->currentDate->…
487 $this->currentDate->modify('+ ' . $this->interval . ' months');
495 …$this->currentDate->setDate($this->currentDate->format('Y'), $this->currentDate->format('n'), $occ…
506 $currentMonth = $this->currentDate->format('n');
507 $currentYear = $this->currentDate->format('Y');
508 $currentDayOfMonth = $this->currentDate->format('j');
511 if (!$this->byMonth) {
527 $nextDate = clone $this->currentDate;
528 $nextDate->modify('+ ' . ($this->interval*$counter) . ' years');
530 $this->currentDate = $nextDate;
537 $this->currentDate->modify('+' . $this->interval . ' years');
542 $currentMonth = $this->currentDate->format('n');
543 $currentYear = $this->currentDate->format('Y');
544 $currentDayOfMonth = $this->currentDate->format('j');
550 if ($this->byDay || $this->byMonthDay) {
554 $occurrences = $this->getMonthlyOccurrences();
576 $currentYear+=$this->interval;
579 } while (!in_array($currentMonth, $this->byMonth));
581 $this->currentDate->setDate($currentYear, $currentMonth, $currentDayOfMonth);
586 $this->currentDate->setDate($currentYear, $currentMonth, $occurrence);
597 $currentYear+=$this->interval;
600 } while (!in_array($currentMonth, $this->byMonth));
601 $this->currentDate->setDate($currentYear, $currentMonth, $currentDayOfMonth);
637 $this->frequency = $value;
641 $this->until = DateTimeParser::parse($value, $this->startDate->getTimezone());
651 if($this->until < $this->startDate) {
652 $this->until = $this->startDate;
665 $this->$key = $val;
669 $this->bySecond = (array)$value;
673 $this->byMinute = (array)$value;
677 $this->byHour = (array)$value;
687 $this->byDay = $value;
691 $this->byMonthDay = (array)$value;
695 $this->byYearDay = (array)$value;
699 $this->byWeekNo = (array)$value;
703 $this->byMonth = (array)$value;
707 $this->bySetPos = (array)$value;
711 $this->weekStart = strtoupper($value);
748 $startDate = clone $this->currentDate;
754 if ($this->byDay) foreach($this->byDay as $day) {
756 $dayName = $this->dayNames[$this->dayMap[substr($day,-2)]];
805 if ($this->byMonthDay) foreach($this->byMonthDay as $monthDay) {
823 if ($this->byMonthDay && $this->byDay) {
825 } elseif ($this->byMonthDay) {
835 if (!$this->bySetPos) {
840 foreach($this->bySetPos as $setPos) {
873 foreach($this->byHour as $byHour) {
883 foreach($this->byDay as $byDay) {
888 $recurrenceDays[] = $this->dayMap[substr($byDay,-2)];
898 foreach($this->byMonth as $byMonth) {