ID:               35887
 User updated by:  mattsch at gmail dot com
 Reported By:      mattsch at gmail dot com
 Status:           Assigned
 Bug Type:         Feature/Change Request
 Operating System: Gentoo
 PHP Version:      5.1.1
 Assigned To:      derick
 New Comment:

I also looked at ISO 8601 and even previous versions because the DTD
was written in 1999, but I couldn't find any mention of truncating
leading zeros in the standard despite the fact that the wddx DTD says
it's possible.  Thanks for implementing a patch to keep compatibility
nevertheless.


Previous Comments:
------------------------------------------------------------------------

[2006-01-04 09:41:01] [EMAIL PROTECTED]

I did some investigations.
http://www.openwddx.org/downloads/dtd/wddx_dtd_10.txt states (written
by allaire, which was bought by macromedia):
"Date-time values are encoded according to the full form of ISO8601,
e.g., 1998-9-15T09:05:32+4:0."

All documents on ISO8601 (including the standard) only give this
format:
YYYY-MM-DD or YYYYMMDD
Single digits are not allowed. So the WDDX DTD is flawed itself, it
doesn't do what it says it does (ie. They say they use full ISO8601,
but they don't). I find that incredible stupid.

I am marking this as a feature request for now, I do have a patch but I
want to see its performance impacts on the parser first before
committing it. It might not make it into PHP 5.1.2.

------------------------------------------------------------------------

[2006-01-04 03:04:10] mattsch at gmail dot com

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.

------------------------------------------------------------------------

[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)

------------------------------------------------------------------------

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

Reply via email to