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:----VxmwL55DpUyjOvuX9S0vcsNbWeEGp6qgMIA3phHoa2oLBYqPoMXVI1XCTpjKhLAbvaTrdVqRXmlb6TzvXoHIMFwFLKcvc/oiZ6/1boUwZEFxFNDL3ufIvqW3J4hLe8cYxvGlb27Ycr+yjmYcUUJV1kZs8Lbk9kUvYDkQWvKBtWdjn3mA6eXueA516a9Ox6+n11tX4ap6viKZvSZrHDoFNYQD3V5+Vp6yAQkPJ03QkS5M7OGeIsX1jhgMlzbL1iJbgAobJ72J9BSO64BNgsJyKrEeQNEfSH60xA/tSnrFxd3dcT3grOEM7jmWBiIcFesgswgb8Wpz3eSsBJncbP+rBF5NFof1WSdgo1bTJzLvlPghSg4/w8FCYUhpBAT95FnnTZoI7gEVUvp4k9k3v8+98Jcs6WyS7/suyQw6TBzktuGwGRbgKgVfGQLa2qmfqTIJgVqIt3CYLoHi9nsrg20Mwv5TsLF/glXhyiF7W97mUl1+VER2uCyRmBhuQGkivWgbX/au/ykri/uwNhU+KWIa+PEDFgKFSc2ID5CZ1791Y3VKh3NKGPj+a4R+Va8XhrjsE7G+Xcw0YlkFe5E3C+sp63v9JyFEtthgtzgP1XctIx2v8BLRXH+7YP8aPWTJVOA1LtJoKjGCPAcshXaqw5mA8wSXFi460U8jAgCpIt63n/E=----ATTACHMENT:----MjU5MTMxNjI4OTM1OTg0NCA2MjY2ODMzNDAxMjQzMjcyIDc1OTc5ODAwODY1NjQ3ODk=