PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.0
4.17.2 4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / third-party / vendor / nesbot / carbon / src / Carbon / Traits / Week.php
wp-user-avatar / third-party / vendor / nesbot / carbon / src / Carbon / Traits Last commit date
Boundaries.php 2 months ago Cast.php 2 months ago Comparison.php 2 months ago Converter.php 2 months ago Creator.php 2 months ago Date.php 2 months ago DeprecatedProperties.php 2 months ago Difference.php 2 months ago IntervalRounding.php 2 months ago IntervalStep.php 2 months ago Localization.php 2 months ago Macro.php 2 months ago MagicParameter.php 2 months ago Mixin.php 2 months ago Modifiers.php 2 months ago Mutability.php 2 months ago ObjectInitialisation.php 2 months ago Options.php 2 months ago Rounding.php 2 months ago Serialization.php 2 months ago Test.php 2 months ago Timestamp.php 2 months ago ToStringFormat.php 2 months ago Units.php 2 months ago Week.php 2 months ago
Week.php
186 lines
1 <?php
2
3 /**
4 * This file is part of the Carbon package.
5 *
6 * (c) Brian Nesbitt <brian@nesbot.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace ProfilePressVendor\Carbon\Traits;
12
13 /**
14 * Trait Week.
15 *
16 * week and ISO week number, year and count in year.
17 *
18 * Depends on the following properties:
19 *
20 * @property int $daysInYear
21 * @property int $dayOfWeek
22 * @property int $dayOfYear
23 * @property int $year
24 *
25 * Depends on the following methods:
26 *
27 * @method static addWeeks(int $weeks = 1)
28 * @method static copy()
29 * @method static dayOfYear(int $dayOfYear)
30 * @method string getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null)
31 * @method static next(int|string $day = null)
32 * @method static startOfWeek(int $day = 1)
33 * @method static subWeeks(int $weeks = 1)
34 * @method static year(int $year = null)
35 */
36 trait Week
37 {
38 /**
39 * Set/get the week number of year using given first day of week and first
40 * day of year included in the first week. Or use ISO format if no settings
41 * given.
42 *
43 * @param int|null $year if null, act as a getter, if not null, set the year and return current instance.
44 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
45 * @param int|null $dayOfYear first day of year included in the week #1
46 *
47 * @return int|static
48 */
49 public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null)
50 {
51 return $this->weekYear($year, $dayOfWeek ?? 1, $dayOfYear ?? 4);
52 }
53 /**
54 * Set/get the week number of year using given first day of week and first
55 * day of year included in the first week. Or use US format if no settings
56 * given (Sunday / Jan 6).
57 *
58 * @param int|null $year if null, act as a getter, if not null, set the year and return current instance.
59 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
60 * @param int|null $dayOfYear first day of year included in the week #1
61 *
62 * @return int|static
63 */
64 public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null)
65 {
66 $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
67 $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
68 if ($year !== null) {
69 $year = (int) round($year);
70 if ($this->weekYear(null, $dayOfWeek, $dayOfYear) === $year) {
71 return $this->avoidMutation();
72 }
73 $week = $this->week(null, $dayOfWeek, $dayOfYear);
74 $day = $this->dayOfWeek;
75 $date = $this->year($year);
76 switch ($date->weekYear(null, $dayOfWeek, $dayOfYear) - $year) {
77 case 1:
78 $date = $date->subWeeks(26);
79 break;
80 case -1:
81 $date = $date->addWeeks(26);
82 break;
83 }
84 $date = $date->addWeeks($week - $date->week(null, $dayOfWeek, $dayOfYear))->startOfWeek($dayOfWeek);
85 if ($date->dayOfWeek === $day) {
86 return $date;
87 }
88 return $date->next($day);
89 }
90 $year = $this->year;
91 $day = $this->dayOfYear;
92 $date = $this->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
93 if ($date->year === $year && $day < $date->dayOfYear) {
94 return $year - 1;
95 }
96 $date = $this->avoidMutation()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
97 if ($date->year === $year && $day >= $date->dayOfYear) {
98 return $year + 1;
99 }
100 return $year;
101 }
102 /**
103 * Get the number of weeks of the current week-year using given first day of week and first
104 * day of year included in the first week. Or use ISO format if no settings
105 * given.
106 *
107 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
108 * @param int|null $dayOfYear first day of year included in the week #1
109 *
110 * @return int
111 */
112 public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null)
113 {
114 return $this->weeksInYear($dayOfWeek ?? 1, $dayOfYear ?? 4);
115 }
116 /**
117 * Get the number of weeks of the current week-year using given first day of week and first
118 * day of year included in the first week. Or use US format if no settings
119 * given (Sunday / Jan 6).
120 *
121 * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
122 * @param int|null $dayOfYear first day of year included in the week #1
123 *
124 * @return int
125 */
126 public function weeksInYear($dayOfWeek = null, $dayOfYear = null)
127 {
128 $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
129 $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
130 $year = $this->year;
131 $start = $this->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
132 $startDay = $start->dayOfYear;
133 if ($start->year !== $year) {
134 $startDay -= $start->daysInYear;
135 }
136 $end = $this->avoidMutation()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
137 $endDay = $end->dayOfYear;
138 if ($end->year !== $year) {
139 $endDay += $this->daysInYear;
140 }
141 return (int) round(($endDay - $startDay) / 7);
142 }
143 /**
144 * Get/set the week number using given first day of week and first
145 * day of year included in the first week. Or use US format if no settings
146 * given (Sunday / Jan 6).
147 *
148 * @param int|null $week
149 * @param int|null $dayOfWeek
150 * @param int|null $dayOfYear
151 *
152 * @return int|static
153 */
154 public function week($week = null, $dayOfWeek = null, $dayOfYear = null)
155 {
156 $date = $this;
157 $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
158 $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
159 if ($week !== null) {
160 return $date->addWeeks(round($week) - $this->week(null, $dayOfWeek, $dayOfYear));
161 }
162 $start = $date->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
163 $end = $date->avoidMutation()->startOfWeek($dayOfWeek);
164 if ($start > $end) {
165 $start = $start->subWeeks(26)->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
166 }
167 $week = (int) ($start->diffInDays($end) / 7 + 1);
168 return $week > $end->weeksInYear($dayOfWeek, $dayOfYear) ? 1 : $week;
169 }
170 /**
171 * Get/set the week number using given first day of week and first
172 * day of year included in the first week. Or use ISO format if no settings
173 * given.
174 *
175 * @param int|null $week
176 * @param int|null $dayOfWeek
177 * @param int|null $dayOfYear
178 *
179 * @return int|static
180 */
181 public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null)
182 {
183 return $this->week($week, $dayOfWeek ?? 1, $dayOfYear ?? 4);
184 }
185 }
186