MDL-9076 - Move the 'Add 3 more overall feedbacks' button inside that group of elements on the quiz settings form.

To make this possible, I added an extra argument to the repeat_elements method, which other people may find helpful on other forms.

backported from HEAD.
This commit is contained in:
tjhunt
2007-10-09 15:45:11 +00:00
parent 2bb9c62bf8
commit 947d3349ab
3 changed files with 9 additions and 3 deletions
+1
View File
@@ -10,6 +10,7 @@ $string['action'] = 'Action';
$string['adaptive'] = 'Adaptive mode';
$string['addcategory'] = 'Add category';
$string['addingquestions'] = 'This side of the page is where you manage your database of questions. Questions are stored in categories to help you keep them organised, and can be used by any quiz in your course or even other courses if you choose to \'publish\' them. <br /><br />After you select or create a question category you will be able to create or edit questions. You can select any of these questions to add to your quiz over on the other side of this page.';
$string['addmoreoverallfeedbacks'] = 'Add {no} more feedback fields';
$string['addquestions'] = 'Add questions';
$string['addquestionstoquiz'] = 'Add questions to current quiz';
$string['addrandom'] = 'Add $a random questions';
+6 -2
View File
@@ -446,9 +446,11 @@ class moodleform {
* @param string $addfieldsname name for button to add more fields
* @param int $addfieldsno how many fields to add at a time
* @param string $addstring name of button, {no} is replaced by no of blanks that will be added.
* @param boolean $addbuttoninside if true, don't call closeHeaderBefore($addfieldsname). Default false.
* @return int no of repeats of element in this page
*/
function repeat_elements($elementobjs, $repeats, $options, $repeathiddenname, $addfieldsname, $addfieldsno=5, $addstring=null){
function repeat_elements($elementobjs, $repeats, $options, $repeathiddenname,
$addfieldsname, $addfieldsno=5, $addstring=null, $addbuttoninside=false){
if ($addstring===null){
$addstring = get_string('addfields', 'form', $addfieldsno);
} else {
@@ -520,7 +522,9 @@ class moodleform {
}
$mform->addElement('submit', $addfieldsname, $addstring);
$mform->closeHeaderBefore($addfieldsname);
if (!$addbuttoninside) {
$mform->closeHeaderBefore($addfieldsname);
}
return $repeats;
}
+2 -1
View File
@@ -227,7 +227,8 @@ class mod_quiz_mod_form extends moodleform_mod {
$mform->setType('feedbackboundaries', PARAM_NOTAGS);
$nextel=$this->repeat_elements($repeatarray, $numfeedbacks-1,
array(), 'boundary_repeats', 'boundary_add_fields', 3);
array(), 'boundary_repeats', 'boundary_add_fields', 3,
get_string('addmoreoverallfeedbacks', 'quiz'), true);
//put some extra elements in before the button
$insertEl = &MoodleQuickForm::createElement('text', "feedbacktext[$nextel]", get_string('feedback', 'quiz'), array('size' => 50));