commit f727fb502c4cf365b4be7f6feacb160874b61d42 Author: Kumi Date: Sat Aug 20 08:38:24 2022 +0000 Initial commit diff --git a/auth.php b/auth.php new file mode 100644 index 0000000..2f6a07a --- /dev/null +++ b/auth.php @@ -0,0 +1,141 @@ +. + +/** + * Anobody can login with any password. + * + * @package auth_nopin + * @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_nopin extends auth_plugin_base { + + /** + * Constructor. + */ + public function __construct() { + $this->authtype = 'nopin'; + $this->config = get_config('auth_nopin'); + } + + /** + * Old syntax of class constructor. Deprecated in PHP7. + * + * @deprecated since Moodle 3.1 + */ + public function auth_plugin_nopin() { + 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) { + 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 false; + } + + /** + * Hook for overriding behaviour of login page + */ + function loginpage_hook() { + if ($_POST["username"] && is_numeric($_POST["username"])) { + header('Location: /auth/nopin/error.php'); + die("This request had a username!"); + } + } + +} + + diff --git a/classes/privacy/provider.php b/classes/privacy/provider.php new file mode 100644 index 0000000..01356bf --- /dev/null +++ b/classes/privacy/provider.php @@ -0,0 +1,41 @@ +. +/** + * Privacy Subsystem implementation for auth_nopin. + * + * @package auth_nopin + * @copyright 2018 Carlos Escobedo , 2022 Kumi Systems e.U. + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +namespace auth_nopin\privacy; +defined('MOODLE_INTERNAL') || die(); +/** + * Privacy Subsystem for auth_nopin 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'; + } +} diff --git a/db/upgrade.php b/db/upgrade.php new file mode 100644 index 0000000..5bda9d1 --- /dev/null +++ b/db/upgrade.php @@ -0,0 +1,51 @@ +. + +/** + * 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.6.0 release upgrade line. + // Put any upgrade step following this. + + // Automatically generated Moodle v3.7.0 release upgrade line. + // Put any upgrade step following this. + + // Automatically generated Moodle v3.8.0 release upgrade line. + // Put any upgrade step following this. + + // 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/error.php b/error.php new file mode 100644 index 0000000..4f1d0e7 --- /dev/null +++ b/error.php @@ -0,0 +1,15 @@ +set_context(get_system_context()); +$PAGE->set_pagelayout('admin'); +$PAGE->set_title("Are you a crew member?"); +$PAGE->set_url($CFG->wwwroot.'/auth/error.php'); + +echo $OUTPUT->header(); +echo '

Are you a crew member?

'; +echo '

Seems like you tried logging in with a crew ID. If you are a crew member, please login to the Crew Check Portal to access the Sea Chefs Academy!

'; +echo 'To the Crew Check Portal'; +echo $OUTPUT->footer(); +?> diff --git a/reset.php b/reset.php new file mode 100644 index 0000000..d19b709 --- /dev/null +++ b/reset.php @@ -0,0 +1,16 @@ +set_context(get_system_context()); +$PAGE->set_pagelayout('admin'); +$PAGE->set_title("Password Reset"); +$PAGE->set_url($CFG->wwwroot.'/auth/reset.php'); + +echo $OUTPUT->header(); +echo '

Forgot your password?

'; +echo '

If you are a crew member, please keep in mind that you cannot directly login to the sea chefs Academy. Please use the Crew Check Portal to login instead.

'; +echo '

To the Crew Check Portal

'; +echo '

If you are sea chefs office staff, or if you still need assistance, please send an email to the digital learning team.

'; +echo $OUTPUT->footer(); +?> diff --git a/version.php b/version.php new file mode 100644 index 0000000..eb1fd8c --- /dev/null +++ b/version.php @@ -0,0 +1,29 @@ +. + +/** + * Version information + * + * @package auth_none + * @copyright 2011 Petr Skoda (http://skodak.org), 2022 Kumi Systems e.U. (https://kumi.systems) + * @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 = 2019111802; // Requires this Moodle version. +$plugin->component = 'auth_nopin'; // Full name of the plugin (used for diagnostics)