diff options
Diffstat (limited to 'actions/useradd.php')
| -rw-r--r-- | actions/useradd.php | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/actions/useradd.php b/actions/useradd.php index f20b9d070..17459021b 100644 --- a/actions/useradd.php +++ b/actions/useradd.php @@ -6,10 +6,12 @@ * @subpackage Core */ +elgg_make_sticky_form('useradd'); + // Get variables $username = get_input('username'); -$password = get_input('password'); -$password2 = get_input('password2'); +$password = get_input('password', null, false); +$password2 = get_input('password2', null, false); $email = get_input('email'); $name = get_input('name'); @@ -18,17 +20,31 @@ if (is_array($admin)) { $admin = $admin[0]; } +// no blank fields +if ($username == '' || $password == '' || $password2 == '' || $email == '' || $name == '') { + register_error(elgg_echo('register:fields')); + forward(REFERER); +} + +if (strcmp($password, $password2) != 0) { + register_error(elgg_echo('RegistrationException:PasswordMismatch')); + forward(REFERER); +} + // For now, just try and register the user try { $guid = register_user($username, $password, $name, $email, TRUE); - if (((trim($password) != "") && (strcmp($password, $password2) == 0)) && ($guid)) { + if ($guid) { $new_user = get_entity($guid); - if (($guid) && ($admin)) { + if ($new_user && $admin && elgg_is_admin_logged_in()) { $new_user->makeAdmin(); } + elgg_clear_sticky_form('useradd'); + $new_user->admin_created = TRUE; + // @todo ugh, saving a guid as metadata! $new_user->created_by_guid = elgg_get_logged_in_user_guid(); $subject = elgg_echo('useradd:subject'); |
