Index: admin/settings/server.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/admin/settings/server.php b/admin/settings/server.php --- a/admin/settings/server.php (revision HEAD) +++ b/admin/settings/server.php (revision Staged) @@ -42,6 +42,9 @@ new lang_string('pathtopdftoppm_help', 'admin'), '')); $temp->add(new admin_setting_configexecutable('pathtopython', new lang_string('pathtopython', 'admin'), new lang_string('pathtopythondesc', 'admin'), '')); + $temp->add(new admin_setting_completed('testsetting')); + $temp->add(new admin_setting_readonlymulticheckbox('testsetting2')); + $temp->add(new admin_setting_readonlymultiselect('testsetting3')); $ADMIN->add('server', $temp); // Support contact. Index: lib/adminlib.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/lib/adminlib.php b/lib/adminlib.php --- a/lib/adminlib.php (revision HEAD) +++ b/lib/adminlib.php (revision Staged) @@ -11819,3 +11819,62 @@ } } +class admin_setting_completed extends \admin_setting_configcheckbox { + /** + * Constructor for the setting. + * + * @param $name unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins. + */ + public function __construct($name) { + $visiblename = 'Completed'; + $description = 'This setting should not change if code else where has set it to "1"'; + parent::__construct($name, $visiblename, $description, null); + } + + /** + * This setting is not configurable via the UI. + */ + public function is_readonly(): bool { + return true; + } +} + +class admin_setting_readonlymulticheckbox extends \admin_setting_configmulticheckbox { + /** + * Constructor for the setting. + * + * @param $name unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins. + */ + public function __construct($name) { + $visiblename = 'Readonly Multi-checkbox'; + $description = ''; + parent::__construct($name, $visiblename, $description, null, ['1' => 'One', '2' => 'Two']); + } + + /** + * This setting is not configurable via the UI. + */ + public function is_readonly(): bool { + return true; + } +} + +class admin_setting_readonlymultiselect extends \admin_setting_configmultiselect { + /** + * Constructor for the setting. + * + * @param $name unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins. + */ + public function __construct($name) { + $visiblename = 'Readonly Multi-select'; + $description = ''; + parent::__construct($name, $visiblename, $description, null, ['1' => 'One', 'A' => ['2' => 'Two'], 'B' => ['3' => 'Three', '4' => 'Four']]); + } + + /** + * This setting is not configurable via the UI. + */ + public function is_readonly(): bool { + return true; + } +} Index: mdl-82214.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/mdl-82214.php b/mdl-82214.php new file mode 100644 --- /dev/null (revision Staged) +++ b/mdl-82214.php (revision Staged) @@ -0,0 +1,9 @@ +