From: David Mudrak Date: Mon, 4 Jan 2010 18:00:02 +0000 (+0000) Subject: MDL-20192 Moving settings.php into suplugins and a small fix X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c333a49eccf0f76f938a9ae354107ac940bd2c66;p=moodle.git MDL-20192 Moving settings.php into suplugins and a small fix --- diff --git a/mod/workshop/editform.php b/mod/workshop/editform.php index 35d36ae7c5..ef6c7d0e31 100644 --- a/mod/workshop/editform.php +++ b/mod/workshop/editform.php @@ -67,7 +67,7 @@ if ($mform->is_cancelled()) { // Output starts here echo $OUTPUT->header(); -echo $OUTPUT->heading(get_string('strategy' . $workshop->strategy, 'workshop')); +echo $OUTPUT->heading(get_string('pluginname', 'workshopgrading_' . $workshop->strategy)); $mform->display(); diff --git a/mod/workshop/grading/noerrors/edit_form.php b/mod/workshop/grading/noerrors/edit_form.php index 1e03e8a7f3..9f78138aae 100644 --- a/mod/workshop/grading/noerrors/edit_form.php +++ b/mod/workshop/grading/noerrors/edit_form.php @@ -44,7 +44,7 @@ class workshop_edit_noerrors_strategy_form extends workshop_edit_strategy_form { */ protected function definition_inner(&$mform) { - $workshopconfig = get_config('workshop'); + $plugindefaults = get_config('workshopgrading_noerrors'); $nodimensions = $this->_customdata['nodimensions']; // number of currently filled dimensions $norepeats = $this->_customdata['norepeats']; // number of dimensions to display $descriptionopts = $this->_customdata['descriptionopts']; // wysiwyg fields options @@ -62,10 +62,10 @@ class workshop_edit_noerrors_strategy_form extends workshop_edit_strategy_form { $mform->addElement('editor', 'description__idx_'.$i.'_editor', get_string('dimensiondescription', 'workshopgrading_noerrors'), '', $descriptionopts); $mform->addElement('text', 'grade0__idx_'.$i, get_string('grade0', 'workshopgrading_noerrors'), array('size'=>'15')); - $mform->setDefault('grade0__idx_'.$i, $workshopconfig->noerrorsgrade0); + $mform->setDefault('grade0__idx_'.$i, $plugindefaults->grade0); $mform->setType('grade0__idx_'.$i, PARAM_TEXT); $mform->addElement('text', 'grade1__idx_'.$i, get_string('grade1', 'workshopgrading_noerrors'), array('size'=>'15')); - $mform->setDefault('grade1__idx_'.$i, $workshopconfig->noerrorsgrade1); + $mform->setDefault('grade1__idx_'.$i, $plugindefaults->grade1); $mform->setType('grade1__idx_'.$i, PARAM_TEXT); $mform->addElement('select', 'weight__idx_'.$i, get_string('dimensionweight', 'workshopgrading_noerrors'), $weights); $mform->setDefault('weight__idx_'.$i, 1); diff --git a/mod/workshop/grading/noerrors/settings.php b/mod/workshop/grading/noerrors/settings.php new file mode 100644 index 0000000000..6567b9a39e --- /dev/null +++ b/mod/workshop/grading/noerrors/settings.php @@ -0,0 +1,36 @@ +. + +/** + * The configuration variables for "Number of errors" grading strategy + * + * The values defined here are often used as defaults for all module instances. + * + * @package mod-workshop + * @copyright 2009 David Mudrak + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +$settings->add(new admin_setting_configtext('workshopgrading_noerrors/grade0', get_string('grade0', 'workshopgrading_noerrors'), + get_string('configgrade0', 'workshopgrading_noerrors'), + get_string('grade0default', 'workshopgrading_noerrors'), $paramtype=PARAM_TEXT, $size=15)); + +$settings->add(new admin_setting_configtext('workshopgrading_noerrors/grade1', get_string('grade1', 'workshopgrading_noerrors'), + get_string('configgrade1', 'workshopgrading_noerrors'), + get_string('grade1default', 'workshopgrading_noerrors'), $paramtype=PARAM_TEXT, $size=15)); diff --git a/mod/workshop/settings.php b/mod/workshop/settings.php index 6ae78675e1..972ebb0c53 100644 --- a/mod/workshop/settings.php +++ b/mod/workshop/settings.php @@ -65,15 +65,12 @@ foreach (workshop_get_comparison_levels() as $code => $level) { $settings->add(new admin_setting_configselect('workshop/assessmentcomps', get_string('assessmentcomps', 'workshop'), get_string('configassessmentcomps', 'workshop'), WORKSHOP_COMPARISON_NORMAL, $levels)); -$settings->add(new admin_setting_configtext('workshop/noerrorsgrade0', get_string('noerrorsgrade0', 'workshop'), - get_string('confignoerrorsgrade0', 'workshop'), get_string('noerrorsgrade0default', 'workshop'), - $paramtype=PARAM_TEXT, $size=15)); - -$settings->add(new admin_setting_configtext('workshop/noerrorsgrade1', get_string('noerrorsgrade1', 'workshop'), - get_string('confignoerrorsgrade1', 'workshop'), get_string('noerrorsgrade1default', 'workshop'), - $paramtype=PARAM_TEXT, $size=15)); - -/* -$settings->add(new admin_setting_configcheckbox('assignment_showrecentsubmissions', get_string('showrecentsubmissions', 'assignment'), - get_string('configshowrecentsubmissions', 'assignment'), 1)); -*/ +// include the settings of grading strategy subplugins +$strategies = get_plugin_list('workshopgrading'); +foreach ($strategies as $strategy => $path) { + if (file_exists($settingsfile = $path . '/settings.php')) { + $settings->add(new admin_setting_heading('workshopgradingsetting'.$strategy, + get_string('pluginname', 'workshopgrading_' . $strategy), '')); + include($settingsfile); + } +}