MDL-61407 question: Allow formatters to ignore caps

This commit is contained in:
Andrew Nicols
2018-05-02 19:10:24 +08:00
parent e9419db48d
commit b3753e60fa
3 changed files with 14 additions and 6 deletions
+1 -1
View File
@@ -1789,7 +1789,7 @@ function question_pluginfile($course, $context, $component, $filearea, $args, $f
}
// export data to moodle file pool
if (!$content = $qformat->exportprocess(true)) {
if (!$content = $qformat->exportprocess()) {
send_file_not_found();
}
+7 -5
View File
@@ -759,11 +759,13 @@ class qformat_default {
}
/**
* Do the export
* For most types this should not need to be overrided
* @return stored_file
* Perform the export.
* For most types this should not need to be overrided.
*
* @param bool $checkcapabilities Whether to check capabilities when exporting the questions.
* @return string The content of the export.
*/
public function exportprocess() {
public function exportprocess($checkcapabilities = true) {
global $CFG, $OUTPUT, $DB, $USER;
// get the questions (from database) in this category
@@ -823,7 +825,7 @@ class qformat_default {
// export the question displaying message
$count++;
if (question_has_capability_on($question, 'view', $question->category)) {
if (!$checkcapabilities || question_has_capability_on($question, 'view', $question->category)) {
$expout .= $this->writequestion($question, $contextid) . "\n";
}
}
+6
View File
@@ -1,5 +1,11 @@
This files describes API changes for code that uses the question API.
=== 3.5 ===
1) The question format exportprocess function now adds a
$checkcapabilities boolean to allow questions to be exported in
certain circumstances.
=== 3.2 ===
1) The following renderers have been deprecated in favour of the renderable