1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: 0f204ac6646be79b515189a384fce9bcea9a4f42 */
3
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strtotime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
5 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
6 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, baseTimestamp, IS_LONG, 1, "null")
7 ZEND_END_ARG_INFO()
8
9 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date, 0, 1, IS_STRING, 0)
10 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
11 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
12 ZEND_END_ARG_INFO()
13
14 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_idate, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
15 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
16 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
17 ZEND_END_ARG_INFO()
18
19 #define arginfo_gmdate arginfo_date
20
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mktime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
22 ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
23 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, minute, IS_LONG, 1, "null")
24 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 1, "null")
25 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, month, IS_LONG, 1, "null")
26 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, day, IS_LONG, 1, "null")
27 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, year, IS_LONG, 1, "null")
28 ZEND_END_ARG_INFO()
29
30 #define arginfo_gmmktime arginfo_mktime
31
32 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_checkdate, 0, 3, _IS_BOOL, 0)
33 ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
34 ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
35 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
36 ZEND_END_ARG_INFO()
37
38 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strftime, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
39 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
40 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
41 ZEND_END_ARG_INFO()
42
43 #define arginfo_gmstrftime arginfo_strftime
44
45 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_time, 0, 0, IS_LONG, 0)
46 ZEND_END_ARG_INFO()
47
48 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_localtime, 0, 0, IS_ARRAY, 0)
49 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
50 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, associative, _IS_BOOL, 0, "false")
51 ZEND_END_ARG_INFO()
52
53 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_getdate, 0, 0, IS_ARRAY, 0)
54 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
55 ZEND_END_ARG_INFO()
56
57 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create, 0, 0, DateTime, MAY_BE_FALSE)
58 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
59 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
60 ZEND_END_ARG_INFO()
61
62 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_immutable, 0, 0, DateTimeImmutable, MAY_BE_FALSE)
63 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
64 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
65 ZEND_END_ARG_INFO()
66
67 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_from_format, 0, 2, DateTime, MAY_BE_FALSE)
68 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
69 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
70 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
71 ZEND_END_ARG_INFO()
72
73 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_immutable_from_format, 0, 2, DateTimeImmutable, MAY_BE_FALSE)
74 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
75 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
76 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
77 ZEND_END_ARG_INFO()
78
79 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_parse, 0, 1, IS_ARRAY, 0)
80 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
81 ZEND_END_ARG_INFO()
82
83 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_parse_from_format, 0, 2, IS_ARRAY, 0)
84 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
85 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
86 ZEND_END_ARG_INFO()
87
88 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_date_get_last_errors, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
89 ZEND_END_ARG_INFO()
90
91 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_format, 0, 2, IS_STRING, 0)
92 ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
93 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
94 ZEND_END_ARG_INFO()
95
96 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_modify, 0, 2, DateTime, MAY_BE_FALSE)
97 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
98 ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
99 ZEND_END_ARG_INFO()
100
101 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_add, 0, 2, DateTime, 0)
102 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
103 ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
104 ZEND_END_ARG_INFO()
105
106 #define arginfo_date_sub arginfo_date_add
107
108 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_timezone_get, 0, 1, DateTimeZone, MAY_BE_FALSE)
109 ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
110 ZEND_END_ARG_INFO()
111
112 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_timezone_set, 0, 2, DateTime, 0)
113 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
114 ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
115 ZEND_END_ARG_INFO()
116
117 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_offset_get, 0, 1, IS_LONG, 0)
118 ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
119 ZEND_END_ARG_INFO()
120
121 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_diff, 0, 2, DateInterval, 0)
122 ZEND_ARG_OBJ_INFO(0, baseObject, DateTimeInterface, 0)
123 ZEND_ARG_OBJ_INFO(0, targetObject, DateTimeInterface, 0)
124 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, absolute, _IS_BOOL, 0, "false")
125 ZEND_END_ARG_INFO()
126
127 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_time_set, 0, 3, DateTime, 0)
128 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
129 ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
130 ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
131 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
132 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
133 ZEND_END_ARG_INFO()
134
135 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_date_set, 0, 4, DateTime, 0)
136 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
137 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
138 ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
139 ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
140 ZEND_END_ARG_INFO()
141
142 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_isodate_set, 0, 3, DateTime, 0)
143 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
144 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
145 ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
146 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
147 ZEND_END_ARG_INFO()
148
149 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_timestamp_set, 0, 2, DateTime, 0)
150 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
151 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
152 ZEND_END_ARG_INFO()
153
154 #define arginfo_date_timestamp_get arginfo_date_offset_get
155
156 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_timezone_open, 0, 1, DateTimeZone, MAY_BE_FALSE)
157 ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
158 ZEND_END_ARG_INFO()
159
160 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_name_get, 0, 1, IS_STRING, 0)
161 ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
162 ZEND_END_ARG_INFO()
163
164 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_name_from_abbr, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
165 ZEND_ARG_TYPE_INFO(0, abbr, IS_STRING, 0)
166 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, utcOffset, IS_LONG, 0, "-1")
167 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, isDST, IS_LONG, 0, "-1")
168 ZEND_END_ARG_INFO()
169
170 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_offset_get, 0, 2, IS_LONG, 0)
171 ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
172 ZEND_ARG_OBJ_INFO(0, datetime, DateTimeInterface, 0)
173 ZEND_END_ARG_INFO()
174
175 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_transitions_get, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
176 ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
177 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampBegin, IS_LONG, 0, "PHP_INT_MIN")
178 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampEnd, IS_LONG, 0, "PHP_INT_MAX")
179 ZEND_END_ARG_INFO()
180
181 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_location_get, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
182 ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
183 ZEND_END_ARG_INFO()
184
185 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_identifiers_list, 0, 0, IS_ARRAY, 0)
186 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timezoneGroup, IS_LONG, 0, "DateTimeZone::ALL")
187 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, countryCode, IS_STRING, 1, "null")
188 ZEND_END_ARG_INFO()
189
190 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_abbreviations_list, 0, 0, IS_ARRAY, 0)
191 ZEND_END_ARG_INFO()
192
193 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_version_get, 0, 0, IS_STRING, 0)
194 ZEND_END_ARG_INFO()
195
196 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_interval_create_from_date_string, 0, 1, DateInterval, MAY_BE_FALSE)
197 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
198 ZEND_END_ARG_INFO()
199
200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_interval_format, 0, 2, IS_STRING, 0)
201 ZEND_ARG_OBJ_INFO(0, object, DateInterval, 0)
202 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
203 ZEND_END_ARG_INFO()
204
205 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_default_timezone_set, 0, 1, _IS_BOOL, 0)
206 ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0)
207 ZEND_END_ARG_INFO()
208
209 #define arginfo_date_default_timezone_get arginfo_timezone_version_get
210
211 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_date_sunrise, 0, 1, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
212 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
213 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, returnFormat, IS_LONG, 0, "SUNFUNCS_RET_STRING")
214 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, latitude, IS_DOUBLE, 1, "null")
215 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, longitude, IS_DOUBLE, 1, "null")
216 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, zenith, IS_DOUBLE, 1, "null")
217 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, utcOffset, IS_DOUBLE, 1, "null")
218 ZEND_END_ARG_INFO()
219
220 #define arginfo_date_sunset arginfo_date_sunrise
221
222 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_sun_info, 0, 3, IS_ARRAY, 0)
223 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
224 ZEND_ARG_TYPE_INFO(0, latitude, IS_DOUBLE, 0)
225 ZEND_ARG_TYPE_INFO(0, longitude, IS_DOUBLE, 0)
226 ZEND_END_ARG_INFO()
227
228 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface_format, 0, 1, IS_STRING, 0)
229 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
230 ZEND_END_ARG_INFO()
231
232 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTimeInterface_getTimezone, 0, 0, DateTimeZone, MAY_BE_FALSE)
233 ZEND_END_ARG_INFO()
234
235 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface_getOffset, 0, 0, IS_LONG, 0)
236 ZEND_END_ARG_INFO()
237
238 #define arginfo_class_DateTimeInterface_getTimestamp arginfo_class_DateTimeInterface_getOffset
239
240 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeInterface_diff, 0, 1, DateInterval, 0)
241 ZEND_ARG_OBJ_INFO(0, targetObject, DateTimeInterface, 0)
242 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, absolute, _IS_BOOL, 0, "false")
243 ZEND_END_ARG_INFO()
244
245 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface___wakeup, 0, 0, IS_VOID, 0)
246 ZEND_END_ARG_INFO()
247
248 #define arginfo_class_DateTimeInterface___serialize arginfo_timezone_abbreviations_list
249
250 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface___unserialize, 0, 1, IS_VOID, 0)
251 ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
252 ZEND_END_ARG_INFO()
253
254 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateTime___construct, 0, 0, 0)
255 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
256 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
257 ZEND_END_ARG_INFO()
258
259 #define arginfo_class_DateTime___serialize arginfo_timezone_abbreviations_list
260
261 #define arginfo_class_DateTime___unserialize arginfo_class_DateTimeInterface___unserialize
262
263 #define arginfo_class_DateTime___wakeup arginfo_class_DateTimeInterface___wakeup
264
265 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime___set_state, 0, 1, DateTime, 0)
266 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
267 ZEND_END_ARG_INFO()
268
269 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTime_createFromImmutable, 0, 1, IS_STATIC, 0)
270 ZEND_ARG_OBJ_INFO(0, object, DateTimeImmutable, 0)
271 ZEND_END_ARG_INFO()
272
273 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_createFromInterface, 0, 1, DateTime, 0)
274 ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
275 ZEND_END_ARG_INFO()
276
277 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTime_createFromFormat, 0, 2, DateTime, MAY_BE_FALSE)
278 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
279 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
280 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
281 ZEND_END_ARG_INFO()
282
283 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_DateTime_getLastErrors, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
284 ZEND_END_ARG_INFO()
285
286 #define arginfo_class_DateTime_format arginfo_class_DateTimeInterface_format
287
288 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTime_modify, 0, 1, DateTime, MAY_BE_FALSE)
289 ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
290 ZEND_END_ARG_INFO()
291
292 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_add, 0, 1, DateTime, 0)
293 ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
294 ZEND_END_ARG_INFO()
295
296 #define arginfo_class_DateTime_sub arginfo_class_DateTime_add
297
298 #define arginfo_class_DateTime_getTimezone arginfo_class_DateTimeInterface_getTimezone
299
300 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTimezone, 0, 1, DateTime, 0)
301 ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
302 ZEND_END_ARG_INFO()
303
304 #define arginfo_class_DateTime_getOffset arginfo_class_DateTimeInterface_getOffset
305
306 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTime, 0, 2, DateTime, 0)
307 ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
308 ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
309 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
310 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
311 ZEND_END_ARG_INFO()
312
313 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setDate, 0, 3, DateTime, 0)
314 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
315 ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
316 ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
317 ZEND_END_ARG_INFO()
318
319 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setISODate, 0, 2, DateTime, 0)
320 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
321 ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
322 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
323 ZEND_END_ARG_INFO()
324
325 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTimestamp, 0, 1, DateTime, 0)
326 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
327 ZEND_END_ARG_INFO()
328
329 #define arginfo_class_DateTime_getTimestamp arginfo_class_DateTimeInterface_getOffset
330
331 #define arginfo_class_DateTime_diff arginfo_class_DateTimeInterface_diff
332
333 #define arginfo_class_DateTimeImmutable___construct arginfo_class_DateTime___construct
334
335 #define arginfo_class_DateTimeImmutable___serialize arginfo_timezone_abbreviations_list
336
337 #define arginfo_class_DateTimeImmutable___unserialize arginfo_class_DateTimeInterface___unserialize
338
339 #define arginfo_class_DateTimeImmutable___wakeup arginfo_class_DateTimeInterface___wakeup
340
341 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable___set_state, 0, 1, DateTimeImmutable, 0)
342 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
343 ZEND_END_ARG_INFO()
344
345 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTimeImmutable_createFromFormat, 0, 2, DateTimeImmutable, MAY_BE_FALSE)
346 ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
347 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
348 ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
349 ZEND_END_ARG_INFO()
350
351 #define arginfo_class_DateTimeImmutable_getLastErrors arginfo_class_DateTime_getLastErrors
352
353 #define arginfo_class_DateTimeImmutable_format arginfo_class_DateTimeInterface_format
354
355 #define arginfo_class_DateTimeImmutable_getTimezone arginfo_class_DateTimeInterface_getTimezone
356
357 #define arginfo_class_DateTimeImmutable_getOffset arginfo_class_DateTimeInterface_getOffset
358
359 #define arginfo_class_DateTimeImmutable_getTimestamp arginfo_class_DateTimeInterface_getOffset
360
361 #define arginfo_class_DateTimeImmutable_diff arginfo_class_DateTimeInterface_diff
362
363 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTimeImmutable_modify, 0, 1, DateTimeImmutable, MAY_BE_FALSE)
364 ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
365 ZEND_END_ARG_INFO()
366
367 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_add, 0, 1, DateTimeImmutable, 0)
368 ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
369 ZEND_END_ARG_INFO()
370
371 #define arginfo_class_DateTimeImmutable_sub arginfo_class_DateTimeImmutable_add
372
373 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTimezone, 0, 1, DateTimeImmutable, 0)
374 ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
375 ZEND_END_ARG_INFO()
376
377 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTime, 0, 2, DateTimeImmutable, 0)
378 ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
379 ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
380 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
381 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
382 ZEND_END_ARG_INFO()
383
384 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setDate, 0, 3, DateTimeImmutable, 0)
385 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
386 ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
387 ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
388 ZEND_END_ARG_INFO()
389
390 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setISODate, 0, 2, DateTimeImmutable, 0)
391 ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
392 ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
393 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
394 ZEND_END_ARG_INFO()
395
396 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTimestamp, 0, 1, DateTimeImmutable, 0)
397 ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
398 ZEND_END_ARG_INFO()
399
400 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeImmutable_createFromMutable, 0, 1, IS_STATIC, 0)
401 ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
402 ZEND_END_ARG_INFO()
403
404 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_createFromInterface, 0, 1, DateTimeImmutable, 0)
405 ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
406 ZEND_END_ARG_INFO()
407
408 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateTimeZone___construct, 0, 0, 1)
409 ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
410 ZEND_END_ARG_INFO()
411
412 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_getName, 0, 0, IS_STRING, 0)
413 ZEND_END_ARG_INFO()
414
415 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_getOffset, 0, 1, IS_LONG, 0)
416 ZEND_ARG_OBJ_INFO(0, datetime, DateTimeInterface, 0)
417 ZEND_END_ARG_INFO()
418
419 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_DateTimeZone_getTransitions, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
420 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampBegin, IS_LONG, 0, "PHP_INT_MIN")
421 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampEnd, IS_LONG, 0, "PHP_INT_MAX")
422 ZEND_END_ARG_INFO()
423
424 #define arginfo_class_DateTimeZone_getLocation arginfo_class_DateTime_getLastErrors
425
426 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_listAbbreviations, 0, 0, IS_ARRAY, 0)
427 ZEND_END_ARG_INFO()
428
429 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_listIdentifiers, 0, 0, IS_ARRAY, 0)
430 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timezoneGroup, IS_LONG, 0, "DateTimeZone::ALL")
431 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, countryCode, IS_STRING, 1, "null")
432 ZEND_END_ARG_INFO()
433
434 #define arginfo_class_DateTimeZone___serialize arginfo_timezone_abbreviations_list
435
436 #define arginfo_class_DateTimeZone___unserialize arginfo_class_DateTimeInterface___unserialize
437
438 #define arginfo_class_DateTimeZone___wakeup arginfo_class_DateTimeInterface___wakeup
439
440 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeZone___set_state, 0, 1, DateTimeZone, 0)
441 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
442 ZEND_END_ARG_INFO()
443
444 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateInterval___construct, 0, 0, 1)
445 ZEND_ARG_TYPE_INFO(0, duration, IS_STRING, 0)
446 ZEND_END_ARG_INFO()
447
448 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateInterval_createFromDateString, 0, 1, DateInterval, MAY_BE_FALSE)
449 ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
450 ZEND_END_ARG_INFO()
451
452 #define arginfo_class_DateInterval_format arginfo_class_DateTimeInterface_format
453
454 #define arginfo_class_DateInterval___serialize arginfo_timezone_abbreviations_list
455
456 #define arginfo_class_DateInterval___unserialize arginfo_class_DateTimeInterface___unserialize
457
458 #define arginfo_class_DateInterval___wakeup arginfo_class_DateTimeInterface___wakeup
459
460 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateInterval___set_state, 0, 1, DateInterval, 0)
461 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
462 ZEND_END_ARG_INFO()
463
464 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DatePeriod_createFromISO8601String, 0, 1, IS_STATIC, 0)
465 ZEND_ARG_TYPE_INFO(0, specification, IS_STRING, 0)
466 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_LONG, 0, "0")
467 ZEND_END_ARG_INFO()
468
469 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DatePeriod___construct, 0, 0, 1)
470 ZEND_ARG_INFO(0, start)
471 ZEND_ARG_INFO(0, interval)
472 ZEND_ARG_INFO(0, end)
473 ZEND_ARG_INFO(0, options)
474 ZEND_END_ARG_INFO()
475
476 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getStartDate, 0, 0, DateTimeInterface, 0)
477 ZEND_END_ARG_INFO()
478
479 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getEndDate, 0, 0, DateTimeInterface, 1)
480 ZEND_END_ARG_INFO()
481
482 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getDateInterval, 0, 0, DateInterval, 0)
483 ZEND_END_ARG_INFO()
484
485 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DatePeriod_getRecurrences, 0, 0, IS_LONG, 1)
486 ZEND_END_ARG_INFO()
487
488 #define arginfo_class_DatePeriod___serialize arginfo_timezone_abbreviations_list
489
490 #define arginfo_class_DatePeriod___unserialize arginfo_class_DateTimeInterface___unserialize
491
492 #define arginfo_class_DatePeriod___wakeup arginfo_class_DateTimeInterface___wakeup
493
494 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod___set_state, 0, 1, DatePeriod, 0)
495 ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
496 ZEND_END_ARG_INFO()
497
498 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getIterator, 0, 0, Iterator, 0)
499 ZEND_END_ARG_INFO()
500
501
502 ZEND_FUNCTION(strtotime);
503 ZEND_FUNCTION(date);
504 ZEND_FUNCTION(idate);
505 ZEND_FUNCTION(gmdate);
506 ZEND_FUNCTION(mktime);
507 ZEND_FUNCTION(gmmktime);
508 ZEND_FUNCTION(checkdate);
509 ZEND_FUNCTION(strftime);
510 ZEND_FUNCTION(gmstrftime);
511 ZEND_FUNCTION(time);
512 ZEND_FUNCTION(localtime);
513 ZEND_FUNCTION(getdate);
514 ZEND_FUNCTION(date_create);
515 ZEND_FUNCTION(date_create_immutable);
516 ZEND_FUNCTION(date_create_from_format);
517 ZEND_FUNCTION(date_create_immutable_from_format);
518 ZEND_FUNCTION(date_parse);
519 ZEND_FUNCTION(date_parse_from_format);
520 ZEND_FUNCTION(date_get_last_errors);
521 ZEND_FUNCTION(date_format);
522 ZEND_FUNCTION(date_modify);
523 ZEND_FUNCTION(date_add);
524 ZEND_FUNCTION(date_sub);
525 ZEND_FUNCTION(date_timezone_get);
526 ZEND_FUNCTION(date_timezone_set);
527 ZEND_FUNCTION(date_offset_get);
528 ZEND_FUNCTION(date_diff);
529 ZEND_FUNCTION(date_time_set);
530 ZEND_FUNCTION(date_date_set);
531 ZEND_FUNCTION(date_isodate_set);
532 ZEND_FUNCTION(date_timestamp_set);
533 ZEND_FUNCTION(date_timestamp_get);
534 ZEND_FUNCTION(timezone_open);
535 ZEND_FUNCTION(timezone_name_get);
536 ZEND_FUNCTION(timezone_name_from_abbr);
537 ZEND_FUNCTION(timezone_offset_get);
538 ZEND_FUNCTION(timezone_transitions_get);
539 ZEND_FUNCTION(timezone_location_get);
540 ZEND_FUNCTION(timezone_identifiers_list);
541 ZEND_FUNCTION(timezone_abbreviations_list);
542 ZEND_FUNCTION(timezone_version_get);
543 ZEND_FUNCTION(date_interval_create_from_date_string);
544 ZEND_FUNCTION(date_interval_format);
545 ZEND_FUNCTION(date_default_timezone_set);
546 ZEND_FUNCTION(date_default_timezone_get);
547 ZEND_FUNCTION(date_sunrise);
548 ZEND_FUNCTION(date_sunset);
549 ZEND_FUNCTION(date_sun_info);
550 ZEND_METHOD(DateTime, __construct);
551 ZEND_METHOD(DateTime, __serialize);
552 ZEND_METHOD(DateTime, __unserialize);
553 ZEND_METHOD(DateTime, __wakeup);
554 ZEND_METHOD(DateTime, __set_state);
555 ZEND_METHOD(DateTime, createFromImmutable);
556 ZEND_METHOD(DateTime, createFromInterface);
557 ZEND_METHOD(DateTime, modify);
558 ZEND_METHOD(DateTime, sub);
559 ZEND_METHOD(DateTimeImmutable, __construct);
560 ZEND_METHOD(DateTimeImmutable, __serialize);
561 ZEND_METHOD(DateTimeImmutable, __unserialize);
562 ZEND_METHOD(DateTimeImmutable, __wakeup);
563 ZEND_METHOD(DateTimeImmutable, __set_state);
564 ZEND_METHOD(DateTimeImmutable, modify);
565 ZEND_METHOD(DateTimeImmutable, add);
566 ZEND_METHOD(DateTimeImmutable, sub);
567 ZEND_METHOD(DateTimeImmutable, setTimezone);
568 ZEND_METHOD(DateTimeImmutable, setTime);
569 ZEND_METHOD(DateTimeImmutable, setDate);
570 ZEND_METHOD(DateTimeImmutable, setISODate);
571 ZEND_METHOD(DateTimeImmutable, setTimestamp);
572 ZEND_METHOD(DateTimeImmutable, createFromMutable);
573 ZEND_METHOD(DateTimeImmutable, createFromInterface);
574 ZEND_METHOD(DateTimeZone, __construct);
575 ZEND_METHOD(DateTimeZone, __serialize);
576 ZEND_METHOD(DateTimeZone, __unserialize);
577 ZEND_METHOD(DateTimeZone, __wakeup);
578 ZEND_METHOD(DateTimeZone, __set_state);
579 ZEND_METHOD(DateInterval, __construct);
580 ZEND_METHOD(DateInterval, createFromDateString);
581 ZEND_METHOD(DateInterval, __serialize);
582 ZEND_METHOD(DateInterval, __unserialize);
583 ZEND_METHOD(DateInterval, __wakeup);
584 ZEND_METHOD(DateInterval, __set_state);
585 ZEND_METHOD(DatePeriod, createFromISO8601String);
586 ZEND_METHOD(DatePeriod, __construct);
587 ZEND_METHOD(DatePeriod, getStartDate);
588 ZEND_METHOD(DatePeriod, getEndDate);
589 ZEND_METHOD(DatePeriod, getDateInterval);
590 ZEND_METHOD(DatePeriod, getRecurrences);
591 ZEND_METHOD(DatePeriod, __serialize);
592 ZEND_METHOD(DatePeriod, __unserialize);
593 ZEND_METHOD(DatePeriod, __wakeup);
594 ZEND_METHOD(DatePeriod, __set_state);
595 ZEND_METHOD(DatePeriod, getIterator);
596
597
598 static const zend_function_entry ext_functions[] = {
599 ZEND_FE(strtotime, arginfo_strtotime)
600 ZEND_FE(date, arginfo_date)
601 ZEND_FE(idate, arginfo_idate)
602 ZEND_FE(gmdate, arginfo_gmdate)
603 ZEND_FE(mktime, arginfo_mktime)
604 ZEND_FE(gmmktime, arginfo_gmmktime)
605 ZEND_FE(checkdate, arginfo_checkdate)
606 ZEND_DEP_FE(strftime, arginfo_strftime)
607 ZEND_DEP_FE(gmstrftime, arginfo_gmstrftime)
608 ZEND_FE(time, arginfo_time)
609 ZEND_FE(localtime, arginfo_localtime)
610 ZEND_FE(getdate, arginfo_getdate)
611 ZEND_FE(date_create, arginfo_date_create)
612 ZEND_FE(date_create_immutable, arginfo_date_create_immutable)
613 ZEND_FE(date_create_from_format, arginfo_date_create_from_format)
614 ZEND_FE(date_create_immutable_from_format, arginfo_date_create_immutable_from_format)
615 ZEND_FE(date_parse, arginfo_date_parse)
616 ZEND_FE(date_parse_from_format, arginfo_date_parse_from_format)
617 ZEND_FE(date_get_last_errors, arginfo_date_get_last_errors)
618 ZEND_FE(date_format, arginfo_date_format)
619 ZEND_FE(date_modify, arginfo_date_modify)
620 ZEND_FE(date_add, arginfo_date_add)
621 ZEND_FE(date_sub, arginfo_date_sub)
622 ZEND_FE(date_timezone_get, arginfo_date_timezone_get)
623 ZEND_FE(date_timezone_set, arginfo_date_timezone_set)
624 ZEND_FE(date_offset_get, arginfo_date_offset_get)
625 ZEND_FE(date_diff, arginfo_date_diff)
626 ZEND_FE(date_time_set, arginfo_date_time_set)
627 ZEND_FE(date_date_set, arginfo_date_date_set)
628 ZEND_FE(date_isodate_set, arginfo_date_isodate_set)
629 ZEND_FE(date_timestamp_set, arginfo_date_timestamp_set)
630 ZEND_FE(date_timestamp_get, arginfo_date_timestamp_get)
631 ZEND_FE(timezone_open, arginfo_timezone_open)
632 ZEND_FE(timezone_name_get, arginfo_timezone_name_get)
633 ZEND_FE(timezone_name_from_abbr, arginfo_timezone_name_from_abbr)
634 ZEND_FE(timezone_offset_get, arginfo_timezone_offset_get)
635 ZEND_FE(timezone_transitions_get, arginfo_timezone_transitions_get)
636 ZEND_FE(timezone_location_get, arginfo_timezone_location_get)
637 ZEND_FE(timezone_identifiers_list, arginfo_timezone_identifiers_list)
638 ZEND_FE(timezone_abbreviations_list, arginfo_timezone_abbreviations_list)
639 ZEND_FE(timezone_version_get, arginfo_timezone_version_get)
640 ZEND_FE(date_interval_create_from_date_string, arginfo_date_interval_create_from_date_string)
641 ZEND_FE(date_interval_format, arginfo_date_interval_format)
642 ZEND_FE(date_default_timezone_set, arginfo_date_default_timezone_set)
643 ZEND_FE(date_default_timezone_get, arginfo_date_default_timezone_get)
644 ZEND_DEP_FE(date_sunrise, arginfo_date_sunrise)
645 ZEND_DEP_FE(date_sunset, arginfo_date_sunset)
646 ZEND_FE(date_sun_info, arginfo_date_sun_info)
647 ZEND_FE_END
648 };
649
650
651 static const zend_function_entry class_DateTimeInterface_methods[] = {
652 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, format, arginfo_class_DateTimeInterface_format, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
653 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, getTimezone, arginfo_class_DateTimeInterface_getTimezone, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
654 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, getOffset, arginfo_class_DateTimeInterface_getOffset, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
655 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, getTimestamp, arginfo_class_DateTimeInterface_getTimestamp, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
656 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, diff, arginfo_class_DateTimeInterface_diff, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
657 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, __wakeup, arginfo_class_DateTimeInterface___wakeup, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
658 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, __serialize, arginfo_class_DateTimeInterface___serialize, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
659 ZEND_ABSTRACT_ME_WITH_FLAGS(DateTimeInterface, __unserialize, arginfo_class_DateTimeInterface___unserialize, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
660 ZEND_FE_END
661 };
662
663
664 static const zend_function_entry class_DateTime_methods[] = {
665 ZEND_ME(DateTime, __construct, arginfo_class_DateTime___construct, ZEND_ACC_PUBLIC)
666 ZEND_ME(DateTime, __serialize, arginfo_class_DateTime___serialize, ZEND_ACC_PUBLIC)
667 ZEND_ME(DateTime, __unserialize, arginfo_class_DateTime___unserialize, ZEND_ACC_PUBLIC)
668 ZEND_ME(DateTime, __wakeup, arginfo_class_DateTime___wakeup, ZEND_ACC_PUBLIC)
669 ZEND_ME(DateTime, __set_state, arginfo_class_DateTime___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
670 ZEND_ME(DateTime, createFromImmutable, arginfo_class_DateTime_createFromImmutable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
671 ZEND_ME(DateTime, createFromInterface, arginfo_class_DateTime_createFromInterface, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
672 ZEND_ME_MAPPING(createFromFormat, date_create_from_format, arginfo_class_DateTime_createFromFormat, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
673 ZEND_ME_MAPPING(getLastErrors, date_get_last_errors, arginfo_class_DateTime_getLastErrors, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
674 ZEND_ME_MAPPING(format, date_format, arginfo_class_DateTime_format, ZEND_ACC_PUBLIC)
675 ZEND_ME(DateTime, modify, arginfo_class_DateTime_modify, ZEND_ACC_PUBLIC)
676 ZEND_ME_MAPPING(add, date_add, arginfo_class_DateTime_add, ZEND_ACC_PUBLIC)
677 ZEND_ME(DateTime, sub, arginfo_class_DateTime_sub, ZEND_ACC_PUBLIC)
678 ZEND_ME_MAPPING(getTimezone, date_timezone_get, arginfo_class_DateTime_getTimezone, ZEND_ACC_PUBLIC)
679 ZEND_ME_MAPPING(setTimezone, date_timezone_set, arginfo_class_DateTime_setTimezone, ZEND_ACC_PUBLIC)
680 ZEND_ME_MAPPING(getOffset, date_offset_get, arginfo_class_DateTime_getOffset, ZEND_ACC_PUBLIC)
681 ZEND_ME_MAPPING(setTime, date_time_set, arginfo_class_DateTime_setTime, ZEND_ACC_PUBLIC)
682 ZEND_ME_MAPPING(setDate, date_date_set, arginfo_class_DateTime_setDate, ZEND_ACC_PUBLIC)
683 ZEND_ME_MAPPING(setISODate, date_isodate_set, arginfo_class_DateTime_setISODate, ZEND_ACC_PUBLIC)
684 ZEND_ME_MAPPING(setTimestamp, date_timestamp_set, arginfo_class_DateTime_setTimestamp, ZEND_ACC_PUBLIC)
685 ZEND_ME_MAPPING(getTimestamp, date_timestamp_get, arginfo_class_DateTime_getTimestamp, ZEND_ACC_PUBLIC)
686 ZEND_ME_MAPPING(diff, date_diff, arginfo_class_DateTime_diff, ZEND_ACC_PUBLIC)
687 ZEND_FE_END
688 };
689
690
691 static const zend_function_entry class_DateTimeImmutable_methods[] = {
692 ZEND_ME(DateTimeImmutable, __construct, arginfo_class_DateTimeImmutable___construct, ZEND_ACC_PUBLIC)
693 ZEND_ME(DateTimeImmutable, __serialize, arginfo_class_DateTimeImmutable___serialize, ZEND_ACC_PUBLIC)
694 ZEND_ME(DateTimeImmutable, __unserialize, arginfo_class_DateTimeImmutable___unserialize, ZEND_ACC_PUBLIC)
695 ZEND_ME(DateTimeImmutable, __wakeup, arginfo_class_DateTimeImmutable___wakeup, ZEND_ACC_PUBLIC)
696 ZEND_ME(DateTimeImmutable, __set_state, arginfo_class_DateTimeImmutable___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
697 ZEND_ME_MAPPING(createFromFormat, date_create_immutable_from_format, arginfo_class_DateTimeImmutable_createFromFormat, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
698 ZEND_ME_MAPPING(getLastErrors, date_get_last_errors, arginfo_class_DateTimeImmutable_getLastErrors, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
699 ZEND_ME_MAPPING(format, date_format, arginfo_class_DateTimeImmutable_format, ZEND_ACC_PUBLIC)
700 ZEND_ME_MAPPING(getTimezone, date_timezone_get, arginfo_class_DateTimeImmutable_getTimezone, ZEND_ACC_PUBLIC)
701 ZEND_ME_MAPPING(getOffset, date_offset_get, arginfo_class_DateTimeImmutable_getOffset, ZEND_ACC_PUBLIC)
702 ZEND_ME_MAPPING(getTimestamp, date_timestamp_get, arginfo_class_DateTimeImmutable_getTimestamp, ZEND_ACC_PUBLIC)
703 ZEND_ME_MAPPING(diff, date_diff, arginfo_class_DateTimeImmutable_diff, ZEND_ACC_PUBLIC)
704 ZEND_ME(DateTimeImmutable, modify, arginfo_class_DateTimeImmutable_modify, ZEND_ACC_PUBLIC)
705 ZEND_ME(DateTimeImmutable, add, arginfo_class_DateTimeImmutable_add, ZEND_ACC_PUBLIC)
706 ZEND_ME(DateTimeImmutable, sub, arginfo_class_DateTimeImmutable_sub, ZEND_ACC_PUBLIC)
707 ZEND_ME(DateTimeImmutable, setTimezone, arginfo_class_DateTimeImmutable_setTimezone, ZEND_ACC_PUBLIC)
708 ZEND_ME(DateTimeImmutable, setTime, arginfo_class_DateTimeImmutable_setTime, ZEND_ACC_PUBLIC)
709 ZEND_ME(DateTimeImmutable, setDate, arginfo_class_DateTimeImmutable_setDate, ZEND_ACC_PUBLIC)
710 ZEND_ME(DateTimeImmutable, setISODate, arginfo_class_DateTimeImmutable_setISODate, ZEND_ACC_PUBLIC)
711 ZEND_ME(DateTimeImmutable, setTimestamp, arginfo_class_DateTimeImmutable_setTimestamp, ZEND_ACC_PUBLIC)
712 ZEND_ME(DateTimeImmutable, createFromMutable, arginfo_class_DateTimeImmutable_createFromMutable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
713 ZEND_ME(DateTimeImmutable, createFromInterface, arginfo_class_DateTimeImmutable_createFromInterface, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
714 ZEND_FE_END
715 };
716
717
718 static const zend_function_entry class_DateTimeZone_methods[] = {
719 ZEND_ME(DateTimeZone, __construct, arginfo_class_DateTimeZone___construct, ZEND_ACC_PUBLIC)
720 ZEND_ME_MAPPING(getName, timezone_name_get, arginfo_class_DateTimeZone_getName, ZEND_ACC_PUBLIC)
721 ZEND_ME_MAPPING(getOffset, timezone_offset_get, arginfo_class_DateTimeZone_getOffset, ZEND_ACC_PUBLIC)
722 ZEND_ME_MAPPING(getTransitions, timezone_transitions_get, arginfo_class_DateTimeZone_getTransitions, ZEND_ACC_PUBLIC)
723 ZEND_ME_MAPPING(getLocation, timezone_location_get, arginfo_class_DateTimeZone_getLocation, ZEND_ACC_PUBLIC)
724 ZEND_ME_MAPPING(listAbbreviations, timezone_abbreviations_list, arginfo_class_DateTimeZone_listAbbreviations, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
725 ZEND_ME_MAPPING(listIdentifiers, timezone_identifiers_list, arginfo_class_DateTimeZone_listIdentifiers, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
726 ZEND_ME(DateTimeZone, __serialize, arginfo_class_DateTimeZone___serialize, ZEND_ACC_PUBLIC)
727 ZEND_ME(DateTimeZone, __unserialize, arginfo_class_DateTimeZone___unserialize, ZEND_ACC_PUBLIC)
728 ZEND_ME(DateTimeZone, __wakeup, arginfo_class_DateTimeZone___wakeup, ZEND_ACC_PUBLIC)
729 ZEND_ME(DateTimeZone, __set_state, arginfo_class_DateTimeZone___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
730 ZEND_FE_END
731 };
732
733
734 static const zend_function_entry class_DateInterval_methods[] = {
735 ZEND_ME(DateInterval, __construct, arginfo_class_DateInterval___construct, ZEND_ACC_PUBLIC)
736 ZEND_ME(DateInterval, createFromDateString, arginfo_class_DateInterval_createFromDateString, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
737 ZEND_ME_MAPPING(format, date_interval_format, arginfo_class_DateInterval_format, ZEND_ACC_PUBLIC)
738 ZEND_ME(DateInterval, __serialize, arginfo_class_DateInterval___serialize, ZEND_ACC_PUBLIC)
739 ZEND_ME(DateInterval, __unserialize, arginfo_class_DateInterval___unserialize, ZEND_ACC_PUBLIC)
740 ZEND_ME(DateInterval, __wakeup, arginfo_class_DateInterval___wakeup, ZEND_ACC_PUBLIC)
741 ZEND_ME(DateInterval, __set_state, arginfo_class_DateInterval___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
742 ZEND_FE_END
743 };
744
745
746 static const zend_function_entry class_DatePeriod_methods[] = {
747 ZEND_ME(DatePeriod, createFromISO8601String, arginfo_class_DatePeriod_createFromISO8601String, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
748 ZEND_ME(DatePeriod, __construct, arginfo_class_DatePeriod___construct, ZEND_ACC_PUBLIC)
749 ZEND_ME(DatePeriod, getStartDate, arginfo_class_DatePeriod_getStartDate, ZEND_ACC_PUBLIC)
750 ZEND_ME(DatePeriod, getEndDate, arginfo_class_DatePeriod_getEndDate, ZEND_ACC_PUBLIC)
751 ZEND_ME(DatePeriod, getDateInterval, arginfo_class_DatePeriod_getDateInterval, ZEND_ACC_PUBLIC)
752 ZEND_ME(DatePeriod, getRecurrences, arginfo_class_DatePeriod_getRecurrences, ZEND_ACC_PUBLIC)
753 ZEND_ME(DatePeriod, __serialize, arginfo_class_DatePeriod___serialize, ZEND_ACC_PUBLIC)
754 ZEND_ME(DatePeriod, __unserialize, arginfo_class_DatePeriod___unserialize, ZEND_ACC_PUBLIC)
755 ZEND_ME(DatePeriod, __wakeup, arginfo_class_DatePeriod___wakeup, ZEND_ACC_PUBLIC)
756 ZEND_ME(DatePeriod, __set_state, arginfo_class_DatePeriod___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
757 ZEND_ME(DatePeriod, getIterator, arginfo_class_DatePeriod_getIterator, ZEND_ACC_PUBLIC)
758 ZEND_FE_END
759 };
760
761
762 static const zend_function_entry class_DateError_methods[] = {
763 ZEND_FE_END
764 };
765
766
767 static const zend_function_entry class_DateObjectError_methods[] = {
768 ZEND_FE_END
769 };
770
771
772 static const zend_function_entry class_DateRangeError_methods[] = {
773 ZEND_FE_END
774 };
775
776
777 static const zend_function_entry class_DateException_methods[] = {
778 ZEND_FE_END
779 };
780
781
782 static const zend_function_entry class_DateInvalidTimeZoneException_methods[] = {
783 ZEND_FE_END
784 };
785
786
787 static const zend_function_entry class_DateInvalidOperationException_methods[] = {
788 ZEND_FE_END
789 };
790
791
792 static const zend_function_entry class_DateMalformedStringException_methods[] = {
793 ZEND_FE_END
794 };
795
796
797 static const zend_function_entry class_DateMalformedIntervalStringException_methods[] = {
798 ZEND_FE_END
799 };
800
801
802 static const zend_function_entry class_DateMalformedPeriodStringException_methods[] = {
803 ZEND_FE_END
804 };
805
register_php_date_symbols(int module_number)806 static void register_php_date_symbols(int module_number)
807 {
808 REGISTER_STRING_CONSTANT("DATE_ATOM", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
809 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0);
810 REGISTER_STRING_CONSTANT("DATE_COOKIE", DATE_FORMAT_COOKIE, CONST_PERSISTENT);
811 ZEND_ASSERT(strcmp(DATE_FORMAT_COOKIE, "l, d-M-Y H:i:s T") == 0);
812 REGISTER_STRING_CONSTANT("DATE_ISO8601", DATE_FORMAT_ISO8601, CONST_PERSISTENT);
813 ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601, "Y-m-d\\TH:i:sO") == 0);
814 REGISTER_STRING_CONSTANT("DATE_ISO8601_EXPANDED", DATE_FORMAT_ISO8601_EXPANDED, CONST_PERSISTENT);
815 ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601_EXPANDED, "X-m-d\\TH:i:sP") == 0);
816 REGISTER_STRING_CONSTANT("DATE_RFC822", DATE_FORMAT_RFC822, CONST_PERSISTENT);
817 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC822, "D, d M y H:i:s O") == 0);
818 REGISTER_STRING_CONSTANT("DATE_RFC850", DATE_FORMAT_RFC850, CONST_PERSISTENT);
819 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC850, "l, d-M-y H:i:s T") == 0);
820 REGISTER_STRING_CONSTANT("DATE_RFC1036", DATE_FORMAT_RFC1036, CONST_PERSISTENT);
821 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1036, "D, d M y H:i:s O") == 0);
822 REGISTER_STRING_CONSTANT("DATE_RFC1123", DATE_FORMAT_RFC1123, CONST_PERSISTENT);
823 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1123, "D, d M Y H:i:s O") == 0);
824 REGISTER_STRING_CONSTANT("DATE_RFC7231", DATE_FORMAT_RFC7231, CONST_PERSISTENT);
825 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC7231, "D, d M Y H:i:s \\G\\M\\T") == 0);
826 REGISTER_STRING_CONSTANT("DATE_RFC2822", DATE_FORMAT_RFC2822, CONST_PERSISTENT);
827 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC2822, "D, d M Y H:i:s O") == 0);
828 REGISTER_STRING_CONSTANT("DATE_RFC3339", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
829 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0);
830 REGISTER_STRING_CONSTANT("DATE_RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED, CONST_PERSISTENT);
831 ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339_EXTENDED, "Y-m-d\\TH:i:s.vP") == 0);
832 REGISTER_STRING_CONSTANT("DATE_RSS", DATE_FORMAT_RFC1123, CONST_PERSISTENT);
833 REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
834 REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_PERSISTENT);
835 REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_PERSISTENT);
836 REGISTER_LONG_CONSTANT("SUNFUNCS_RET_DOUBLE", SUNFUNCS_RET_DOUBLE, CONST_PERSISTENT);
837 }
838
register_class_DateTimeInterface(void)839 static zend_class_entry *register_class_DateTimeInterface(void)
840 {
841 zend_class_entry ce, *class_entry;
842
843 INIT_CLASS_ENTRY(ce, "DateTimeInterface", class_DateTimeInterface_methods);
844 class_entry = zend_register_internal_interface(&ce);
845
846 zval const_ATOM_value;
847 zend_string *const_ATOM_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
848 ZVAL_STR(&const_ATOM_value, const_ATOM_value_str);
849 zend_string *const_ATOM_name = zend_string_init_interned("ATOM", sizeof("ATOM") - 1, 1);
850 zend_declare_class_constant_ex(class_entry, const_ATOM_name, &const_ATOM_value, ZEND_ACC_PUBLIC, NULL);
851 zend_string_release(const_ATOM_name);
852
853 zval const_COOKIE_value;
854 zend_string *const_COOKIE_value_str = zend_string_init(DATE_FORMAT_COOKIE, strlen(DATE_FORMAT_COOKIE), 1);
855 ZVAL_STR(&const_COOKIE_value, const_COOKIE_value_str);
856 zend_string *const_COOKIE_name = zend_string_init_interned("COOKIE", sizeof("COOKIE") - 1, 1);
857 zend_declare_class_constant_ex(class_entry, const_COOKIE_name, &const_COOKIE_value, ZEND_ACC_PUBLIC, NULL);
858 zend_string_release(const_COOKIE_name);
859
860 zval const_ISO8601_value;
861 zend_string *const_ISO8601_value_str = zend_string_init(DATE_FORMAT_ISO8601, strlen(DATE_FORMAT_ISO8601), 1);
862 ZVAL_STR(&const_ISO8601_value, const_ISO8601_value_str);
863 zend_string *const_ISO8601_name = zend_string_init_interned("ISO8601", sizeof("ISO8601") - 1, 1);
864 zend_declare_class_constant_ex(class_entry, const_ISO8601_name, &const_ISO8601_value, ZEND_ACC_PUBLIC, NULL);
865 zend_string_release(const_ISO8601_name);
866
867 zval const_ISO8601_EXPANDED_value;
868 zend_string *const_ISO8601_EXPANDED_value_str = zend_string_init(DATE_FORMAT_ISO8601_EXPANDED, strlen(DATE_FORMAT_ISO8601_EXPANDED), 1);
869 ZVAL_STR(&const_ISO8601_EXPANDED_value, const_ISO8601_EXPANDED_value_str);
870 zend_string *const_ISO8601_EXPANDED_name = zend_string_init_interned("ISO8601_EXPANDED", sizeof("ISO8601_EXPANDED") - 1, 1);
871 zend_declare_class_constant_ex(class_entry, const_ISO8601_EXPANDED_name, &const_ISO8601_EXPANDED_value, ZEND_ACC_PUBLIC, NULL);
872 zend_string_release(const_ISO8601_EXPANDED_name);
873
874 zval const_RFC822_value;
875 zend_string *const_RFC822_value_str = zend_string_init(DATE_FORMAT_RFC822, strlen(DATE_FORMAT_RFC822), 1);
876 ZVAL_STR(&const_RFC822_value, const_RFC822_value_str);
877 zend_string *const_RFC822_name = zend_string_init_interned("RFC822", sizeof("RFC822") - 1, 1);
878 zend_declare_class_constant_ex(class_entry, const_RFC822_name, &const_RFC822_value, ZEND_ACC_PUBLIC, NULL);
879 zend_string_release(const_RFC822_name);
880
881 zval const_RFC850_value;
882 zend_string *const_RFC850_value_str = zend_string_init(DATE_FORMAT_RFC850, strlen(DATE_FORMAT_RFC850), 1);
883 ZVAL_STR(&const_RFC850_value, const_RFC850_value_str);
884 zend_string *const_RFC850_name = zend_string_init_interned("RFC850", sizeof("RFC850") - 1, 1);
885 zend_declare_class_constant_ex(class_entry, const_RFC850_name, &const_RFC850_value, ZEND_ACC_PUBLIC, NULL);
886 zend_string_release(const_RFC850_name);
887
888 zval const_RFC1036_value;
889 zend_string *const_RFC1036_value_str = zend_string_init(DATE_FORMAT_RFC1036, strlen(DATE_FORMAT_RFC1036), 1);
890 ZVAL_STR(&const_RFC1036_value, const_RFC1036_value_str);
891 zend_string *const_RFC1036_name = zend_string_init_interned("RFC1036", sizeof("RFC1036") - 1, 1);
892 zend_declare_class_constant_ex(class_entry, const_RFC1036_name, &const_RFC1036_value, ZEND_ACC_PUBLIC, NULL);
893 zend_string_release(const_RFC1036_name);
894
895 zval const_RFC1123_value;
896 zend_string *const_RFC1123_value_str = zend_string_init(DATE_FORMAT_RFC1123, strlen(DATE_FORMAT_RFC1123), 1);
897 ZVAL_STR(&const_RFC1123_value, const_RFC1123_value_str);
898 zend_string *const_RFC1123_name = zend_string_init_interned("RFC1123", sizeof("RFC1123") - 1, 1);
899 zend_declare_class_constant_ex(class_entry, const_RFC1123_name, &const_RFC1123_value, ZEND_ACC_PUBLIC, NULL);
900 zend_string_release(const_RFC1123_name);
901
902 zval const_RFC7231_value;
903 zend_string *const_RFC7231_value_str = zend_string_init(DATE_FORMAT_RFC7231, strlen(DATE_FORMAT_RFC7231), 1);
904 ZVAL_STR(&const_RFC7231_value, const_RFC7231_value_str);
905 zend_string *const_RFC7231_name = zend_string_init_interned("RFC7231", sizeof("RFC7231") - 1, 1);
906 zend_declare_class_constant_ex(class_entry, const_RFC7231_name, &const_RFC7231_value, ZEND_ACC_PUBLIC, NULL);
907 zend_string_release(const_RFC7231_name);
908
909 zval const_RFC2822_value;
910 zend_string *const_RFC2822_value_str = zend_string_init(DATE_FORMAT_RFC2822, strlen(DATE_FORMAT_RFC2822), 1);
911 ZVAL_STR(&const_RFC2822_value, const_RFC2822_value_str);
912 zend_string *const_RFC2822_name = zend_string_init_interned("RFC2822", sizeof("RFC2822") - 1, 1);
913 zend_declare_class_constant_ex(class_entry, const_RFC2822_name, &const_RFC2822_value, ZEND_ACC_PUBLIC, NULL);
914 zend_string_release(const_RFC2822_name);
915
916 zval const_RFC3339_value;
917 zend_string *const_RFC3339_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
918 ZVAL_STR(&const_RFC3339_value, const_RFC3339_value_str);
919 zend_string *const_RFC3339_name = zend_string_init_interned("RFC3339", sizeof("RFC3339") - 1, 1);
920 zend_declare_class_constant_ex(class_entry, const_RFC3339_name, &const_RFC3339_value, ZEND_ACC_PUBLIC, NULL);
921 zend_string_release(const_RFC3339_name);
922
923 zval const_RFC3339_EXTENDED_value;
924 zend_string *const_RFC3339_EXTENDED_value_str = zend_string_init(DATE_FORMAT_RFC3339_EXTENDED, strlen(DATE_FORMAT_RFC3339_EXTENDED), 1);
925 ZVAL_STR(&const_RFC3339_EXTENDED_value, const_RFC3339_EXTENDED_value_str);
926 zend_string *const_RFC3339_EXTENDED_name = zend_string_init_interned("RFC3339_EXTENDED", sizeof("RFC3339_EXTENDED") - 1, 1);
927 zend_declare_class_constant_ex(class_entry, const_RFC3339_EXTENDED_name, &const_RFC3339_EXTENDED_value, ZEND_ACC_PUBLIC, NULL);
928 zend_string_release(const_RFC3339_EXTENDED_name);
929
930 zval const_RSS_value;
931 zend_string *const_RSS_value_str = zend_string_init(DATE_FORMAT_RFC1123, strlen(DATE_FORMAT_RFC1123), 1);
932 ZVAL_STR(&const_RSS_value, const_RSS_value_str);
933 zend_string *const_RSS_name = zend_string_init_interned("RSS", sizeof("RSS") - 1, 1);
934 zend_declare_class_constant_ex(class_entry, const_RSS_name, &const_RSS_value, ZEND_ACC_PUBLIC, NULL);
935 zend_string_release(const_RSS_name);
936
937 zval const_W3C_value;
938 zend_string *const_W3C_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
939 ZVAL_STR(&const_W3C_value, const_W3C_value_str);
940 zend_string *const_W3C_name = zend_string_init_interned("W3C", sizeof("W3C") - 1, 1);
941 zend_declare_class_constant_ex(class_entry, const_W3C_name, &const_W3C_value, ZEND_ACC_PUBLIC, NULL);
942 zend_string_release(const_W3C_name);
943
944 return class_entry;
945 }
946
register_class_DateTime(zend_class_entry * class_entry_DateTimeInterface)947 static zend_class_entry *register_class_DateTime(zend_class_entry *class_entry_DateTimeInterface)
948 {
949 zend_class_entry ce, *class_entry;
950
951 INIT_CLASS_ENTRY(ce, "DateTime", class_DateTime_methods);
952 class_entry = zend_register_internal_class_ex(&ce, NULL);
953 zend_class_implements(class_entry, 1, class_entry_DateTimeInterface);
954
955 return class_entry;
956 }
957
register_class_DateTimeImmutable(zend_class_entry * class_entry_DateTimeInterface)958 static zend_class_entry *register_class_DateTimeImmutable(zend_class_entry *class_entry_DateTimeInterface)
959 {
960 zend_class_entry ce, *class_entry;
961
962 INIT_CLASS_ENTRY(ce, "DateTimeImmutable", class_DateTimeImmutable_methods);
963 class_entry = zend_register_internal_class_ex(&ce, NULL);
964 zend_class_implements(class_entry, 1, class_entry_DateTimeInterface);
965
966 return class_entry;
967 }
968
register_class_DateTimeZone(void)969 static zend_class_entry *register_class_DateTimeZone(void)
970 {
971 zend_class_entry ce, *class_entry;
972
973 INIT_CLASS_ENTRY(ce, "DateTimeZone", class_DateTimeZone_methods);
974 class_entry = zend_register_internal_class_ex(&ce, NULL);
975
976 zval const_AFRICA_value;
977 ZVAL_LONG(&const_AFRICA_value, PHP_DATE_TIMEZONE_GROUP_AFRICA);
978 zend_string *const_AFRICA_name = zend_string_init_interned("AFRICA", sizeof("AFRICA") - 1, 1);
979 zend_declare_class_constant_ex(class_entry, const_AFRICA_name, &const_AFRICA_value, ZEND_ACC_PUBLIC, NULL);
980 zend_string_release(const_AFRICA_name);
981
982 zval const_AMERICA_value;
983 ZVAL_LONG(&const_AMERICA_value, PHP_DATE_TIMEZONE_GROUP_AMERICA);
984 zend_string *const_AMERICA_name = zend_string_init_interned("AMERICA", sizeof("AMERICA") - 1, 1);
985 zend_declare_class_constant_ex(class_entry, const_AMERICA_name, &const_AMERICA_value, ZEND_ACC_PUBLIC, NULL);
986 zend_string_release(const_AMERICA_name);
987
988 zval const_ANTARCTICA_value;
989 ZVAL_LONG(&const_ANTARCTICA_value, PHP_DATE_TIMEZONE_GROUP_ANTARCTICA);
990 zend_string *const_ANTARCTICA_name = zend_string_init_interned("ANTARCTICA", sizeof("ANTARCTICA") - 1, 1);
991 zend_declare_class_constant_ex(class_entry, const_ANTARCTICA_name, &const_ANTARCTICA_value, ZEND_ACC_PUBLIC, NULL);
992 zend_string_release(const_ANTARCTICA_name);
993
994 zval const_ARCTIC_value;
995 ZVAL_LONG(&const_ARCTIC_value, PHP_DATE_TIMEZONE_GROUP_ARCTIC);
996 zend_string *const_ARCTIC_name = zend_string_init_interned("ARCTIC", sizeof("ARCTIC") - 1, 1);
997 zend_declare_class_constant_ex(class_entry, const_ARCTIC_name, &const_ARCTIC_value, ZEND_ACC_PUBLIC, NULL);
998 zend_string_release(const_ARCTIC_name);
999
1000 zval const_ASIA_value;
1001 ZVAL_LONG(&const_ASIA_value, PHP_DATE_TIMEZONE_GROUP_ASIA);
1002 zend_string *const_ASIA_name = zend_string_init_interned("ASIA", sizeof("ASIA") - 1, 1);
1003 zend_declare_class_constant_ex(class_entry, const_ASIA_name, &const_ASIA_value, ZEND_ACC_PUBLIC, NULL);
1004 zend_string_release(const_ASIA_name);
1005
1006 zval const_ATLANTIC_value;
1007 ZVAL_LONG(&const_ATLANTIC_value, PHP_DATE_TIMEZONE_GROUP_ATLANTIC);
1008 zend_string *const_ATLANTIC_name = zend_string_init_interned("ATLANTIC", sizeof("ATLANTIC") - 1, 1);
1009 zend_declare_class_constant_ex(class_entry, const_ATLANTIC_name, &const_ATLANTIC_value, ZEND_ACC_PUBLIC, NULL);
1010 zend_string_release(const_ATLANTIC_name);
1011
1012 zval const_AUSTRALIA_value;
1013 ZVAL_LONG(&const_AUSTRALIA_value, PHP_DATE_TIMEZONE_GROUP_AUSTRALIA);
1014 zend_string *const_AUSTRALIA_name = zend_string_init_interned("AUSTRALIA", sizeof("AUSTRALIA") - 1, 1);
1015 zend_declare_class_constant_ex(class_entry, const_AUSTRALIA_name, &const_AUSTRALIA_value, ZEND_ACC_PUBLIC, NULL);
1016 zend_string_release(const_AUSTRALIA_name);
1017
1018 zval const_EUROPE_value;
1019 ZVAL_LONG(&const_EUROPE_value, PHP_DATE_TIMEZONE_GROUP_EUROPE);
1020 zend_string *const_EUROPE_name = zend_string_init_interned("EUROPE", sizeof("EUROPE") - 1, 1);
1021 zend_declare_class_constant_ex(class_entry, const_EUROPE_name, &const_EUROPE_value, ZEND_ACC_PUBLIC, NULL);
1022 zend_string_release(const_EUROPE_name);
1023
1024 zval const_INDIAN_value;
1025 ZVAL_LONG(&const_INDIAN_value, PHP_DATE_TIMEZONE_GROUP_INDIAN);
1026 zend_string *const_INDIAN_name = zend_string_init_interned("INDIAN", sizeof("INDIAN") - 1, 1);
1027 zend_declare_class_constant_ex(class_entry, const_INDIAN_name, &const_INDIAN_value, ZEND_ACC_PUBLIC, NULL);
1028 zend_string_release(const_INDIAN_name);
1029
1030 zval const_PACIFIC_value;
1031 ZVAL_LONG(&const_PACIFIC_value, PHP_DATE_TIMEZONE_GROUP_PACIFIC);
1032 zend_string *const_PACIFIC_name = zend_string_init_interned("PACIFIC", sizeof("PACIFIC") - 1, 1);
1033 zend_declare_class_constant_ex(class_entry, const_PACIFIC_name, &const_PACIFIC_value, ZEND_ACC_PUBLIC, NULL);
1034 zend_string_release(const_PACIFIC_name);
1035
1036 zval const_UTC_value;
1037 ZVAL_LONG(&const_UTC_value, PHP_DATE_TIMEZONE_GROUP_UTC);
1038 zend_string *const_UTC_name = zend_string_init_interned("UTC", sizeof("UTC") - 1, 1);
1039 zend_declare_class_constant_ex(class_entry, const_UTC_name, &const_UTC_value, ZEND_ACC_PUBLIC, NULL);
1040 zend_string_release(const_UTC_name);
1041
1042 zval const_ALL_value;
1043 ZVAL_LONG(&const_ALL_value, PHP_DATE_TIMEZONE_GROUP_ALL);
1044 zend_string *const_ALL_name = zend_string_init_interned("ALL", sizeof("ALL") - 1, 1);
1045 zend_declare_class_constant_ex(class_entry, const_ALL_name, &const_ALL_value, ZEND_ACC_PUBLIC, NULL);
1046 zend_string_release(const_ALL_name);
1047
1048 zval const_ALL_WITH_BC_value;
1049 ZVAL_LONG(&const_ALL_WITH_BC_value, PHP_DATE_TIMEZONE_GROUP_ALL_W_BC);
1050 zend_string *const_ALL_WITH_BC_name = zend_string_init_interned("ALL_WITH_BC", sizeof("ALL_WITH_BC") - 1, 1);
1051 zend_declare_class_constant_ex(class_entry, const_ALL_WITH_BC_name, &const_ALL_WITH_BC_value, ZEND_ACC_PUBLIC, NULL);
1052 zend_string_release(const_ALL_WITH_BC_name);
1053
1054 zval const_PER_COUNTRY_value;
1055 ZVAL_LONG(&const_PER_COUNTRY_value, PHP_DATE_TIMEZONE_PER_COUNTRY);
1056 zend_string *const_PER_COUNTRY_name = zend_string_init_interned("PER_COUNTRY", sizeof("PER_COUNTRY") - 1, 1);
1057 zend_declare_class_constant_ex(class_entry, const_PER_COUNTRY_name, &const_PER_COUNTRY_value, ZEND_ACC_PUBLIC, NULL);
1058 zend_string_release(const_PER_COUNTRY_name);
1059
1060 return class_entry;
1061 }
1062
register_class_DateInterval(void)1063 static zend_class_entry *register_class_DateInterval(void)
1064 {
1065 zend_class_entry ce, *class_entry;
1066
1067 INIT_CLASS_ENTRY(ce, "DateInterval", class_DateInterval_methods);
1068 class_entry = zend_register_internal_class_ex(&ce, NULL);
1069
1070 return class_entry;
1071 }
1072
register_class_DatePeriod(zend_class_entry * class_entry_IteratorAggregate)1073 static zend_class_entry *register_class_DatePeriod(zend_class_entry *class_entry_IteratorAggregate)
1074 {
1075 zend_class_entry ce, *class_entry;
1076
1077 INIT_CLASS_ENTRY(ce, "DatePeriod", class_DatePeriod_methods);
1078 class_entry = zend_register_internal_class_ex(&ce, NULL);
1079 zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
1080
1081 zval const_EXCLUDE_START_DATE_value;
1082 ZVAL_LONG(&const_EXCLUDE_START_DATE_value, PHP_DATE_PERIOD_EXCLUDE_START_DATE);
1083 zend_string *const_EXCLUDE_START_DATE_name = zend_string_init_interned("EXCLUDE_START_DATE", sizeof("EXCLUDE_START_DATE") - 1, 1);
1084 zend_declare_class_constant_ex(class_entry, const_EXCLUDE_START_DATE_name, &const_EXCLUDE_START_DATE_value, ZEND_ACC_PUBLIC, NULL);
1085 zend_string_release(const_EXCLUDE_START_DATE_name);
1086
1087 zval const_INCLUDE_END_DATE_value;
1088 ZVAL_LONG(&const_INCLUDE_END_DATE_value, PHP_DATE_PERIOD_INCLUDE_END_DATE);
1089 zend_string *const_INCLUDE_END_DATE_name = zend_string_init_interned("INCLUDE_END_DATE", sizeof("INCLUDE_END_DATE") - 1, 1);
1090 zend_declare_class_constant_ex(class_entry, const_INCLUDE_END_DATE_name, &const_INCLUDE_END_DATE_value, ZEND_ACC_PUBLIC, NULL);
1091 zend_string_release(const_INCLUDE_END_DATE_name);
1092
1093 zval property_start_default_value;
1094 ZVAL_UNDEF(&property_start_default_value);
1095 zend_string *property_start_name = zend_string_init("start", sizeof("start") - 1, 1);
1096 zend_string *property_start_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1097 zend_declare_typed_property(class_entry, property_start_name, &property_start_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_start_class_DateTimeInterface, 0, MAY_BE_NULL));
1098 zend_string_release(property_start_name);
1099
1100 zval property_current_default_value;
1101 ZVAL_UNDEF(&property_current_default_value);
1102 zend_string *property_current_name = zend_string_init("current", sizeof("current") - 1, 1);
1103 zend_string *property_current_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1104 zend_declare_typed_property(class_entry, property_current_name, &property_current_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_current_class_DateTimeInterface, 0, MAY_BE_NULL));
1105 zend_string_release(property_current_name);
1106
1107 zval property_end_default_value;
1108 ZVAL_UNDEF(&property_end_default_value);
1109 zend_string *property_end_name = zend_string_init("end", sizeof("end") - 1, 1);
1110 zend_string *property_end_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1111 zend_declare_typed_property(class_entry, property_end_name, &property_end_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_end_class_DateTimeInterface, 0, MAY_BE_NULL));
1112 zend_string_release(property_end_name);
1113
1114 zval property_interval_default_value;
1115 ZVAL_UNDEF(&property_interval_default_value);
1116 zend_string *property_interval_name = zend_string_init("interval", sizeof("interval") - 1, 1);
1117 zend_string *property_interval_class_DateInterval = zend_string_init("DateInterval", sizeof("DateInterval")-1, 1);
1118 zend_declare_typed_property(class_entry, property_interval_name, &property_interval_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_interval_class_DateInterval, 0, MAY_BE_NULL));
1119 zend_string_release(property_interval_name);
1120
1121 zval property_recurrences_default_value;
1122 ZVAL_UNDEF(&property_recurrences_default_value);
1123 zend_string *property_recurrences_name = zend_string_init("recurrences", sizeof("recurrences") - 1, 1);
1124 zend_declare_typed_property(class_entry, property_recurrences_name, &property_recurrences_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1125 zend_string_release(property_recurrences_name);
1126
1127 zval property_include_start_date_default_value;
1128 ZVAL_UNDEF(&property_include_start_date_default_value);
1129 zend_string *property_include_start_date_name = zend_string_init("include_start_date", sizeof("include_start_date") - 1, 1);
1130 zend_declare_typed_property(class_entry, property_include_start_date_name, &property_include_start_date_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
1131 zend_string_release(property_include_start_date_name);
1132
1133 zval property_include_end_date_default_value;
1134 ZVAL_UNDEF(&property_include_end_date_default_value);
1135 zend_string *property_include_end_date_name = zend_string_init("include_end_date", sizeof("include_end_date") - 1, 1);
1136 zend_declare_typed_property(class_entry, property_include_end_date_name, &property_include_end_date_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
1137 zend_string_release(property_include_end_date_name);
1138
1139 return class_entry;
1140 }
1141
register_class_DateError(zend_class_entry * class_entry_Error)1142 static zend_class_entry *register_class_DateError(zend_class_entry *class_entry_Error)
1143 {
1144 zend_class_entry ce, *class_entry;
1145
1146 INIT_CLASS_ENTRY(ce, "DateError", class_DateError_methods);
1147 class_entry = zend_register_internal_class_ex(&ce, class_entry_Error);
1148 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1149
1150 return class_entry;
1151 }
1152
register_class_DateObjectError(zend_class_entry * class_entry_DateError)1153 static zend_class_entry *register_class_DateObjectError(zend_class_entry *class_entry_DateError)
1154 {
1155 zend_class_entry ce, *class_entry;
1156
1157 INIT_CLASS_ENTRY(ce, "DateObjectError", class_DateObjectError_methods);
1158 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateError);
1159 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1160
1161 return class_entry;
1162 }
1163
register_class_DateRangeError(zend_class_entry * class_entry_DateError)1164 static zend_class_entry *register_class_DateRangeError(zend_class_entry *class_entry_DateError)
1165 {
1166 zend_class_entry ce, *class_entry;
1167
1168 INIT_CLASS_ENTRY(ce, "DateRangeError", class_DateRangeError_methods);
1169 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateError);
1170 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1171
1172 return class_entry;
1173 }
1174
register_class_DateException(zend_class_entry * class_entry_Exception)1175 static zend_class_entry *register_class_DateException(zend_class_entry *class_entry_Exception)
1176 {
1177 zend_class_entry ce, *class_entry;
1178
1179 INIT_CLASS_ENTRY(ce, "DateException", class_DateException_methods);
1180 class_entry = zend_register_internal_class_ex(&ce, class_entry_Exception);
1181 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1182
1183 return class_entry;
1184 }
1185
register_class_DateInvalidTimeZoneException(zend_class_entry * class_entry_DateException)1186 static zend_class_entry *register_class_DateInvalidTimeZoneException(zend_class_entry *class_entry_DateException)
1187 {
1188 zend_class_entry ce, *class_entry;
1189
1190 INIT_CLASS_ENTRY(ce, "DateInvalidTimeZoneException", class_DateInvalidTimeZoneException_methods);
1191 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateException);
1192 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1193
1194 return class_entry;
1195 }
1196
register_class_DateInvalidOperationException(zend_class_entry * class_entry_DateException)1197 static zend_class_entry *register_class_DateInvalidOperationException(zend_class_entry *class_entry_DateException)
1198 {
1199 zend_class_entry ce, *class_entry;
1200
1201 INIT_CLASS_ENTRY(ce, "DateInvalidOperationException", class_DateInvalidOperationException_methods);
1202 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateException);
1203 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1204
1205 return class_entry;
1206 }
1207
register_class_DateMalformedStringException(zend_class_entry * class_entry_DateException)1208 static zend_class_entry *register_class_DateMalformedStringException(zend_class_entry *class_entry_DateException)
1209 {
1210 zend_class_entry ce, *class_entry;
1211
1212 INIT_CLASS_ENTRY(ce, "DateMalformedStringException", class_DateMalformedStringException_methods);
1213 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateException);
1214 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1215
1216 return class_entry;
1217 }
1218
register_class_DateMalformedIntervalStringException(zend_class_entry * class_entry_DateException)1219 static zend_class_entry *register_class_DateMalformedIntervalStringException(zend_class_entry *class_entry_DateException)
1220 {
1221 zend_class_entry ce, *class_entry;
1222
1223 INIT_CLASS_ENTRY(ce, "DateMalformedIntervalStringException", class_DateMalformedIntervalStringException_methods);
1224 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateException);
1225 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1226
1227 return class_entry;
1228 }
1229
register_class_DateMalformedPeriodStringException(zend_class_entry * class_entry_DateException)1230 static zend_class_entry *register_class_DateMalformedPeriodStringException(zend_class_entry *class_entry_DateException)
1231 {
1232 zend_class_entry ce, *class_entry;
1233
1234 INIT_CLASS_ENTRY(ce, "DateMalformedPeriodStringException", class_DateMalformedPeriodStringException_methods);
1235 class_entry = zend_register_internal_class_ex(&ce, class_entry_DateException);
1236 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
1237
1238 return class_entry;
1239 }
1240