MDL-65896 admin: add admin setting to show emoji picker
[moodle.git] / admin / settings / subsystems.php
1 <?php
3 if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
5     $optionalsubsystems->add(new admin_setting_configcheckbox('enableoutcomes', new lang_string('enableoutcomes', 'grades'), new lang_string('enableoutcomes_help', 'grades'), 0));
6     $optionalsubsystems->add(new admin_setting_configcheckbox('usecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
8     $optionalsubsystems->add(new admin_setting_configcheckbox('usetags', new lang_string('usetags','admin'),new lang_string('configusetags', 'admin'), '1'));
10     $optionalsubsystems->add(new admin_setting_configcheckbox('enablenotes', new lang_string('enablenotes', 'notes'), new lang_string('configenablenotes', 'notes'), 1));
12     $optionalsubsystems->add(new admin_setting_configcheckbox('enableportfolios', new lang_string('enabled', 'portfolio'), new lang_string('enableddesc', 'portfolio'), 0));
14     $optionalsubsystems->add(new admin_setting_configcheckbox('enablewebservices', new lang_string('enablewebservices', 'admin'), new lang_string('configenablewebservices', 'admin'), 0));
16     $optionalsubsystems->add(new admin_setting_configcheckbox('enablestats', new lang_string('enablestats', 'admin'), new lang_string('configenablestats', 'admin'), 0));
18     $optionalsubsystems->add(new admin_setting_configcheckbox('enablerssfeeds', new lang_string('enablerssfeeds', 'admin'), new lang_string('configenablerssfeeds', 'admin'), 0));
20     $optionalsubsystems->add(new admin_setting_configcheckbox('enableblogs', new lang_string('enableblogs', 'admin'), new lang_string('configenableblogs', 'admin'), 1));
22     $options = array('off'=>new lang_string('off', 'mnet'), 'strict'=>new lang_string('on', 'mnet'));
23     $optionalsubsystems->add(new admin_setting_configselect('mnet_dispatcher_mode', new lang_string('net', 'mnet'), new lang_string('configmnet', 'mnet'), 'off', $options));
25     // Conditional activities: completion and availability
26     $optionalsubsystems->add(new admin_setting_configcheckbox('enablecompletion',
27         new lang_string('enablecompletion','completion'),
28         new lang_string('configenablecompletion', 'completion'), 1));
30     $options = array(
31         1 => get_string('completionactivitydefault', 'completion'),
32         0 => get_string('completion_none', 'completion')
33     );
34     $optionalsubsystems->add(new admin_setting_configselect('completiondefault', new lang_string('completiondefault', 'completion'),
35             new lang_string('configcompletiondefault', 'completion'), 1, $options));
37     $optionalsubsystems->add($checkbox = new admin_setting_configcheckbox('enableavailability',
38             new lang_string('enableavailability', 'availability'),
39             new lang_string('enableavailability_desc', 'availability'), 1));
40     $checkbox->set_affects_modinfo(true);
42     $optionalsubsystems->add(new admin_setting_configcheckbox('enableplagiarism', new lang_string('enableplagiarism','plagiarism'), new lang_string('configenableplagiarism','plagiarism'), 0));
44     $optionalsubsystems->add(new admin_setting_configcheckbox('enablebadges', new lang_string('enablebadges', 'badges'), new lang_string('configenablebadges', 'badges'), 1));
46     $optionalsubsystems->add(new admin_setting_configcheckbox('enableglobalsearch', new lang_string('enableglobalsearch', 'admin'),
47         new lang_string('enableglobalsearch_desc', 'admin'), 0, 1, 0));
49     $optionalsubsystems->add(new admin_setting_configcheckbox('allowstealth', new lang_string('allowstealthmodules'),
50         new lang_string('allowstealthmodules_help'), 0, 1, 0));
52     $optionalsubsystems->add(new admin_setting_configcheckbox('enableanalytics', new lang_string('enableanalytics', 'admin'),
53         new lang_string('configenableanalytics', 'admin'), 1, 1, 0));
56     $fullunicodesupport = true;
57     if ($DB->get_dbfamily() == 'mysql') {
58         $collation = $DB->get_dbcollation();
59         $collationinfo = explode('_', $collation);
60         $charset = reset($collationinfo);
62         if ($charset !== 'utf8') {
63             $fullunicodesupport = false;
64         }
65     }
67     if ($fullunicodesupport) {
68         $optionalsubsystems->add(new admin_setting_configcheckbox(
69             'allowemojipicker',
70             new lang_string('allowemojipicker', 'admin'),
71             new lang_string('configallowemojipicker', 'admin'),
72             1
73         ));
74     } else {
75         $optionalsubsystems->add(new admin_setting_description(
76             'allowemojipicker',
77             new lang_string('allowemojipicker', 'admin'),
78             new lang_string('configallowemojipickerincompatible', 'admin')
79         ));
80     }
81 }