summaryrefslogtreecommitdiffstats
path: root/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:47:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:47:35 +0000
commit5f112e7d0464d98282443b78870cdccabe42aae9 (patch)
treeaac24e989ceebb84c04de382960608c3fcef7313 /vendor/dragonmantank/cron-expression/src/Cron/MonthField.php
parentInitial commit. (diff)
downloadicingaweb2-module-x509-5f112e7d0464d98282443b78870cdccabe42aae9.tar.xz
icingaweb2-module-x509-5f112e7d0464d98282443b78870cdccabe42aae9.zip
Adding upstream version 1:1.1.2.upstream/1%1.1.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--vendor/dragonmantank/cron-expression/src/Cron/MonthField.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php b/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php
new file mode 100644
index 0000000..afc9caf
--- /dev/null
+++ b/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace Cron;
+
+use DateTimeInterface;
+
+/**
+ * Month field. Allows: * , / -
+ */
+class MonthField extends AbstractField
+{
+ /**
+ * @inheritDoc
+ */
+ protected $rangeStart = 1;
+
+ /**
+ * @inheritDoc
+ */
+ protected $rangeEnd = 12;
+
+ /**
+ * @inheritDoc
+ */
+ protected $literals = [1 => 'JAN', 2 => 'FEB', 3 => 'MAR', 4 => 'APR', 5 => 'MAY', 6 => 'JUN', 7 => 'JUL',
+ 8 => 'AUG', 9 => 'SEP', 10 => 'OCT', 11 => 'NOV', 12 => 'DEC'];
+
+ /**
+ * @inheritDoc
+ */
+ public function isSatisfiedBy(DateTimeInterface $date, $value)
+ {
+ if ($value == '?') {
+ return true;
+ }
+
+ $value = $this->convertLiterals($value);
+
+ return $this->isSatisfied($date->format('m'), $value);
+ }
+
+ /**
+ * @inheritDoc
+ *
+ * @param \DateTime|\DateTimeImmutable &$date
+ */
+ public function increment(DateTimeInterface &$date, $invert = false)
+ {
+ if ($invert) {
+ $date = $date->modify('last day of previous month')->setTime(23, 59);
+ } else {
+ $date = $date->modify('first day of next month')->setTime(0, 0);
+ }
+
+ return $this;
+ }
+
+
+}