MDL-41885 modules now declare use of question bank
* FEATURE_USES_QUESTION_BANK is now a module_supports flag which declares that an activity uses the question engine. * question_module_uses_questions can be used to determine if a module uses the question bank.
This commit is contained in:
@@ -433,6 +433,9 @@ define('FEATURE_BACKUP_MOODLE2', 'backup_moodle2');
|
||||
/** True if module can show description on course main page */
|
||||
define('FEATURE_SHOW_DESCRIPTION', 'showdescription');
|
||||
|
||||
/** True if module uses the question bank */
|
||||
define('FEATURE_USES_QUESTIONS', 'usesquestions');
|
||||
|
||||
/** Unspecified module archetype */
|
||||
define('MOD_ARCHETYPE_OTHER', 0);
|
||||
/** Resource-like type module */
|
||||
|
||||
@@ -2054,3 +2054,23 @@ function question_page_type_list($pagetype, $parentcontext, $currentcontext) {
|
||||
return $types;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Does an activity module use the question bank?
|
||||
*
|
||||
* @param string $modname The name of the module (without mod_ prefix).
|
||||
* @return bool true if the module uses questions.
|
||||
*/
|
||||
function question_module_uses_questions($modname) {
|
||||
if (plugin_supports('mod', $modname, FEATURE_USES_QUESTIONS)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$component = 'mod_'.$modname;
|
||||
if (component_callback_exists($component, 'question_pluginfile')) {
|
||||
debugging("{$component} uses questions but doesn't declare FEATURE_USES_QUESTIONS", DEBUG_DEVELOPER);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1547,6 +1547,7 @@ function quiz_supports($feature) {
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_CONTROLS_GRADE_VISIBILITY: return true;
|
||||
case FEATURE_USES_QUESTIONS: return true;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
This files describes API changes in /mod/* - activity modules,
|
||||
information provided here is intended especially for developers.
|
||||
|
||||
=== 2.6 ===
|
||||
|
||||
* Modules using the question bank MUST now declare their use of it with the xxx_supports()
|
||||
flag FEATURE_USES_QUESTIONS.
|
||||
|
||||
=== 2.5 ===
|
||||
|
||||
|
||||
@@ -2,7 +2,11 @@ This files describes API changes for code that uses the question API.
|
||||
|
||||
=== 2.6 ===
|
||||
|
||||
1) It is sometimes necessary to display bits of question content without having
|
||||
1) Modules using the question bank MUST now declare their use of it with the xxx_supports()
|
||||
flag FEATURE_USES_QUESTIONS. question_module_uses_questions() should be used to determine
|
||||
if a module uses questions.
|
||||
|
||||
2) It is sometimes necessary to display bits of question content without having
|
||||
and attempt (question_usage) in progress. Two examples of this are the option
|
||||
in the question bank to display the questiontext, and in the quiz statistics
|
||||
report, where it displays the question text above the report.
|
||||
|
||||
Reference in New Issue
Block a user