Development:Calculated question back to quiz button
From MoodleDocs
Template:Calculated question dev docs
Controlling the display of the Back to quiz editing button
The question\type\datasetdependent\datasetitems.php which code the display of the third and last form of the creation of a calculated question have been modified so that when there is no data the Back to quiz editing button does not appears items but instead there is a warning.
When the user as clicked once on the Add button,
- the question parameters are save.
- the dataset definitions are updated
- the first data items set is saved
and a valid but perhaps incomplete calculated question is created.
The Back to quiz editing button appears.
the following code in question\type\datasetdependent\datasetitems.php do the trick.
$strdataitemneed = get_string('dataitemneed', 'quiz'); if (!empty($table->data)) { echo "<form method=\"post\" action=\"question.php\"> <input type=\"hidden\" name=\"id\" value=\"$question->id\"/> <input type=\"hidden\" name=\"category\" value=\"$question->category\"/> <input type=\"hidden\" name=\"qtype\" value=\"$question->qtype\"/> <input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\"/> <input type=\"hidden\" name=\"wizardpage\" value=\"datasetitems\"/>"; echo " ".$datatableoption."<\p>"; print_table($table); // this prints the remove button and the actual sets of data items echo "</form>"; // this form returns to datasetitems.php to remove one set of data items echo "<center><br /><br /><form method=\"post\" action=\"question.php\"> <input type=\"hidden\" name=\"id\" value=\"$question->id\"/> <input type=\"hidden\" name=\"category\" value=\"$question->category\"/> <input type=\"hidden\" name=\"qtype\" value=\"$question->qtype\"/> <input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\"/> <input type=\"hidden\" name=\"wizardpage\" value=\"datasetitems\"/> <input type=\"submit\" name=\"backtoquiz\" value=\"$strbacktoquiz\"> </form></center>\n";// this form returns to datasetitems.php and exits to quiz edition } else { notify( $strdataitemneed );// }
in /;lib/quiz.php $string['dataitemneed'] = 'You need to add at least one set of data items to get a valid question';