catalyst / moodle-auth_saml2

SAML done 100% in Moodle, fast, simple, secure
https://moodle.org/plugins/auth_saml2
70 stars 132 forks source link

Use original string hook callback definition for backwards compat. #812

Closed paulholden closed 2 months ago

paulholden commented 2 months ago

See #809 - in order to support this hook from Moodle 4.3 we should use the simple callback format. Support for array callable notation arrived only in 4.4 (MDL-81180).

paulholden commented 2 months ago

To clarify, this is only the hook notation that needs to be updated, because when Moodle 4.3 attempts to read this hook definition in Moodle 4.3 the following is emitted:

debugging() message/s found: Hook callback definition contains invalid 'callback' string in 'auth_saml2'
line 536 of /lib/classes/hook/manager.php: call to debugging()
line 501 of /lib/classes/hook/manager.php: call to core\hook\manager->normalise_callback()
line ? of unknownfile: call to core\hook\manager->add_component_callbacks()
line 348 of /lib/classes/hook/manager.php: call to array_map()
line 328 of /lib/classes/hook/manager.php: call to core\hook\manager->load_callbacks()
line 75 of /lib/classes/hook/manager.php: call to core\hook\manager->init_standard_callbacks()
line 89 of /lib/classes/navigation/views/primary.php: call to core\hook\manager::get_instance()
line 907 of /lib/pagelib.php: call to core\navigation\views\primary->initialise()
line 967 of /lib/pagelib.php: call to moodle_page->magic_get_primarynav()
line 80 of /lib/classes/navigation/output/primary.php: call to moodle_page->__get()
line 58 of /lib/classes/navigation/output/primary.php: call to core\navigation\output\primary->get_primary_nav()
line 95 of /theme/workplace/layout/drawers.php: call to core\navigation\output\primary->export_for_template()
line 1486 of /lib/outputrenderers.php: call to include()
line 1412 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
line 116 of /index.php: call to core_renderer->header()

https://github.com/moodle/moodle/blob/MOODLE_403_STABLE/lib/classes/hook/manager.php#L534-L538