config = get_config('auth/email'); } /** * Returns true if the username and password work and false if they are * wrong or don't exist. * * @param string $username The username * @param string $password The password * @returns bool Authentication success or failure. */ function user_login ($username, $password) { global $CFG; if ($user = get_record('user', 'username', $username, 'mnethostid', $CFG->mnet_localhost_id)) { return validate_internal_user_password($user, $password); } return false; } /* * Updates the user's password. * * called when the user password is updated. * * @param mixed $username Username * @param mixed $newpassword Plaintext password * @return boolean result * */ function user_update_password($username, $newpassword) { $user = get_complete_user_data('username', $username); return update_internal_user_password($user, $newpassword); } /* * Sign up a new user ready for confirmation. */ function user_signup($user, $notify = true) { if (! ($user->id = insert_record('user', $user)) ) { print_error('auth_emailnoinsert','auth'); } if (! send_confirmation_email($user)) { print_error('auth_emailnoemail','auth'); } if ($notify) { global $CFG; $emailconfirm = get_string('emailconfirm'); print_header($emailconfirm, $emailconfirm, $emailconfirm); notice(get_string('emailconfirmsent', '', $user->email), "$CFG->wwwroot/index.php"); } } /* * Confirm the new user as registered. */ function user_confirm($username, $confirmsecret) { $user = get_complete_user_data('username', $username); if (!empty($user)) { if ($user->confirmed) { return AUTH_CONFIRM_ALREADY; } if ($user->secret == $confirmsecret) { // They have provided the secret key to get in if (!set_field("user", "confirmed", 1, "id", $user->id)) { return AUTH_CONFIRM_FAIL; } if (!set_field("user", "firstaccess", time(), "id", $user->id)) { return AUTH_CONFIRM_FAIL; } return AUTH_CONFIRM_OK; } } } /** * Returns true if this authentication plugin is 'internal'. * * @returns bool */ function is_internal() { return true; } /** * Returns true if this authentication plugin can change the user's * password. * * @returns bool */ function can_change_password() { return true; } /** * Returns the URL for changing the user's pw, or false if the default can * be used. * * @returns bool */ function change_password_url() { return false; } /** * Prints a form for configuring this authentication plugin. * * This function is called from admin/auth.php, and outputs a full page with * a form for configuring this plugin. * * @param array $page An object containing all the data for this page. */ function config_form($config, $err) { include "config.html"; } /** * Processes and stores configuration data for this authentication plugin. */ function process_config($config) { return true; } } ?>