ID: 35887 User updated by: mattsch at gmail dot com Reported By: mattsch at gmail dot com Status: Open Bug Type: WDDX related Operating System: Gentoo PHP Version: 5.1.1 New Comment:
Here's the code from this link: http://www.silvertoncasino.com/events/titles.cfm <cfsilent> <cfquery name="getTitles" datasource="#request.dsn#"> SELECT startDate, eventID, (SELECT categoryID FROM categories WHERE cLink LIKE '/events/content%' LIMIT 0, 1) AS categoryID FROM events WHERE display = 1 AND endDate >= '#LSDateFormat(Now(), "yyyy-mm-dd")#' ORDER BY startDate, eventOrder </cfquery> <cfwddx action="cfml2wddx" input="#getTitles#" output="wddxXML"> </cfsilent><cfheader name="Content-Type" value="text/xml;charset=utf-8"><?xml version="1.0" encoding="UTF-8"?> <cfoutput>#wddxXML#</cfoutput> You'll notice that Coldfusion produces the output using the cfwddx tag. So you will be breaking compatibility with Coldfusion wddx when you don't fix this bug. Previous Comments: ------------------------------------------------------------------------ [2006-01-04 02:54:49] mattsch at gmail dot com At the very least since you guys seem willing to break backwards compatibility, make a note of it in the PHP docs that as of PHP 5.1.1, wddx dateTimes serialized with coldfusion will no longer be deserialized into unix timestamps as they previously were under PHP 5.0.4. ------------------------------------------------------------------------ [2006-01-04 02:51:28] mattsch at gmail dot com Again this is not bogus. Coldfusion does not output leading zeros. PHP 5.0.4 runs this code fine. On PHP 5.1.1, I get notices because it no longer parses the dateTime into a unix timestamp. Why is it so hard to fix this bug and make it work like it did in PHP 5.0.4? On the wddx DTD, it makes this statement: Note that single-digit values for months, days, hours, minutes, or seconds do not need to be zero-prefixed. ------------------------------------------------------------------------ [2006-01-04 01:47:05] [EMAIL PROTECTED] From: http://www.openwddx.org/downloads/dtd/wddx_dtd_10.txt . . <dateTime>1998-06-12T04:32:12</dateTime> . . Which is the one PHP works fine with. (Even PHP 4.3.11 worked) ------------------------------------------------------------------------ [2006-01-04 00:48:49] mattsch at gmail dot com Also note under Time zone processing: http://livedocs.macromedia.com/coldfusion/6/Developing_ColdFusion_MX_Applications_with_CFML/XML11.htm Date-time values in WDDX are represented using a subset of the ISO8601 format. Time zone information is represented as an hour/minute offset from Coordinated Universal Time (UTC); for example, "2002-9-8T12:6:26-4:0". ------------------------------------------------------------------------ [2006-01-04 00:04:48] mattsch at gmail dot com Taken from http://www.openwddx.org/downloads/dtd/wddx_dtd_10.txt: Date-time values- Date-time values are encoded according to the full form of ISO8601, e.g., 1998-9-15T09:05:32+4:0. Note that single-digit values for months, days, hours, minutes, or seconds do not need to be zero-prefixed. While timezone information is optional, it must be successfully parsed and used to convert to local date-time values. Efforts should me made to ensure that the internal representation of date-time values does not suffer from Y2K problems and covers a sufficient range of dates. In particular, years must always be represented with four digits. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35887 -- Edit this bug report at http://bugs.php.net/?id=35887&edit=1