Hey Lee,
Just reactivating this post to update you: I wanted to make sure you heard about the 2.5.3 release today, which contains all those bug fixes I was talking about. As you can see, there were just a slew of bug fixes in this release. Probably our biggest stability release yet.
Let me recommend updating to 2.5.3 and then applying this additional change. Find line 2779 in Functions.php. It should look like this:
$matches[3] = str_replace(array_keys($protect), array_values($protect), $matches[3]);
And replace it with this:
// Example:
//
// {if entry_date < current_time}FUTURE{/if}
// {if "{entry_date format='%Y%m%d'}" == "{current_time format='%Y%m%d'}"}Today{/if}
//
// The above used to fail because the second conditional would turn into something like:
//
// {if "{"1343930801" format='%Y%m%d'}
//
// So here, we make sure the value we're replacing doesn't ALSO happen to appear in the
// middle of something that looks like a date field with a format parameter
foreach ($matches[3] as &$match)
{
foreach ($protect as $key => $value)
{
// Make sure $key doesn't appear as "{$key "
if ( ! strstr($match, LD.$key.' '))
{
$match = str_replace($key, $value, $match);
}
}
}
Our engineers crafted it after the 2.5.3 release went into code freeze, so it didn’t make it in, but it should take care of any remaining issues you have. There were several changes that took care of several different aspects of the conditionals issues folks were having, and this one additional code change should wrap it all up. Let me know if there are still any weird issues after the update to EE 2.5.3 + the above code change.