Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   1  <?php
   2  
   3  if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
   4  
   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));
   7  
   8      $optionalsubsystems->add(new admin_setting_configcheckbox('usetags', new lang_string('usetags','admin'),new lang_string('configusetags', 'admin'), '1'));
   9  
  10      $optionalsubsystems->add(new admin_setting_configcheckbox('enablenotes', new lang_string('enablenotes', 'notes'), new lang_string('configenablenotes', 'notes'), 1));
  11  
  12      $optionalsubsystems->add(new admin_setting_configcheckbox('enableportfolios', new lang_string('enabled', 'portfolio'), new lang_string('enableddesc', 'portfolio'), 0));
  13  
  14      $optionalsubsystems->add(new admin_setting_configcheckbox('enablewebservices', new lang_string('enablewebservices', 'admin'), new lang_string('configenablewebservices', 'admin'), 0));
  15  
  16      $optionalsubsystems->add(new admin_setting_configcheckbox('enablestats', new lang_string('enablestats', 'admin'), new lang_string('configenablestats', 'admin'), 0));
  17  
  18      $optionalsubsystems->add(new admin_setting_configcheckbox('enablerssfeeds', new lang_string('enablerssfeeds', 'admin'), new lang_string('configenablerssfeeds', 'admin'), 0));
  19  
  20      $optionalsubsystems->add(new admin_setting_configcheckbox('enableblogs', new lang_string('enableblogs', 'admin'), new lang_string('configenableblogs', 'admin'), 1));
  21  
  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));
  24  
  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));
  29  
  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));
  36  
  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);
  41  
  42      $optionalsubsystems->add(new admin_setting_configcheckbox('enableplagiarism', new lang_string('enableplagiarism','plagiarism'), new lang_string('configenableplagiarism','plagiarism'), 0));
  43  
  44      $optionalsubsystems->add(new admin_setting_configcheckbox('enablebadges', new lang_string('enablebadges', 'badges'), new lang_string('configenablebadges', 'badges'), 1));
  45  
  46      $optionalsubsystems->add(new admin_setting_configcheckbox('enableglobalsearch', new lang_string('enableglobalsearch', 'admin'),
  47          new lang_string('enableglobalsearch_desc', 'admin'), 0, 1, 0));
  48  
  49      $optionalsubsystems->add(new admin_setting_configcheckbox('allowstealth', new lang_string('allowstealthmodules'),
  50          new lang_string('allowstealthmodules_help'), 0, 1, 0));
  51  
  52      $optionalsubsystems->add(new admin_setting_configcheckbox('enableanalytics', new lang_string('enableanalytics', 'admin'),
  53          new lang_string('configenableanalytics', 'admin'), 1, 1, 0));
  54  
  55      $fullunicodesupport = true;
  56      if ($DB->get_dbfamily() == 'mysql') {
  57          $collation = $DB->get_dbcollation();
  58          $collationinfo = explode('_', $collation);
  59          $charset = reset($collationinfo);
  60          $fullunicodesupport = $charset === 'utf8mb4';
  61      }
  62  
  63      if ($fullunicodesupport) {
  64          $optionalsubsystems->add(new admin_setting_configcheckbox(
  65              'allowemojipicker',
  66              new lang_string('allowemojipicker', 'admin'),
  67              new lang_string('configallowemojipicker', 'admin'),
  68              1
  69          ));
  70      } else {
  71          $optionalsubsystems->add(new admin_setting_description(
  72              'allowemojipicker',
  73              new lang_string('allowemojipicker', 'admin'),
  74              new lang_string('configallowemojipickerincompatible', 'admin')
  75          ));
  76      }
  77  }