I've installed the Wikipedia software on my machine, so I can start hacking at it. It seems to be working OK, except that I get huge numbers of PHP warning messages at the top of each page. I can get rid of them by turning down the level of PHP warnings, but this is a really bad idea from a bug-prevention point of view.
Looking through some of the old bug reports I see that at least one of the major bugs was caused precisely by ignoring such messages. So I have to assume that this is not my just a bad installation on my part, and that the Wikipedia code really doesn't work properly with error_reporting turned up full. Clearly this ought to be fixed. But I can't do this on my own, since in some cases it's unclear what the purpose of the code is. For example, the first five warnings come from the following section of wikiSettings.php:
# Namespace backgrounds $wikiNamespaceBackground = array () ; $wikiNamespaceBackground[$wikiTalk] = "#eeFFFF" ; $wikiNamespaceBackground["user_talk"] = $wikiNamespaceBackground["talk"] ; $wikiNamespaceBackground["wikipedia_talk"] = $wikiNamespaceBackground["talk"] ; $wikiNamespaceBackground[$wikiUser] = "#FFeeee" ; $wikiNamespaceBackground[$wikiWikipedia] = "#eeFFee" ; $wikiNamespaceBackground["log"] = "#FFFFcc" ; $wikiNamespaceBackground["special"] = "#eeeeee" ;
Here, $wikiTalk, $wikiNamespaceBackground["talk"], $wikiUser and $wikiWikipedia are all undefined. I've no idea how to clean this up, because I don't understand what it's supposed to look like. Why are some of the indices variables and other constants? In particular, what is the intended distinction between $wikiNamespaceBackground["talk"] and $wikiNamespaceBackground[$wikiTalk]? What should be done with this code?
wikitech-l@lists.wikimedia.org