Example #1
0
 * DIRECTLY INCLUDED FROM session_login.php
 */
//STATUS: wip
//XXX XHR för att se om användarnamn är ledigt
//XXX js som visuellt visar password strength & "dont match" medans man skriver
//TODO: send account activation mail
//XXX use XhtmlForm class, it needs a way to show the images first. also needs a way to show multiple buttons
namespace cd;

$superadmin_reg = !UserList::getCount();
if (!$superadmin_reg && !$session->allow_registrations) {
    return;
}
// Handle new user registrations
if (isset($_POST['register_usr']) && isset($_POST['register_pwd']) && isset($_POST['register_pwd2'])) {
    $reg = UserHandler::getInstance();
    $user_id = $reg->register($_POST['register_usr'], $_POST['register_pwd'], $_POST['register_pwd2']);
    if ($user_id) {
        if ($superadmin_reg) {
            if (!UserGroup::getAll()) {
                // If no UserGroup:s exist, create them
                UserGroup::create('Webmasters', 1);
                UserGroup::create('Admins', 2);
                $sadmin_id = UserGroup::create('Super Admins', 3);
            } else {
                $grp = UserGroup::getByName('Super Admins');
                $sadmin_id = $grp['groupId'];
            }
            if (!$sadmin_id) {
                throw new \Exception('super admin group not found');
            }