The settings page includes a number of issues which should be addressed:
- conditional settings are not supported in Moodle. When settings are added condtionally this can lead to missing default values for that setting and later problems as a result
- Renderers should not be used in settings. Things which are not a renderer shoud not be called renderer.
- The use of these functions is counter-intuitive
Medium. Whilst this code does not cause an error, it is highly confusing and unnecessary.
- Remove conditional settings for recordings and replace them with disabled settings
- Move the various bigbluebuttonbn_settings_ functions to a new settings class
- Move the renderer functions to this class too
- Call the code in settings.php similar to:
- Remove all of the validator logic - you must not create settings which are conditional upon the value of other settings
Hard. The current code is confusing and will take some unpicking to get right without the use of conditional settings.