diff options
Diffstat (limited to 'actions/useradd.php')
| -rw-r--r-- | actions/useradd.php | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/actions/useradd.php b/actions/useradd.php index 54def11b3..17459021b 100644 --- a/actions/useradd.php +++ b/actions/useradd.php @@ -6,13 +6,12 @@ * @subpackage Core */ -admin_gatekeeper(); // Only admins can add a user +elgg_make_sticky_form('useradd'); // Get variables -global $CONFIG; $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'); @@ -21,26 +20,45 @@ 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; - $new_user->created_by_guid = get_loggedin_userid(); + // @todo ugh, saving a guid as metadata! + $new_user->created_by_guid = elgg_get_logged_in_user_guid(); $subject = elgg_echo('useradd:subject'); - $body = sprintf(elgg_echo('useradd:body'), $name, - $CONFIG->site->name, $CONFIG->site->url, $username, $password); + $body = elgg_echo('useradd:body', array( + $name, + elgg_get_site_entity()->name, + elgg_get_site_entity()->url, + $username, + $password, + )); - notify_user($new_user->guid, $CONFIG->site->guid, $subject, $body); + notify_user($new_user->guid, elgg_get_site_entity()->guid, $subject, $body); - system_message(sprintf(elgg_echo("adduser:ok"), $CONFIG->sitename)); + system_message(elgg_echo("adduser:ok", array(elgg_get_site_entity()->name))); } else { register_error(elgg_echo("adduser:bad")); } |
