This seems like a bad bug. It looks like Mahara forces auth plugins to use the same function names (validate_config_options, save_config_options) for plugin configuration and instance configuration, and then passes different parameters to the function depending on whether it's doing plugin or instance config. It only affects saml, because that's the only auth plugin that has plugin configuration.
To fix it without breaking any contributed plugins out ther, maybe we should make the auth instance config stuff in htdocs/admin/users/addauthority.php check for the existence of validate_instance_config_options, save_instance_config_options functions and if they exist, use those instead of validate_config_options, save_config_options.
Or else just change the names of all auth plugins to use validate_instance_config_options etc., and just let any contrib auth plugins break.
This seems like a bad bug. It looks like Mahara forces auth plugins to use the same function names (validate_ config_ options, save_config_ options) for plugin configuration and instance configuration, and then passes different parameters to the function depending on whether it's doing plugin or instance config. It only affects saml, because that's the only auth plugin that has plugin configuration.
To fix it without breaking any contributed plugins out ther, maybe we should make the auth instance config stuff in htdocs/ admin/users/ addauthority. php check for the existence of validate_ instance_ config_ options, save_instance_ config_ options functions and if they exist, use those instead of validate_ config_ options, save_config_ options.
Or else just change the names of all auth plugins to use validate_ instance_ config_ options etc., and just let any contrib auth plugins break.