diff --git a/public/mod/assign/classes/shortlink_handler.php b/public/mod/assign/classes/shortlink_handler.php new file mode 100644 index 00000000000..5d1503166db --- /dev/null +++ b/public/mod/assign/classes/shortlink_handler.php @@ -0,0 +1,48 @@ +. + +namespace mod_assign; + +use core\shortlink_handler_interface; + +/** + * Shortlink handler for mod_assign. + * + * @package mod_assign + * @copyright 2025 Andrew Lyons + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class shortlink_handler implements shortlink_handler_interface { + #[\Override] + public function get_valid_linktypes(): array { + return [ + 'view', + ]; + } + + #[\Override] + public function process_shortlink( + string $type, + string $identifier, + ): ?\core\url { + return match ($type) { + 'view' => new \core\url('/mod/assign/view.php', [ + 'id' => $identifier, + ]), + default => null, + }; + } +}