Avoid a problem in newproject.php3. When the DB is locked for daily backup,
NewNewUser()/newuser would block and then unblock and get done; meanwhile the PHP thread went away so we never returned to call NewNewProject/mkproj. Move the call on the newuser script from PHP into the back-end Perl newproj script for atomicity. www/newproject.php3 - When the project leader is a new user, pass two xml files to the newproj backend script, one describing the project and the second one (an optional) file describing the newuser. www/user_defs.php - Factor the xml-making part of NewNewUser into NewNewUserXML. www/project_defs.php - Remove the required $leader arg of NewNewProject. newproj may call newuser, which may generate the leader uid. backend/newproj.in - Call newuser with an optional 'newuser_xml' XML file. sql/database-fill.sql - Add 'projects','newuser_xml'.
Showing with 106 additions and 30 deletions