:/ And I think I found out something even worse than E_STRICT...
I have no clue who came up with the dumb idea, but all of User.php is using getText(); instead of getDBkey(); Which is insanely stupid, because getText is supposed to output text for display, getDBkey is supposed to output the version of the text which should be used for unique identification. Unfortunately... Instead of relying on functional output, all of User.php is relying on the assumption that the display version of the text will always be as static as the actual unique identifying key.
Practical point? If you move [[User:Username]] to [[User:username]], because getText now outputs "username" instead of "Username", Username now cannot login to the wiki.
So, we have two options: A) Hack up User.php to use getDBkey and replaces _'s with spaces instead of getText. B) Make use of getDBkey for identification of the user and have the update script refactor the users table to use underscores like it should instead of spaces. I'm in strong favor of B. If there is a place which aims for display of a user's name we can also make use of getText, this will also have the impressive benefit that if you move User:Username to User:_username the software will go and display "_username" instead of "Username". So users who like a special form of their username will actually be able to make the interface display that instead of a normalized form with spaces.
~Daniel Friesen(Dantman) of: -The Gaiapedia (http://gaia.wikia.com) -Wikia ACG on Wikia.com (http://wikia.com/wiki/Wikia_ACG) -and Wiki-Tools.com (http://wiki-tools.com)
Simetrical wrote:
On Sun, Mar 2, 2008 at 9:28 PM, DanTMan dan_the_man@telus.net wrote:
Oh, off topic but... No-one probably noticed it because it isn't used anywhere inside of the code. But on Line 321 of includes/Title.php the definition for the Title::nameOf function is missing the "public static" that should be there. It's not used, but someone's going to get a big shock when they try and use the function that says it's static but they need an arbitrary instance to use it.
Well, actually PHP will just give an E_STRICT notice when you try to use a non-static method statically. :)
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l