}
 if ($user and !empty($user->confirmed)) {
     $userauth = get_auth_plugin($user->auth);
     if (has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) {
         // send email (make sure mail block is off)
         $user->emailstop = 0;
     }
     if ($userauth->can_reset_password() and is_enabled_auth($user->auth) and has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) {
         // send reset password confirmation
         // set 'secret' string
         $user->secret = random_string(15);
         if (!set_field('user', 'secret', $user->secret, 'id', $user->id)) {
             error('error setting user secret string');
         }
         // Added: to call calendar ws to edit user. - 07.20.2011 - jam
         editUserProfilePassword($user->username, $user->username, $user->secret);
         if (!send_password_change_confirmation_email($user)) {
             error('error sending password change confirmation email');
         }
     } else {
         if (!send_password_change_info($user)) {
             error('error sending password change confirmation email');
         }
     }
 }
 print_header($strforgotten, $strforgotten, $navigation);
 if (empty($user->email) or !empty($CFG->protectusernames)) {
     // Print general confirmation message
     notice(get_string('emailpasswordconfirmmaybesent'), $CFG->wwwroot . '/index.php');
 } else {
     // Confirm email sent
if (createUserProfile($username, $usernew)) {
    if (!($usernew->id = insert_record('user', $usernew))) {
        admin_moodlefailed_email($usernew, 'addUser', $course);
        error('Error creating user record');
    }
    // Insert the user_custom_profile_field for timezone
    $rec = new object();
    $rec->userid = $usernew->id;
    $rec->fieldid = 4;
    $rec->data = $timezone;
    insert_record('user_info_data', $rec);
    // Insert the user_custom_profile_field for companyname
    $rec = new object();
    $rec->userid = $usernew->id;
    $rec->fieldid = 2;
    $rec->data = $companyname;
    insert_record('user_info_data', $rec);
    // reload from db
    $usernew = get_record('user', 'id', $usernew->id);
    // setUserTimeZone($usernew->id, $zone);
    setWSUserDefaultTimeZone('admin', $usernew);
    editUserProfilePassword("admin", $usernew->username, $password);
    if (!addQSUser($usernew)) {
        admin_signuperror_email($usernew);
        //error('An error has occured, please try again shortly.');
    }
} else {
    $usercreated = false;
    //deleteQSUser($usernew);
    admin_webservicefailed_email($usernew, 'addUser', $course);
}
         echo '<br> get_record for user companyname was successful';
         $rec->data = $companyname;
         if (!update_record('user_info_data', $rec)) {
             echo '<br> update_record for user companyname was NOT successful';
             admin_moodlefailed_email($usernew, 'modifyUser', $course);
             error('Error updating user companyname record');
         }
         echo '<br> update_record for user companyname was successful';
         // reload from db
         $usernew = get_record('user', 'id', $usernew->id);
         // setUserTimeZone($usernew->id, $zone);
         setWSUserDefaultTimeZone('admin', $usernew);
         //set new password if specified
         if (!empty($password)) {
             echo '<br> password is being set to ' . $password;
             if (!editUserProfilePassword('admin', $usernew->username, $password)) {
                 echo "<br> editUserProfilePassword for \$usernew->username {$usernew->username} and \$password {$password} was NOT successful";
                 admin_moodlefailed_email($usernew, 'modifyUser', $course);
                 error('Error updating user password');
             }
             echo "<br> editUserProfilePassword for \$usernew->username {$usernew->username} and \$password {$password} was successful";
         } else {
             echo '<br> password will NOT change';
         }
     } else {
         $useredited = false;
         //deleteQSUser($usernew);
         admin_webservicefailed_email($usernew, 'modifyUser', $course);
     }
 } else {
     modifyQSUser($olduserinfo);
/**
 * Resets specified user's password and send the new password to the user via email.
 *
 * @uses $CFG
 * @param user $user A {@link $USER} object
 * @return bool|string Returns "true" if mail was sent OK, "emailstop" if email
 *          was blocked by user and "false" if there was another sort of error.
 */
function reset_password_and_mail($user)
{
    global $CFG;
    // Added by SMS: 7/28/2011
    require_once $CFG->dirroot . '/mod/scheduler/fullcalendar/calendar.php';
    $site = get_site();
    $supportuser = generate_email_supportuser();
    $userauth = get_auth_plugin($user->auth);
    if (!$userauth->can_reset_password() or !is_enabled_auth($user->auth)) {
        trigger_error("Attempt to reset user password for user {$user->username} with Auth {$user->auth}.");
        return false;
    }
    $newpassword = generate_password();
    // Edited by SMS: 7/28/2011
    if (editUserProfilePassword($user->username, $user->username, $newpassword)) {
        if (!$userauth->user_update_password(addslashes_recursive($user), addslashes($newpassword))) {
            error("Could not set user password!");
        }
    } else {
        error("Could not set user password!");
    }
    /*	
    if (!$userauth->user_update_password(addslashes_recursive($user), addslashes($newpassword))) {
    	error("Could not set user password!");
    }
    */
    $a = new object();
    $a->firstname = $user->firstname;
    $a->lastname = $user->lastname;
    $a->sitename = format_string($site->fullname);
    $a->username = $user->username;
    $a->newpassword = $newpassword;
    $a->link = $CFG->httpswwwroot . '/login/change_password.php';
    $a->signoff = generate_email_signoff($user);
    $message = get_string('newpasswordtext', '', $a);
    $subject = format_string($site->fullname) . ': ' . get_string('changedpassword');
    return email_to_user($user, $supportuser, $subject, $message);
}
    print_error('nopasswordchange', 'auth');
}
if ($changeurl = $userauth->change_password_url()) {
    // this internal scrip not used
    redirect($changeurl);
}
$mform = new login_change_password_form();
$mform->set_data(array('id' => $course->id));
$navlinks = array();
$navlinks[] = array('name' => $strparticipants, 'link' => "{$CFG->wwwroot}/user/index.php?id={$course->id}", 'type' => 'misc');
if ($mform->is_cancelled()) {
    redirect($CFG->wwwroot . '/user/view.php?id=' . $USER->id . '&amp;course=' . $course->id);
} else {
    if ($data = $mform->get_data()) {
        // Added: to call calendar ws to edit user.
        if (editUserProfilePassword($USER->username, $USER->username, $data->newpassword1)) {
            if (!$userauth->user_update_password(addslashes_recursive($USER), $data->newpassword1)) {
                print_error('errorpasswordupdate', 'auth');
            }
        } else {
            print_error('errorpasswordupdate', 'auth');
        }
        // register success changing password
        unset_user_preference('auth_forcepasswordchange', $USER->id);
        $strpasswordchanged = get_string('passwordchanged');
        add_to_log($course->id, 'user', 'change password', "view.php?id={$USER->id}&amp;course={$course->id}", "{$USER->id}");
        $fullname = fullname($USER, true);
        $navlinks[] = array('name' => $fullname, 'link' => "{$CFG->wwwroot}/user/view.php?id={$USER->id}&amp;course={$course->id}", 'type' => 'misc');
        $navlinks[] = array('name' => $strpasswordchanged, 'link' => null, 'type' => 'misc');
        $navigation = build_navigation($navlinks);
        print_header($strpasswordchanged, $strpasswordchanged, $navigation);