]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix ticket #2181: Can't save #000000 (black) in color fields on design page
authorBrion Vibber <brion@pobox.com>
Tue, 4 Jan 2011 21:09:44 +0000 (13:09 -0800)
committerBrion Vibber <brion@pobox.com>
Tue, 4 Jan 2011 21:09:44 +0000 (13:09 -0800)
It seems to have actually been saving correctly, but the update of the colors on the form success page wasn't working properly.
When a design object is pulled out of the database, the numeric fields are read in as strings, so black comes back as "0".
But, when we populate the new object and then stick it live, we've populated it with actual integers; with memcache on these might live for a while in the cache...

The fallback code in Design::toWebColor() did a check ($color == null) which would be false for the string "0", but counts as true for the *integer* 0.
Thus, the display code would initially interpret the correctly-saved black color as "use default".

Changing the check to === against null and "" empty string avoids the false positive on integers, and lets us see our nice black text immediately after save.

classes/Design.php

index a8fdb72191e861055bf527dda81c4dc7247f40c7..f4834c714e80038e928ab01c2067bf1f6e4c93e9 100644 (file)
@@ -107,7 +107,7 @@ class Design extends Memcached_DataObject
 
     static function toWebColor($color)
     {
-        if ($color == null) {
+        if ($color === null || $color === '') {
             return null;
         }