AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./*** Nologin authentication login - prevents user login.** @package auth_nologin* @author Petr Skoda* @license http://www.gnu.org/copyleft/gpl.html GNU Public License*/defined('MOODLE_INTERNAL') || die();require_once($CFG->libdir.'/authlib.php');/*** Plugin for no authentication - disabled user.*/class auth_plugin_nologin extends auth_plugin_base {/*** Constructor.*/public function __construct() {$this->authtype = 'nologin';}/*** Old syntax of class constructor. Deprecated in PHP7.** @deprecated since Moodle 3.1*/public function auth_plugin_nologin() {debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER);self::__construct();}/*** Do not allow any login.**/function user_login($username, $password) {return false;}/*** No password updates.*/function user_update_password($user, $newpassword) {return false;}function prevent_local_passwords() {// just in case, we do not want to loose the passwordsreturn false;}/*** No external data sync.** @return bool*/function is_internal() {//we do not know if it was internal or external originallyreturn true;}/*** No changing of password.** @return bool*/function can_change_password() {return false;}/*** No password resetting.*/function can_reset_password() {return false;}/*** Returns true if plugin can be manually set.** @return bool*/function can_be_manually_set() {return true;}/*** Returns information on how the specified user can change their password.* User accounts with authentication type set to nologin are disabled accounts.* They cannot change their password.** @param stdClass $user A user object* @return string[] An array of strings with keys subject and message*/public function get_password_change_info(stdClass $user): array {$site = get_site();$data = new stdClass();$data->firstname = $user->firstname;$data->lastname = $user->lastname;$data->username = $user->username;$data->sitename = format_string($site->fullname);$data->admin = generate_email_signoff();$message = get_string('emailpasswordchangeinfodisabled', '', $data);$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));return ['subject' => $subject,'message' => $message];}}