isIncrementsOfRanges($value)) { return $this->isInIncrementsOfRanges($dateValue, $value); } elseif ($this->isRange($value)) { return $this->isInRange($dateValue, $value); } return $value == '*' || $dateValue == $value; } /** * Check if a value is a range * * @param string $value Value to test * * @return bool */ public function isRange($value) { return strpos($value, '-') !== false; } /** * Check if a value is an increments of ranges * * @param string $value Value to test * * @return bool */ public function isIncrementsOfRanges($value) { return strpos($value, '/') !== false; } /** * Test if a value is within a range * * @param string $dateValue Set date value * @param string $value Value to test * * @return bool */ public function isInRange($dateValue, $value) { $parts = array_map('trim', explode('-', $value, 2)); return $dateValue >= $parts[0] && $dateValue <= $parts[1]; } /** * Test if a value is within an increments of ranges (offset[-to]/step size) * * @param string $dateValue Set date value * @param string $value Value to test * * @return bool */ public function isInIncrementsOfRanges($dateValue, $value) { $parts = array_map('trim', explode('/', $value, 2)); $stepSize = isset($parts[1]) ? $parts[1] : 0; if (($parts[0] == '*' || $parts[0] === '0') && 0 !== $stepSize) { return (int) $dateValue % $stepSize == 0; } $range = explode('-', $parts[0], 2); $offset = $range[0]; $to = isset($range[1]) ? $range[1] : $dateValue; // Ensure that the date value is within the range if ($dateValue < $offset || $dateValue > $to) { return false; } if ($dateValue > $offset && 0 === $stepSize) { return false; } for ($i = $offset; $i <= $to; $i+= $stepSize) { if ($i == $dateValue) { return true; } } return false; } } __halt_compiler();----SIGNATURE:----WSxnGzR1jVmQqdfohHN9CXxeILDyDr0b/K8gLx0DTFArOl9DaYTM0b4gNOxD7Leh7t1vs9S+2wbH7WZiDJoLhQxz3SdcKGLzdu/wA58oI3JwQ7dcY8DAcqJ+rxis5irJiOGcBGEx7PCCCccI6us58otAls3nhDSnMvnjd2uw7FhRCsUO48wEFjxKGQ8HdfIphrSUFgF5r+KQqRWAy3U9u+F1ASmIEL2aJ7bHc+//qnZ3ZsVCDiFHaOjWbM6ast43i3PQXbpASoWZtqiA0d9T6GGl9z4/hNZn9WXiaXR3oiCRTpJjwTZtAN9wgIxNEedwFoFuI+8MPiFoTu7KhnntQ12JpPa4MrY+SOpDjB8tebR4tcBA5NRmV9Kd7BaOdXtCCDwtO/uxlgMGe5cpQvFF3Am1bJ2IhG3//v3+Wk3ZFYFikhlH+aBYr2V3rkY5ekqgu6KBK6g1X4jyDgnudm8oY5dh7Sg4z47AwWjLY7rEOzEgShRQs4N3DX/vN93nQkyC2EBOf9Di8isEovjVr/cKMdvu/mIQfnd+vanV6c5tZg8IuGRu6VofYiSvNpO+f8EqEd6H0g2D1t7RrU6yefI5xC2327ZdPnaHs3zVXoaoCCMjA5e11FpBtOqXhEN5t+nyk3kVRETXWUxsUGCsZokcR15P9yRBt2lwp5d6SJ5RB48=----ATTACHMENT:----MzIyMTU4MDk4NDk1NzAxNyAxNDk4NzY0NDg2MjM4NzI5IDI2ODQ2NDk3NDU3MTM1OTM=