PluginProbe ʕ •ᴥ•ʔ
WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin / 3.0.1
WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin v3.0.1
4.9.0 0.9.6 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.2 1.7.0 1.7.1 1.8.0 1.8.1 1.9.0 2.0.0 2.0.1 2.1.1 2.2.1 2.3.1 2.4.0 2.5.0 2.5.1 2.6.0 2.7.0 2.8.0 2.9.0 3.0.1 3.0.2 3.0.3 3.1.0 3.10.0 3.11.0 3.11.1 3.2.0 3.2.1 3.3.0 3.4.0 3.5.0 3.5.1 3.5.2 3.6.1 3.7.0 3.8.0 3.8.2 3.9.0 4.0.1 4.1.0 4.1.1 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.8.0 trunk 0.10.0 0.10.1 0.11.1 0.11.2 0.3.1 0.3.2 0.4 0.4.1 0.4.2 0.5.0 0.5.1 0.5.2 0.6 0.7 0.8 0.8.2 0.8.3 0.8.4 0.8.5 0.8.6 0.8.7 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5
wp-mail-smtp / vendor / woocommerce / action-scheduler / lib / cron-expression / CronExpression_AbstractField.php
wp-mail-smtp / vendor / woocommerce / action-scheduler / lib / cron-expression Last commit date
CronExpression.php 4 years ago CronExpression_AbstractField.php 4 years ago CronExpression_DayOfMonthField.php 4 years ago CronExpression_DayOfWeekField.php 4 years ago CronExpression_FieldFactory.php 4 years ago CronExpression_FieldInterface.php 4 years ago CronExpression_HoursField.php 4 years ago CronExpression_MinutesField.php 4 years ago CronExpression_MonthField.php 4 years ago CronExpression_YearField.php 4 years ago LICENSE 4 years ago
CronExpression_AbstractField.php
101 lines
1 <?php
2
3 /**
4 * Abstract CRON expression field
5 *
6 * @author Michael Dowling <mtdowling@gmail.com>
7 */
8 abstract class CronExpression_AbstractField implements CronExpression_FieldInterface
9 {
10 /**
11 * Check to see if a field is satisfied by a value
12 *
13 * @param string $dateValue Date value to check
14 * @param string $value Value to test
15 *
16 * @return bool
17 */
18 public function isSatisfied($dateValue, $value)
19 {
20 if ($this->isIncrementsOfRanges($value)) {
21 return $this->isInIncrementsOfRanges($dateValue, $value);
22 } elseif ($this->isRange($value)) {
23 return $this->isInRange($dateValue, $value);
24 }
25
26 return $value == '*' || $dateValue == $value;
27 }
28
29 /**
30 * Check if a value is a range
31 *
32 * @param string $value Value to test
33 *
34 * @return bool
35 */
36 public function isRange($value)
37 {
38 return strpos($value, '-') !== false;
39 }
40
41 /**
42 * Check if a value is an increments of ranges
43 *
44 * @param string $value Value to test
45 *
46 * @return bool
47 */
48 public function isIncrementsOfRanges($value)
49 {
50 return strpos($value, '/') !== false;
51 }
52
53 /**
54 * Test if a value is within a range
55 *
56 * @param string $dateValue Set date value
57 * @param string $value Value to test
58 *
59 * @return bool
60 */
61 public function isInRange($dateValue, $value)
62 {
63 $parts = array_map('trim', explode('-', $value, 2));
64
65 return $dateValue >= $parts[0] && $dateValue <= $parts[1];
66 }
67
68 /**
69 * Test if a value is within an increments of ranges (offset[-to]/step size)
70 *
71 * @param string $dateValue Set date value
72 * @param string $value Value to test
73 *
74 * @return bool
75 */
76 public function isInIncrementsOfRanges($dateValue, $value)
77 {
78 $parts = array_map('trim', explode('/', $value, 2));
79 $stepSize = isset($parts[1]) ? $parts[1] : 0;
80 if ($parts[0] == '*' || $parts[0] === '0') {
81 return (int) $dateValue % $stepSize == 0;
82 }
83
84 $range = explode('-', $parts[0], 2);
85 $offset = $range[0];
86 $to = isset($range[1]) ? $range[1] : $dateValue;
87 // Ensure that the date value is within the range
88 if ($dateValue < $offset || $dateValue > $to) {
89 return false;
90 }
91
92 for ($i = $offset; $i <= $to; $i+= $stepSize) {
93 if ($i == $dateValue) {
94 return true;
95 }
96 }
97
98 return false;
99 }
100 }
101