%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/helpers/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/helpers/RRuleHelper.php |
<?php namespace humhub\modules\calendar\helpers; use Recurr\Rule; class RRuleHelper { /** * @param $rrule * @param $until * @return string * @throws \Recurr\Exception\InvalidRRule */ public static function setUntil($rrule, $until) { return (new Rule($rrule))->setUntil($until)->getString(Rule::TZ_FIXED); } public static function compare($oldRrule, $newRrule, $ignoreUntil = false) { if($oldRrule === $newRrule) { return true; } $oldRruleArr = static::toArray($oldRrule); $newRruleArr = static::toArray($newRrule); if($ignoreUntil) { $oldRruleArr['UNTIL'] = null; $newRruleArr['UNTIL'] = null; } return $oldRruleArr == $newRruleArr; } public static function toArray($rrule) { $rrule = strtoupper($rrule); $rrule = trim($rrule, ';'); $rrule = trim($rrule, "\n"); $rows = explode("\n", $rrule); $parts = []; foreach ($rows as $rruleForRow) { $rrule = new Rule(); $parts = array_merge($parts, $rrule->parseString($rruleForRow)); } return $parts; } }