:/ 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(a)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(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l