ILIAS
release_8 Revision v8.19
|
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...
Public Member Functions | |
__construct (ilDatePeriod $entry, ilCalendarRecurrenceCalculation $rec) | |
calculateDateList (ilDateTime $a_start, ilDateTime $a_end, int $a_limit=-1) | |
calculate date list More... | |
Protected Attributes | |
string | $timezone = ilTimeZone::UTC |
ilLogger | $log |
bool | $limit_reached = false |
ilDateList | $valid_dates = null |
ilDateTime | $period_start = null |
ilDateTime | $period_end = null |
ilDateTime | $start = null |
ilDatePeriod | $event |
ilCalendarRecurrenceCalculation | $recurrence |
int | $duration = 0 |
string | $frequence_context = '' |
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.
ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.
If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Calculates an ilDateList
for a given calendar entry and recurrence rule.
Definition at line 27 of file class.ilCalendarRecurrenceCalculator.php.
ilCalendarRecurrenceCalculator::__construct | ( | ilDatePeriod | $entry, |
ilCalendarRecurrenceCalculation | $rec | ||
) |
Definition at line 43 of file class.ilCalendarRecurrenceCalculator.php.
References $GLOBALS, ilDatePeriod\getEnd(), ilDatePeriod\getStart(), IL_CAL_UNIX, and ILIAS\Repository\int().
|
protected |
Adjust timezone.
Definition at line 179 of file class.ilCalendarRecurrenceCalculator.php.
References Vendor\Package\$e, ilTimeZone\_setDefaultTimeZone(), ILIAS\Repository\event(), ilDateTime\switchTimeZone(), and ilTimeZone\UTC.
Referenced by calculateDateList().
|
protected |
Definition at line 480 of file class.ilCalendarRecurrenceCalculator.php.
References $start, createDate(), ilCalendarRecurrence\FREQ_DAILY, ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateList\get(), getMonthWeekDays(), getWeekWeekDays(), getYearWeekDays(), IL_CAL_DAY, IL_CAL_FKT_DATE, IL_CAL_FKT_GETDATE, ilDateTime\increment(), initDateList(), and ILIAS\Repository\int().
Referenced by calculateDateList().
|
protected |
Definition at line 399 of file class.ilCalendarRecurrenceCalculator.php.
References $i, ilTimeZone\_getInstance(), ilCalendarUtil\_getMaxDayOfMonth(), createDate(), ilDateTime\DAY, ILIAS\Repository\event(), ilCalendarRecurrence\FREQ_DAILY, ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateList\get(), IL_CAL_FKT_DATE, IL_CAL_UNIX, initDateList(), and ILIAS\Repository\int().
Referenced by calculateDateList().
|
protected |
Definition at line 257 of file class.ilCalendarRecurrenceCalculator.php.
References createDate(), ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateList\get(), IL_CAL_FKT_DATE, IL_CAL_UNIX, initDateList(), and ilDateTime\MONTH.
Referenced by calculateDateList().
|
protected |
Apply BYSETPOST rules.
Definition at line 628 of file class.ilCalendarRecurrenceCalculator.php.
References ilDateList\get(), ilDateList\getAtPosition(), initDateList(), and ilDateList\sort().
Referenced by calculateDateList().
|
protected |
Apply BYWEEKNO rules (1 to 53 and -1 to -53).
This rule can only be applied to YEARLY rules (RFC 2445 4.3.10)
Definition at line 293 of file class.ilCalendarRecurrenceCalculator.php.
References createDate(), ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateList\get(), IL_CAL_FKT_DATE, IL_CAL_UNIX, initDateList(), ILIAS\Repository\int(), and ilDateTime\WEEK.
Referenced by calculateDateList().
|
protected |
Definition at line 338 of file class.ilCalendarRecurrenceCalculator.php.
References createDate(), ilDateTime\DAY, ilCalendarRecurrence\FREQ_DAILY, ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateList\get(), IL_CAL_FKT_DATE, IL_CAL_UNIX, initDateList(), and ILIAS\Repository\int().
Referenced by calculateDateList().
|
protected |
Apply duration period.
Definition at line 155 of file class.ilCalendarRecurrenceCalculator.php.
References ilDateTime\_after(), ilDateTime\_before(), getDuration(), ilDateTime\MINUTE, and ilDateList\remove().
Referenced by calculateDateList().
|
protected |
Definition at line 690 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by calculateDateList().
|
protected |
Apply limits (count or until)
Definition at line 652 of file class.ilCalendarRecurrenceCalculator.php.
References $res, ilDateTime\_after(), ilDateTime\_before(), ILIAS\Repository\event(), ilDateList\get(), IL_CAL_DAY, ilDateList\remove(), and ilDateList\sort().
Referenced by calculateDateList().
ilCalendarRecurrenceCalculator::calculateDateList | ( | ilDateTime | $a_start, |
ilDateTime | $a_end, | ||
int | $a_limit = -1 |
||
) |
calculate date list
ilDateTime | ilDateTime start of period |
ilDateTime | ilDateTime end of period |
int | limit number of returned dates |
Definition at line 67 of file class.ilCalendarRecurrenceCalculator.php.
References $period_end, $period_start, $valid_dates, ilDateTime\_after(), ilDateTime\_before(), ilDateTime\_equals(), ilTimeZone\_restoreDefaultTimeZone(), adjustTimeZones(), applyBYDAYRules(), applyBYMONTHDAYRules(), applyBYMONTHRules(), applyBYSETPOSRules(), applyBYWEEKNORules(), applyBYYEARDAYRules(), applyDurationPeriod(), applyExclusionDates(), applyLimits(), ILIAS\Repository\event(), IL_CAL_DAY, incrementByFrequency(), initDateList(), optimizeEndingTime(), optimizeStartingTime(), and validateRecurrence().
Referenced by ilConsultationHoursGUI\createAppointments(), and ilObjSessionGUI\createRecurringSessions().
|
protected |
Definition at line 705 of file class.ilCalendarRecurrenceCalculator.php.
References ILIAS\Repository\event().
Referenced by applyBYDAYRules(), applyBYMONTHDAYRules(), applyBYMONTHRules(), applyBYWEEKNORules(), applyBYYEARDAYRules(), and optimizeStartingTime().
|
protected |
Get duration of event.
Definition at line 55 of file class.ilCalendarRecurrenceCalculator.php.
References $duration.
Referenced by applyDurationPeriod().
|
protected |
Definition at line 582 of file class.ilCalendarRecurrenceCalculator.php.
References $i, ilCalendarUtil\_getMaxDayOfMonth(), IL_CAL_DATE, and IL_CAL_FKT_GETDATE.
Referenced by applyBYDAYRules().
|
protected |
get weedays of week
Definition at line 614 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by applyBYDAYRules().
|
protected |
get a list of year week days according to the BYMONTH rule
Definition at line 557 of file class.ilCalendarRecurrenceCalculator.php.
References $i, ilCalendarUtil\_isLeapYear(), ilDateTime\get(), IL_CAL_DATE, and IL_CAL_FKT_DATE.
Referenced by applyBYDAYRules().
|
protected |
Definition at line 231 of file class.ilCalendarRecurrenceCalculator.php.
References $start, ilDateTime\DAY, ilCalendarRecurrence\FREQ_DAILY, ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilDateTime\increment(), ilDateTime\MONTH, ilDateTime\WEEK, and ilDateTime\YEAR.
Referenced by calculateDateList(), optimizeEndingTime(), and optimizeStartingTime().
|
protected |
Definition at line 700 of file class.ilCalendarRecurrenceCalculator.php.
References ILIAS\Repository\event(), ilDateList\TYPE_DATE, and ilDateList\TYPE_DATETIME.
Referenced by applyBYDAYRules(), applyBYMONTHDAYRules(), applyBYMONTHRules(), applyBYSETPOSRules(), applyBYWEEKNORules(), applyBYYEARDAYRules(), and calculateDateList().
|
protected |
Definition at line 221 of file class.ilCalendarRecurrenceCalculator.php.
References $period_end, $period_start, ilDateTime\_before(), ilDateTime\DAY, and incrementByFrequency().
Referenced by calculateDateList().
|
protected |
Definition at line 205 of file class.ilCalendarRecurrenceCalculator.php.
References $start, ilDateTime\_before(), createDate(), IL_CAL_UNIX, and incrementByFrequency().
Referenced by calculateDateList().
|
protected |
Definition at line 715 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by calculateDateList().
|
protected |
Definition at line 40 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by getDuration().
|
protected |
Definition at line 38 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 41 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 32 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 30 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 35 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by calculateDateList(), and optimizeEndingTime().
|
protected |
Definition at line 34 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by calculateDateList(), and optimizeEndingTime().
|
protected |
Definition at line 39 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 36 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by applyBYDAYRules(), incrementByFrequency(), and optimizeStartingTime().
|
protected |
Definition at line 29 of file class.ilCalendarRecurrenceCalculator.php.
|
protected |
Definition at line 33 of file class.ilCalendarRecurrenceCalculator.php.
Referenced by calculateDateList().