[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/mod/assign/ -> settings.php (source)

   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * This file adds the settings pages to the navigation menu
  19   *
  20   * @package   mod_assign
  21   * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  22   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23   */
  24  
  25  defined('MOODLE_INTERNAL') || die;
  26  
  27  require_once($CFG->dirroot . '/mod/assign/adminlib.php');
  28  
  29  $ADMIN->add('modsettings', new admin_category('modassignfolder', new lang_string('pluginname', 'mod_assign'), $module->is_enabled() === false));
  30  
  31  $settings = new admin_settingpage($section, get_string('settings', 'mod_assign'), 'moodle/site:config', $module->is_enabled() === false);
  32  
  33  if ($ADMIN->fulltree) {
  34      $menu = array();
  35      foreach (core_component::get_plugin_list('assignfeedback') as $type => $notused) {
  36          $visible = !get_config('assignfeedback_' . $type, 'disabled');
  37          if ($visible) {
  38              $menu['assignfeedback_' . $type] = new lang_string('pluginname', 'assignfeedback_' . $type);
  39          }
  40      }
  41  
  42      // The default here is feedback_comments (if it exists).
  43      $name = new lang_string('feedbackplugin', 'mod_assign');
  44      $description = new lang_string('feedbackpluginforgradebook', 'mod_assign');
  45      $settings->add(new admin_setting_configselect('assign/feedback_plugin_for_gradebook',
  46                                                    $name,
  47                                                    $description,
  48                                                    'assignfeedback_comments',
  49                                                    $menu));
  50  
  51      $name = new lang_string('showrecentsubmissions', 'mod_assign');
  52      $description = new lang_string('configshowrecentsubmissions', 'mod_assign');
  53      $settings->add(new admin_setting_configcheckbox('assign/showrecentsubmissions',
  54                                                      $name,
  55                                                      $description,
  56                                                      0));
  57  
  58      $name = new lang_string('sendsubmissionreceipts', 'mod_assign');
  59      $description = new lang_string('sendsubmissionreceipts_help', 'mod_assign');
  60      $settings->add(new admin_setting_configcheckbox('assign/submissionreceipts',
  61                                                      $name,
  62                                                      $description,
  63                                                      1));
  64  
  65      $name = new lang_string('submissionstatement', 'mod_assign');
  66      $description = new lang_string('submissionstatement_help', 'mod_assign');
  67      $default = get_string('submissionstatementdefault', 'mod_assign');
  68      $settings->add(new admin_setting_configtextarea('assign/submissionstatement',
  69                                                      $name,
  70                                                      $description,
  71                                                      $default));
  72  
  73      $name = new lang_string('maxperpage', 'mod_assign');
  74      $options = array(
  75          -1 => get_string('unlimitedpages', 'mod_assign'),
  76          10 => 10,
  77          20 => 20,
  78          50 => 50,
  79          100 => 100,
  80      );
  81      $description = new lang_string('maxperpage_help', 'mod_assign');
  82      $settings->add(new admin_setting_configselect('assign/maxperpage',
  83                                                      $name,
  84                                                      $description,
  85                                                      -1,
  86                                                      $options));
  87  
  88      $name = new lang_string('defaultsettings', 'mod_assign');
  89      $description = new lang_string('defaultsettings_help', 'mod_assign');
  90      $settings->add(new admin_setting_heading('defaultsettings', $name, $description));
  91  
  92      $name = new lang_string('alwaysshowdescription', 'mod_assign');
  93      $description = new lang_string('alwaysshowdescription_help', 'mod_assign');
  94      $setting = new admin_setting_configcheckbox('assign/alwaysshowdescription',
  95                                                      $name,
  96                                                      $description,
  97                                                      1);
  98      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
  99      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 100      $settings->add($setting);
 101  
 102      $name = new lang_string('allowsubmissionsfromdate', 'mod_assign');
 103      $description = new lang_string('allowsubmissionsfromdate_help', 'mod_assign');
 104      $setting = new admin_setting_configduration('assign/allowsubmissionsfromdate',
 105                                                      $name,
 106                                                      $description,
 107                                                      0);
 108      $setting->set_enabled_flag_options(admin_setting_flag::ENABLED, true);
 109      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 110      $settings->add($setting);
 111  
 112      $name = new lang_string('duedate', 'mod_assign');
 113      $description = new lang_string('duedate_help', 'mod_assign');
 114      $setting = new admin_setting_configduration('assign/duedate',
 115                                                      $name,
 116                                                      $description,
 117                                                      604800);
 118      $setting->set_enabled_flag_options(admin_setting_flag::ENABLED, true);
 119      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 120      $settings->add($setting);
 121  
 122      $name = new lang_string('cutoffdate', 'mod_assign');
 123      $description = new lang_string('cutoffdate_help', 'mod_assign');
 124      $setting = new admin_setting_configduration('assign/cutoffdate',
 125                                                      $name,
 126                                                      $description,
 127                                                      1209600);
 128      $setting->set_enabled_flag_options(admin_setting_flag::ENABLED, false);
 129      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 130      $settings->add($setting);
 131  
 132      $name = new lang_string('submissiondrafts', 'mod_assign');
 133      $description = new lang_string('submissiondrafts_help', 'mod_assign');
 134      $setting = new admin_setting_configcheckbox('assign/submissiondrafts',
 135                                                      $name,
 136                                                      $description,
 137                                                      0);
 138      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 139      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 140      $settings->add($setting);
 141  
 142      $name = new lang_string('requiresubmissionstatement', 'mod_assign');
 143      $description = new lang_string('requiresubmissionstatement_help', 'mod_assign');
 144      $setting = new admin_setting_configcheckbox('assign/requiresubmissionstatement',
 145                                                      $name,
 146                                                      $description,
 147                                                      0);
 148      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 149      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 150      $settings->add($setting);
 151  
 152      // Constants from "locallib.php".
 153      $options = array(
 154          'none' => get_string('attemptreopenmethod_none', 'mod_assign'),
 155          'manual' => get_string('attemptreopenmethod_manual', 'mod_assign'),
 156          'untilpass' => get_string('attemptreopenmethod_untilpass', 'mod_assign')
 157      );
 158      $name = new lang_string('attemptreopenmethod', 'mod_assign');
 159      $description = new lang_string('attemptreopenmethod_help', 'mod_assign');
 160      $setting = new admin_setting_configselect('assign/attemptreopenmethod',
 161                                                      $name,
 162                                                      $description,
 163                                                      'none',
 164                                                      $options);
 165      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 166      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 167      $settings->add($setting);
 168  
 169      // Constants from "locallib.php".
 170      $options = array(-1 => get_string('unlimitedattempts', 'mod_assign'));
 171      $options += array_combine(range(1, 30), range(1, 30));
 172      $name = new lang_string('maxattempts', 'mod_assign');
 173      $description = new lang_string('maxattempts_help', 'mod_assign');
 174      $setting = new admin_setting_configselect('assign/maxattempts',
 175                                                      $name,
 176                                                      $description,
 177                                                      -1,
 178                                                      $options);
 179      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 180      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 181      $settings->add($setting);
 182  
 183      $name = new lang_string('teamsubmission', 'mod_assign');
 184      $description = new lang_string('teamsubmission_help', 'mod_assign');
 185      $setting = new admin_setting_configcheckbox('assign/teamsubmission',
 186                                                      $name,
 187                                                      $description,
 188                                                      0);
 189      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 190      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 191      $settings->add($setting);
 192  
 193      $name = new lang_string('preventsubmissionnotingroup', 'mod_assign');
 194      $description = new lang_string('preventsubmissionnotingroup_help', 'mod_assign');
 195      $setting = new admin_setting_configcheckbox('assign/preventsubmissionnotingroup',
 196          $name,
 197          $description,
 198          0);
 199      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 200      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 201      $settings->add($setting);
 202  
 203      $name = new lang_string('requireallteammemberssubmit', 'mod_assign');
 204      $description = new lang_string('requireallteammemberssubmit_help', 'mod_assign');
 205      $setting = new admin_setting_configcheckbox('assign/requireallteammemberssubmit',
 206                                                      $name,
 207                                                      $description,
 208                                                      0);
 209      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 210      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 211      $settings->add($setting);
 212  
 213      $name = new lang_string('teamsubmissiongroupingid', 'mod_assign');
 214      $description = new lang_string('teamsubmissiongroupingid_help', 'mod_assign');
 215      $setting = new admin_setting_configempty('assign/teamsubmissiongroupingid',
 216                                                      $name,
 217                                                      $description);
 218      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 219      $settings->add($setting);
 220  
 221      $name = new lang_string('sendnotifications', 'mod_assign');
 222      $description = new lang_string('sendnotifications_help', 'mod_assign');
 223      $setting = new admin_setting_configcheckbox('assign/sendnotifications',
 224                                                      $name,
 225                                                      $description,
 226                                                      0);
 227      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 228      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 229      $settings->add($setting);
 230  
 231      $name = new lang_string('sendlatenotifications', 'mod_assign');
 232      $description = new lang_string('sendlatenotifications_help', 'mod_assign');
 233      $setting = new admin_setting_configcheckbox('assign/sendlatenotifications',
 234                                                      $name,
 235                                                      $description,
 236                                                      0);
 237      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 238      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 239      $settings->add($setting);
 240  
 241      $name = new lang_string('sendstudentnotificationsdefault', 'mod_assign');
 242      $description = new lang_string('sendstudentnotificationsdefault_help', 'mod_assign');
 243      $setting = new admin_setting_configcheckbox('assign/sendstudentnotifications',
 244                                                      $name,
 245                                                      $description,
 246                                                      1);
 247      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 248      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 249      $settings->add($setting);
 250  
 251      $name = new lang_string('blindmarking', 'mod_assign');
 252      $description = new lang_string('blindmarking_help', 'mod_assign');
 253      $setting = new admin_setting_configcheckbox('assign/blindmarking',
 254                                                      $name,
 255                                                      $description,
 256                                                      0);
 257      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 258      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 259      $settings->add($setting);
 260  
 261      $name = new lang_string('markingworkflow', 'mod_assign');
 262      $description = new lang_string('markingworkflow_help', 'mod_assign');
 263      $setting = new admin_setting_configcheckbox('assign/markingworkflow',
 264                                                      $name,
 265                                                      $description,
 266                                                      0);
 267      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 268      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 269      $settings->add($setting);
 270  
 271      $name = new lang_string('markingallocation', 'mod_assign');
 272      $description = new lang_string('markingallocation_help', 'mod_assign');
 273      $setting = new admin_setting_configcheckbox('assign/markingallocation',
 274                                                      $name,
 275                                                      $description,
 276                                                      0);
 277      $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
 278      $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
 279      $settings->add($setting);
 280  }
 281  
 282  $ADMIN->add('modassignfolder', $settings);
 283  // Tell core we already added the settings structure.
 284  $settings = null;
 285  
 286  $ADMIN->add('modassignfolder', new admin_category('assignsubmissionplugins',
 287      new lang_string('submissionplugins', 'assign'), !$module->is_enabled()));
 288  $ADMIN->add('assignsubmissionplugins', new assign_admin_page_manage_assign_plugins('assignsubmission'));
 289  $ADMIN->add('modassignfolder', new admin_category('assignfeedbackplugins',
 290      new lang_string('feedbackplugins', 'assign'), !$module->is_enabled()));
 291  $ADMIN->add('assignfeedbackplugins', new assign_admin_page_manage_assign_plugins('assignfeedback'));
 292  
 293  foreach (core_plugin_manager::instance()->get_plugins_of_type('assignsubmission') as $plugin) {
 294      /** @var \mod_assign\plugininfo\assignsubmission $plugin */
 295      $plugin->load_settings($ADMIN, 'assignsubmissionplugins', $hassiteconfig);
 296  }
 297  
 298  foreach (core_plugin_manager::instance()->get_plugins_of_type('assignfeedback') as $plugin) {
 299      /** @var \mod_assign\plugininfo\assignfeedback $plugin */
 300      $plugin->load_settings($ADMIN, 'assignfeedbackplugins', $hassiteconfig);
 301  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1