So, there are some language entries in the LanguageXX.php files that can be set to a value to indicate "Don't show this". For example, 'disclaimers', 'currentevents', 'portal'.
The 'don't show this' value used to be '-'. At some point in the recent past, this was changed to the empty string (""). The problem with using the empty string is that it converts to a boolean FALSE value. So in places where we check that _any_ string was returned, like this:
if (!$message) { do_something_else(); }
...a blank value is going to make us do_something_else().
It'd probably be good coding practise to make a clear distinction between returning the empty string and returning NULL. However, that's a lot of work, and it's not clear that that's a distinction that needs to be made for any other reason.
So, I'm kinda unilaterally deciding that '-' means "don't show this". I would put in code to allow "" to mean "don't show this", too, but since the lower-level functions will never return an empty string, it'd be untested code, which I don't want to leave in as a time bomb for later.
So: "-" now means "don't show this." I'm making changes to Skin.php, SkinPHPTAL.php, and Language.php (just the documentation part) to indicate that.
~ESP
wikitech-l@lists.wikimedia.org