Our user dabatases are a mess. Well, they're not, they're all nice and clean, but there are several disparate ones.
There's the thud user database, which contains only the guest accounds and a couple of others for testing purposes.
There's the phpBB database, which contains prettymuch everyone.
And there's the MACE database, which is our content/contact management system.
Each one stores usernames, passwords, and email addresses.
I want people to be able to log in by username & password or by email address & password, from any of these databases.
However, they must not be able to create a username in one that conflicts with a username in another.
And the characters permitted by each one vary.
All of them allow different username types.
MACE: 20 characters max, no character constraints.
THUD: 20 characters max, no character constraints.
IRCD: 30 characters max, A-Za-z0-9_^-
phpBB: No length limit, no trailing / and no "
So I've modded MACE, THUD and phpBB to only allow the IRC-compatible characters, replacing the ^ with a space, so they'll be able to work with IRCD. This means that the user who registered as "katy: thud goes "doi" will be unable to play thud using that account. But then, that username shouldn't have worked in the first place, " is forbidden in phpbb names by default.
Also, the username "Saltheart Foamfollower" is 22 chars long, which breaks MACE and THUD. So I've had to mod all the MACE databases, the THUD database, and the database creation scripts for both, along with the phpBB user creation script, to allow names up to 22 characters long but no longer (MACE users are also limited to 8/16 characters if they'll be unix users, but this shouldn't affect anything to do with THUD).
All that's left is to make it so that name creations can't create conflicting entries (unless the passwords are the same), and so that changing an email address or password on one system also changes it on all other systems. But that can wait ![]()












An update to this one is that the shopping cart runs under MACE. Which meant that initially it didn't work for anyone without a mace account... which wasn't good!
Now it should also recognise thud and forum accounts. Bug squished.