[buddypress-trac] [BuddyPress Trac] #5731: text/number profile fields not rendered if value == 0
buddypress-trac
noreply at wordpress.org
Fri Jun 27 20:29:38 UTC 2014
#5731: text/number profile fields not rendered if value == 0
--------------------------+------------------
Reporter: DJPaul | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 2.1
Component: XProfile | Version: 1.0
Severity: normal | Resolution:
Keywords: |
--------------------------+------------------
Changes (by DJPaul):
* version: => 1.0
Comment:
While it's not a new issue, I'm pretty impressed that we've not seen this
issue until now. I bet it goes back to xprofile's original implementation.
The tl;dr is that we're being a bit lazy validating if variables have no
values by relying on `empty()`.
From php.net:
{{{
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
}}}
As a result, if an xprofile field's value is set to 0 or "0", we think the
value is not set.
I am unsure the best way to patch this, but see 5371.01.patch for one
idea; `empty()` does helpfully check for a lot of cases of values that
xprofile would want to see as empty, so I thought that maybe adding an IF
to check for 0 or "0" would result in less code change than if we did
something like the following, even though it looks kinda janky: `if (
$value && $value !== false && $value !== array() && ... )`
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/5731#comment:4>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list