diff options
Diffstat (limited to 'actions/admin/user/resetpassword.php')
-rw-r--r-- | actions/admin/user/resetpassword.php | 83 |
1 files changed, 43 insertions, 40 deletions
diff --git a/actions/admin/user/resetpassword.php b/actions/admin/user/resetpassword.php index c2d3af160..50bdcb1ac 100644 --- a/actions/admin/user/resetpassword.php +++ b/actions/admin/user/resetpassword.php @@ -1,42 +1,45 @@ <?php - /** - * Admin password reset. - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - */ - - require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); - global $CONFIG; - - // block non-admin users - admin_gatekeeper(); - action_gatekeeper(); - - // Get the user - $guid = get_input('guid'); - $obj = get_entity($guid); - - if ( ($obj instanceof ElggUser) && ($obj->canEdit())) - { - $password = generate_random_cleartext_password(); - - $obj->salt = generate_random_cleartext_password(); // Reset the salt - $obj->password = generate_user_password($obj, $password); - - if ($obj->save()) - { - system_message(elgg_echo('admin:user:resetpassword:yes')); - - notify_user($obj->guid, $CONFIG->site->guid, elgg_echo('email:resetpassword:subject'), sprintf(elgg_echo('email:resetpassword:body'), $obj->username, $password), NULL, 'email'); - } else - register_error(elgg_echo('admin:user:resetpassword:no')); - } - else +/** + * Admin password reset. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); +global $CONFIG; + +// block non-admin users +admin_gatekeeper(); +action_gatekeeper(); + +// Get the user +$guid = get_input('guid'); +$obj = get_entity($guid); + +if (($obj instanceof ElggUser) && ($obj->canEdit())) { + $password = generate_random_cleartext_password(); + + $obj->salt = generate_random_cleartext_password(); // Reset the salt + $obj->password = generate_user_password($obj, $password); + + if ($obj->save()) { + system_message(elgg_echo('admin:user:resetpassword:yes')); + + notify_user($obj->guid, + $CONFIG->site->guid, + elgg_echo('email:resetpassword:subject'), + sprintf(elgg_echo('email:resetpassword:body'), $obj->username, $password), + NULL, + 'email'); + } else { register_error(elgg_echo('admin:user:resetpassword:no')); - - forward($_SERVER['HTTP_REFERER']); - exit; -?>
\ No newline at end of file + } +} else { + register_error(elgg_echo('admin:user:resetpassword:no')); +} + +forward($_SERVER['HTTP_REFERER']); +exit;
\ No newline at end of file |