} $token = optional_param('token', 'test', PARAM_ALPHANUM); $action = optional_param('action', null, PARAM_ALPHA); $username = optional_param('username', null, PARAM_USERNAME); $userid = optional_param('userid', null, PARAM_INT); $password = optional_param('password', null, PARAM_TEXT); $identitytype = optional_param('identitytype', null, PARAM_TEXT); if (empty($secure) and !empty($CFG->block_mhaairs_sslonly)) { echo 'Connection must be secured with SSL'; return; } $secret = !empty($CFG->block_mhaairs_shared_secret) ? $CFG->block_mhaairs_shared_secret : ''; $result = null; switch ($action) { case "test": $result = "OK"; break; case "ValidateLogin": $result = MHUtil::validate_login($token, $secret, $username, $password); break; case "GetUserInfo": $result = MHUtil::get_user_info($token, $secret, $identitytype); break; case "GetServerTime": $result = MHUtil::get_time_stamp(); break; default: break; } header('Content-Type: application/json; charset=utf-8'); echo json_encode($result);
/** * Allows external services to push grades into the course gradebook. * Alias for {@link block_mhaairs_gradebookservice_external::update_grade()}. * * @return mixed * @throws invalid_parameter_exception * @throws moodle_exception */ public static function validate_login($token, $username, $password) { // Require secured connection. if ($error = self::require_ssl()) { $authresult = new MHAuthenticationResult(MHAuthenticationResult::FAILURE, '', $error); return $authresult; } // Get the configured secret. $secret = self::get_secret(); // Validate login. $result = MHUtil::validate_login($token, $secret, $username, $password); return $result; }