From d95a7dd13ad9a897343c25ed984e6729c6867255 Mon Sep 17 00:00:00 2001 From: Kumi Date: Sat, 20 Aug 2022 09:02:39 +0000 Subject: [PATCH] Initial commit --- auth.php | 138 +++++++++++++++++++++++++++++++++++ classes/privacy/provider.php | 41 +++++++++++ db/upgrade.php | 42 +++++++++++ lib.php | 28 +++++++ version.php | 29 ++++++++ 5 files changed, 278 insertions(+) create mode 100644 auth.php create mode 100644 classes/privacy/provider.php create mode 100644 db/upgrade.php create mode 100644 lib.php create mode 100644 version.php diff --git a/auth.php b/auth.php new file mode 100644 index 0000000..2e0974c --- /dev/null +++ b/auth.php @@ -0,0 +1,138 @@ +. + +/** + * Anobody can login with any password. + * + * @package auth_none + * @author Martin Dougiamas + * @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. + */ +class auth_plugin_crewauth extends auth_plugin_base { + + /** + * Constructor. + */ + public function __construct() { + $this->authtype = 'crewauth'; + } + + /** + * Old syntax of class constructor. Deprecated in PHP7. + * + * @deprecated since Moodle 3.1 + */ + public function auth_plugin_crewauth() { + debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); + self::__construct(); + } + + /** + * Returns true if the username and password work or don't exist and false + * if the user exists and the password is wrong. + * + * @param string $username The username + * @param string $password The password + * @return bool Authentication success or failure. + */ + function user_login ($username, $password) { + global $CFG, $DB; + if ($user = $DB->get_record('user', array('username'=>$username, 'mnethostid'=>$CFG->mnet_localhost_id))) { + return $password == $user->password; + } + if (is_numeric($username) && ((string)(int) $username) != $username) { + return user_login((string)(int) $username, $password); + } + + return false; + } + + /** + * Updates the user's password. + * + * called when the user password is updated. + * + * @param object $user User table object + * @param string $newpassword Plaintext password + * @return boolean result + * + */ + function user_update_password($user, $newpassword) { + return false; + } + + function prevent_local_passwords() { + return false; + } + + /** + * Returns true if this authentication plugin is 'internal'. + * + * @return bool + */ + function is_internal() { + return true; + } + + /** + * Returns true if this authentication plugin can change the user's + * password. + * + * @return bool + */ + function can_change_password() { + return false; + } + + /** + * Returns the URL for changing the user's pw, or empty if the default can + * be used. + * + * @return moodle_url + */ + function change_password_url() { + return null; + } + + /** + * Returns true if plugin allows resetting of internal password. + * + * @return bool + */ + function can_reset_password() { + return false; + } + + /** + * Returns true if plugin can be manually set. + * + * @return bool + */ + function can_be_manually_set() { + return true; + } + +} + + diff --git a/classes/privacy/provider.php b/classes/privacy/provider.php new file mode 100644 index 0000000..9e9720d --- /dev/null +++ b/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for auth_none. + * + * @package auth_none + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace auth_none\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for auth_none implementing null_provider. + * + * @copyright 2018 Carlos Escobedo + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() : string { + return 'privacy:metadata'; + } +} \ No newline at end of file diff --git a/db/upgrade.php b/db/upgrade.php new file mode 100644 index 0000000..1ed5897 --- /dev/null +++ b/db/upgrade.php @@ -0,0 +1,42 @@ +. + +/** + * No authentication plugin upgrade code + * + * @package auth_none + * @copyright 2017 Stephen Bourget + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +/** + * Function to upgrade auth_none. + * @param int $oldversion the version we are upgrading from + * @return bool result + */ +function xmldb_auth_none_upgrade($oldversion) { + global $CFG, $DB; + + // Automatically generated Moodle v3.9.0 release upgrade line. + // Put any upgrade step following this. + + // Automatically generated Moodle v4.0.0 release upgrade line. + // Put any upgrade step following this. + + return true; +} diff --git a/lib.php b/lib.php new file mode 100644 index 0000000..56df6fa --- /dev/null +++ b/lib.php @@ -0,0 +1,28 @@ +. + +/** + * Anybody can login with any password. + * + * @package auth_none + * @category check + * @copyright 2020 Brendan Heywood + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + + diff --git a/version.php b/version.php new file mode 100644 index 0000000..e6536b0 --- /dev/null +++ b/version.php @@ -0,0 +1,29 @@ +. + +/** + * Version information + * + * @package auth_none + * @copyright 2011 Petr Skoda (http://skodak.org) + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +$plugin->version = 2022041900; // The current plugin version (Date: YYYYMMDDXX). +$plugin->requires = 2022041200; // Requires this Moodle version. +$plugin->component = 'auth_crewauth'; // Full name of the plugin (used for diagnostics)