Skip to content

Commit 0874ef6

Browse files
committed
Merge branch 'PHP-5.4' into PHP-5.5
2 parents ef0eed7 + 046c345 commit 0874ef6

5 files changed

+76
-63
lines changed

ext/date/php_date.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_timezone_offset_get, 0, 0, 2)
326326
ZEND_END_ARG_INFO()
327327

328328
ZEND_BEGIN_ARG_INFO_EX(arginfo_timezone_method_offset_get, 0, 0, 1)
329-
ZEND_ARG_INFO(0, datetime)
329+
ZEND_ARG_INFO(0, object)
330330
ZEND_END_ARG_INFO()
331331

332332
ZEND_BEGIN_ARG_INFO_EX(arginfo_timezone_transitions_get, 0, 0, 1)
@@ -3823,7 +3823,7 @@ PHP_FUNCTION(timezone_name_from_abbr)
38233823
}
38243824
/* }}} */
38253825

3826-
/* {{{ proto long timezone_offset_get(DateTimeZone object, DateTime object)
3826+
/* {{{ proto long timezone_offset_get(DateTimeZone object, DateTimeInterface object)
38273827
Returns the timezone offset.
38283828
*/
38293829
PHP_FUNCTION(timezone_offset_get)
@@ -3833,13 +3833,13 @@ PHP_FUNCTION(timezone_offset_get)
38333833
php_date_obj *dateobj;
38343834
timelib_time_offset *offset;
38353835

3836-
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO", &object, date_ce_timezone, &dateobject, date_ce_date) == FAILURE) {
3836+
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OO", &object, date_ce_timezone, &dateobject, date_ce_interface) == FAILURE) {
38373837
RETURN_FALSE;
38383838
}
38393839
tzobj = (php_timezone_obj *) zend_object_store_get_object(object TSRMLS_CC);
38403840
DATE_CHECK_INITIALIZED(tzobj->initialized, DateTimeZone);
38413841
dateobj = (php_date_obj *) zend_object_store_get_object(dateobject TSRMLS_CC);
3842-
DATE_CHECK_INITIALIZED(dateobj->time, DateTime);
3842+
DATE_CHECK_INITIALIZED(dateobj->time, DateTimeInterface);
38433843

38443844
switch (tzobj->type) {
38453845
case TIMELIB_ZONETYPE_ID:

ext/date/tests/68062.phpt

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
--TEST--
2+
DateTimeZone::getOffset() accepts a DateTimeInterface object
3+
--FILE--
4+
<?php
5+
6+
$tz = new DateTimeZone('Europe/London');
7+
$dt = new DateTimeImmutable('2014-09-20', $tz);
8+
9+
echo $tz->getOffset($dt);
10+
echo $tz->getOffset(1);
11+
--EXPECTF--
12+
3600
13+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, integer given in %s

ext/date/tests/DateTimeZone_getOffset_variation1.phpt

+28-28
Original file line numberDiff line numberDiff line change
@@ -112,141 +112,141 @@ fclose( $file_handle );
112112

113113
-- int 0 --
114114

115-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, integer given in %s on line %d
115+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, integer given in %s on line %d
116116
bool(false)
117117

118118
-- int 1 --
119119

120-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, integer given in %s on line %d
120+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, integer given in %s on line %d
121121
bool(false)
122122

123123
-- int 12345 --
124124

125-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, integer given in %s on line %d
125+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, integer given in %s on line %d
126126
bool(false)
127127

128128
-- int -12345 --
129129

130-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, integer given in %s on line %d
130+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, integer given in %s on line %d
131131
bool(false)
132132

133133
-- float 10.5 --
134134

135-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, double given in %s on line %d
135+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, double given in %s on line %d
136136
bool(false)
137137

138138
-- float -10.5 --
139139

140-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, double given in %s on line %d
140+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, double given in %s on line %d
141141
bool(false)
142142

143143
-- float .5 --
144144

145-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, double given in %s on line %d
145+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, double given in %s on line %d
146146
bool(false)
147147

148148
-- empty array --
149149

150-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, array given in %s on line %d
150+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, array given in %s on line %d
151151
bool(false)
152152

153153
-- int indexed array --
154154

155-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, array given in %s on line %d
155+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, array given in %s on line %d
156156
bool(false)
157157

158158
-- associative array --
159159

160-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, array given in %s on line %d
160+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, array given in %s on line %d
161161
bool(false)
162162

163163
-- nested arrays --
164164

165-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, array given in %s on line %d
165+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, array given in %s on line %d
166166
bool(false)
167167

168168
-- uppercase NULL --
169169

170-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, null given in %s on line %d
170+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, null given in %s on line %d
171171
bool(false)
172172

173173
-- lowercase null --
174174

175-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, null given in %s on line %d
175+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, null given in %s on line %d
176176
bool(false)
177177

178178
-- lowercase true --
179179

180-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, boolean given in %s on line %d
180+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, boolean given in %s on line %d
181181
bool(false)
182182

183183
-- lowercase false --
184184

185-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, boolean given in %s on line %d
185+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, boolean given in %s on line %d
186186
bool(false)
187187

188188
-- uppercase TRUE --
189189

190-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, boolean given in %s on line %d
190+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, boolean given in %s on line %d
191191
bool(false)
192192

193193
-- uppercase FALSE --
194194

195-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, boolean given in %s on line %d
195+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, boolean given in %s on line %d
196196
bool(false)
197197

198198
-- empty string DQ --
199199

200-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
200+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
201201
bool(false)
202202

203203
-- empty string SQ --
204204

205-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
205+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
206206
bool(false)
207207

208208
-- string DQ --
209209

210-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
210+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
211211
bool(false)
212212

213213
-- string SQ --
214214

215-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
215+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
216216
bool(false)
217217

218218
-- mixed case string --
219219

220-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
220+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
221221
bool(false)
222222

223223
-- heredoc --
224224

225-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, string given in %s on line %d
225+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, string given in %s on line %d
226226
bool(false)
227227

228228
-- instance of classWithToString --
229229

230-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, object given in %s on line %d
230+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, object given in %s on line %d
231231
bool(false)
232232

233233
-- instance of classWithoutToString --
234234

235-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, object given in %s on line %d
235+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, object given in %s on line %d
236236
bool(false)
237237

238238
-- undefined var --
239239

240-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, null given in %s on line %d
240+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, null given in %s on line %d
241241
bool(false)
242242

243243
-- unset var --
244244

245-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, null given in %s on line %d
245+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, null given in %s on line %d
246246
bool(false)
247247

248248
-- resource --
249249

250-
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTime, resource given in %s on line %d
250+
Warning: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, resource given in %s on line %d
251251
bool(false)
252252
===DONE===

ext/date/tests/timezone_offset_get_error.phpt

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ bool(false)
7373

7474
-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
7575

76-
Warning: timezone_offset_get() expects parameter 2 to be DateTime, object given in %s on line %d
76+
Warning: timezone_offset_get() expects parameter 2 to be DateTimeInterface, object given in %s on line %d
7777
bool(false)
7878

79-
Warning: timezone_offset_get() expects parameter 2 to be DateTime, integer given in %s on line %d
79+
Warning: timezone_offset_get() expects parameter 2 to be DateTimeInterface, integer given in %s on line %d
8080
bool(false)
8181

82-
Warning: timezone_offset_get() expects parameter 2 to be DateTime, null given in %s on line %d
82+
Warning: timezone_offset_get() expects parameter 2 to be DateTimeInterface, null given in %s on line %d
8383
bool(false)
8484
===DONE===

0 commit comments

Comments
 (0)