From 48486e99479657edb70474ae9b18dbe713e1cae0 Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 14 Oct 2009 19:40:21 +0000 Subject: Standardized actions/admin/* git-svn-id: http://code.elgg.org/elgg/trunk@3540 36083f99-b078-4883-b0ff-0f9b5a30f544 --- actions/admin/user/resetpassword.php | 83 +++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 40 deletions(-) (limited to 'actions/admin/user/resetpassword.php') 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 @@ 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 -- cgit v1.2.3