#4469 closed defect (bug) (fixed)
Accept 'open' and 'closed' as valid values for mt_allow_comments and mt_allow_pings in XML-RPC
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | 2.2.1 | Priority: | normal |
Severity: | normal | Version: | 2.2 |
Component: | XML-RPC | Keywords: | has-patch |
Focuses: | Cc: |
Description
The correct value for mt_allow_comments and mt_allow_pings is 1 or 0 (zero), however, WordPress has historically supported the strings closed and open as valid values. With the included patch we now support all four potential values.
Attachments (4)
Change History (16)
#4
@
16 years ago
Based on redsweater's comments I've updated this patch to look for values of "open" and "closed". I've also adjusted the mw_newPost checks to use the default comment and ping options if none were provided (see http://trac.wordpress.org/ticket/4489).
#5
@
16 years ago
Updated patch to include the tighter open/close string checks for mw_editPost as well. The only difference between the checks in mw_newPost and mw_editPost is that mw_newPost will use the default comment/ping setting even if the option wasn't provided.
#10
@
16 years ago
Are we going to sneak this into 2.2.1 (that is, when we build 2.2.1, build it from /branches/2.2/ revision 5730)? I'm +1 for that.
Thanks, Joseph. Nice work on these changes. I was reviewing them as I noticed some behavior in 2.2 that is changed significantly from previous releases. I reported these separately in http://trac.wordpress.org/ticket/4489 because I hope they can be fixed earlier than 2.3.
As for these changes, I have some additional comments which might be motivated by my poor understanding of PHP, but:
It appears to me that in this patch, if the client sends an unrecognized string value in the status field, it will get blindly copied into the comment_status or ping_status variable. For instance, what happens if my client sends "bogus" as the comment status? The desired behavior is probably again that the default status be used.
I suggest being as explicit in the non-numeric case as you are in the numeric case. If it's non-numeric it has to be either "open" or "closed", and if numeric, it has to be either 0 or 1. In all other cases the values should be the default status.