3 // Generate a new password
7 $code = trim(optional_param('passwordcode'));
9 if ($details = get_record_sql('SELECT pr.ident AS passcodeid,u.* FROM '.$CFG->prefix
.'password_requests pr
10 JOIN '.$CFG->prefix
."users u ON u.ident = pr.owner
11 WHERE pr.code = ? AND u.user_type = ?",array($code,'person'))) {
13 $passwordDesc = sprintf(__gettext("A new password has been emailed to you at %s. You should be able to use it immediately; your old one has been deactivated."),$details->email
);
14 $run_result .= <<< END
21 $validcharset = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz234567898765432";
23 for ($i = 0; $i < 8; $i++
) {
24 $newpassword .= $validcharset[mt_rand(0, (strlen($validcharset) - 1))];
26 $newpassword = strtolower($newpassword);
30 email_to_user($details, null, sprintf(__gettext("Your %s password"), $sitename), sprintf(__gettext("Your %s password has been reset.\n\nFor your records, your new password is:\n\n\tPassword: %s\n\nPlease consider changing your password as soon as you have logged in for security reasons.\n\nWe hope you continue to enjoy using the system.\n\nRegards,\n\nThe %s Team"),$sitename, $newpassword, $sitename));
31 $newpassword = md5($newpassword);
32 set_field('users','password',$newpassword,'ident',$details->ident
);
33 delete_records('password_requests','owner',$details->ident
);
37 $passwordDesc2 = __gettext("Your password request code appears to be invalid. Try generating a new one?");
38 $run_result .= <<< END
49 $passwordDesc3 = __gettext("Your password request code appears to be invalid. Try generating a new one?");
50 $run_result .= <<< END