allow_registration) { try { if (trim($password) == "" || trim($password2) == "") { throw new RegistrationException(elgg_echo('RegistrationException:EmptyPassword')); } if (strcmp($password, $password2) != 0) { throw new RegistrationException(elgg_echo('RegistrationException:PasswordMismatch')); } $guid = register_user($username, $password, $name, $email, false, $friend_guid, $invitecode); if ($guid) { $new_user = get_entity($guid); // @todo - consider removing registering admins since this is done // through the useradd action if (($guid) && ($admin)) { // Only admins can make someone an admin admin_gatekeeper(); $new_user->makeAdmin(); } // Send user validation request on register only global $registering_admin; if (!$registering_admin) { request_user_validation($guid); } if (!$new_user->isAdmin()) { // Now disable if not an admin // Don't do a recursive disable. Any entities owned by the user at this point // are products of plugins that hook into create user and might need // access to the entities. $new_user->disable('new_user', false); } system_message(sprintf(elgg_echo("registerok"),$CONFIG->sitename)); // Forward on success, assume everything else is an error... // If just registered admin user, login the user in and forward to the // plugins simple settings page. if (!datalist_get('first_admin_login')) { login($new_user); // remove the "you've registered!" system_message(); $_SESSION['msg']['messages'] = array(); // remind users to enable / disable desired tools elgg_add_admin_notice('first_installation_plugin_reminder', elgg_echo('firstadminlogininstructions')); datalist_set('first_admin_login', time()); forward('pg/admin/plugins/simple'); } else { forward(); } } else { register_error(elgg_echo("registerbad")); } } catch (RegistrationException $r) { register_error($r->getMessage()); } } else { register_error(elgg_echo('registerdisabled')); } forward(REFERER);