Call this commit "Snow in Corvallis" ...
The major functional change in this revision is converting from user selected UIDs to system selected UIDs. This is controlled by the variable $USERSELECTUIDS in defs/defs.php3.in which is now set to zero, so system selected UIDs is the default. The algo for creating the uid is to take the email address, strip the @whatever from it, squeeze out dots and dashes and underlines, and make sure any +foo tokens are removed. Then make sure it is unique by taking the first 5 characters and then adding a 3 digit number, derived by checking the DB to see what exists. Since we will want to (more often) change the UID selected, there is a new admin only menu option on the Show User page. It calls the backend script to do the work (sbin/changeuid). The login page now defaults to storing and showing the email address for login, rather then the UID. It will still accept either one though (has for a long time). Along the way I also reorg'ed a number of pages to use the new user, group, and project classes and moved some common functionality into the class defs. Also changed the way addpubkey is called, to avoid some confusion.
Showing with 765 additions and 475 deletions