MDL-85598 course: review activities purposes values
This commit is contained in:
@@ -5806,4 +5806,154 @@ EOT;
|
||||
$pluginlist = get_plugin_list_with_function('fake', 'test_callback');
|
||||
$this->assertArrayNotHasKey('fake_fullfeatured', $pluginlist);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that plugin_supports returns the correct purpose values for activity plugins.
|
||||
*
|
||||
* @dataProvider provider_plugin_supports_purpose
|
||||
* @param string $modname
|
||||
* @param string $purpose
|
||||
* @param string|null $otherpurpose
|
||||
* @return void
|
||||
*/
|
||||
public function test_plugin_supports_purpose(
|
||||
string $modname,
|
||||
string $purpose,
|
||||
?string $otherpurpose
|
||||
): void {
|
||||
$this->assertEquals(
|
||||
$purpose,
|
||||
plugin_supports('mod', $modname, FEATURE_MOD_PURPOSE),
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$otherpurpose,
|
||||
plugin_supports('mod', $modname, FEATURE_MOD_OTHERPURPOSE),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider for plugin_supports_purpose tests.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function provider_plugin_supports_purpose(): array {
|
||||
return [
|
||||
'assign' => [
|
||||
'modname' => 'assign',
|
||||
'purpose' => MOD_PURPOSE_ASSESSMENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'bigbluebuttonbn' => [
|
||||
'modname' => 'bigbluebuttonbn',
|
||||
'purpose' => MOD_PURPOSE_COMMUNICATION,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'book' => [
|
||||
'modname' => 'book',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'choice' => [
|
||||
'modname' => 'choice',
|
||||
'purpose' => MOD_PURPOSE_COMMUNICATION,
|
||||
'otherpurpose' => MOD_PURPOSE_COLLABORATION,
|
||||
],
|
||||
'data' => [
|
||||
'modname' => 'data',
|
||||
'purpose' => MOD_PURPOSE_COLLABORATION,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'feedback' => [
|
||||
'modname' => 'feedback',
|
||||
'purpose' => MOD_PURPOSE_COMMUNICATION,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'folder' => [
|
||||
'modname' => 'folder',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'forum' => [
|
||||
'modname' => 'forum',
|
||||
'purpose' => MOD_PURPOSE_COLLABORATION,
|
||||
'otherpurpose' => MOD_PURPOSE_COMMUNICATION,
|
||||
],
|
||||
'glossary' => [
|
||||
'modname' => 'glossary',
|
||||
'purpose' => MOD_PURPOSE_COLLABORATION,
|
||||
'otherpurpose' => MOD_PURPOSE_CONTENT,
|
||||
],
|
||||
'h5pactivity' => [
|
||||
'modname' => 'h5pactivity',
|
||||
'purpose' => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
'otherpurpose' => MOD_PURPOSE_ASSESSMENT,
|
||||
],
|
||||
'imscp' => [
|
||||
'modname' => 'imscp',
|
||||
'purpose' => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
'otherpurpose' => MOD_PURPOSE_CONTENT,
|
||||
],
|
||||
'label' => [
|
||||
'modname' => 'label',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'lesson' => [
|
||||
'modname' => 'lesson',
|
||||
'purpose' => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
'otherpurpose' => MOD_PURPOSE_ASSESSMENT,
|
||||
],
|
||||
'lti' => [
|
||||
'modname' => 'lti',
|
||||
'purpose' => MOD_PURPOSE_OTHER,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'page' => [
|
||||
'modname' => 'page',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'qbank' => [
|
||||
'modname' => 'qbank',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'quiz' => [
|
||||
'modname' => 'quiz',
|
||||
'purpose' => MOD_PURPOSE_ASSESSMENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'resource' => [
|
||||
'modname' => 'resource',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'scorm' => [
|
||||
'modname' => 'scorm',
|
||||
'purpose' => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
'otherpurpose' => MOD_PURPOSE_CONTENT,
|
||||
],
|
||||
'subsection' => [
|
||||
'modname' => 'subsection',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'url' => [
|
||||
'modname' => 'url',
|
||||
'purpose' => MOD_PURPOSE_CONTENT,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'wiki' => [
|
||||
'modname' => 'wiki',
|
||||
'purpose' => MOD_PURPOSE_COLLABORATION,
|
||||
'otherpurpose' => null,
|
||||
],
|
||||
'workshop' => [
|
||||
'modname' => 'workshop',
|
||||
'purpose' => MOD_PURPOSE_ASSESSMENT,
|
||||
'otherpurpose' => MOD_PURPOSE_COLLABORATION,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
+17
-33
@@ -369,39 +369,23 @@ function assign_update_events($assign, $override = null) {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function assign_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
return true;
|
||||
case FEATURE_GROUPINGS:
|
||||
return true;
|
||||
case FEATURE_MOD_INTRO:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_PENALTY:
|
||||
return true;
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
return true;
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_ADVANCED_GRADING:
|
||||
return true;
|
||||
case FEATURE_PLAGIARISM:
|
||||
return true;
|
||||
case FEATURE_COMMENT:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_ASSESSMENT;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_HAS_PENALTY => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_ADVANCED_GRADING => true,
|
||||
FEATURE_PLAGIARISM => true,
|
||||
FEATURE_COMMENT => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_ASSESSMENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,10 +61,7 @@ global $CFG;
|
||||
* @uses FEATURE_SHOW_DESCRIPTION
|
||||
*/
|
||||
function bigbluebuttonbn_supports($feature) {
|
||||
if (!$feature) {
|
||||
return null;
|
||||
}
|
||||
$features = [
|
||||
return match ($feature) {
|
||||
FEATURE_IDNUMBER => true,
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
@@ -76,11 +73,8 @@ function bigbluebuttonbn_supports($feature) {
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COMMUNICATION,
|
||||
];
|
||||
if (isset($features[(string) $feature])) {
|
||||
return $features[$feature];
|
||||
}
|
||||
return null;
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-14
@@ -273,20 +273,19 @@ function book_get_post_actions() {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function book_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-25
@@ -828,31 +828,20 @@ function choice_get_response_data($choice, $cm, $groupmode, $onlyactive, ?int $g
|
||||
* @return null|true|string True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function choice_supports($feature) {
|
||||
switch ($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
return true;
|
||||
case FEATURE_GROUPINGS:
|
||||
return true;
|
||||
case FEATURE_MOD_INTRO:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
return false;
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
return false;
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_COMMUNICATION;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COMMUNICATION,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+15
-16
@@ -2600,22 +2600,21 @@ function data_get_extra_capabilities() {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function data_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GRADE_OUTCOMES: return true;
|
||||
case FEATURE_RATE: return true;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_COMMENT: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_COLLABORATION;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_RATE => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_COMMENT => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
+13
-14
@@ -57,20 +57,19 @@ require_once(__DIR__ . '/deprecatedlib.php');
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function feedback_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_COMMUNICATION;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COMMUNICATION,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-14
@@ -38,20 +38,19 @@ define('FOLDER_DISPLAY_INLINE', 1);
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function folder_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+18
-19
@@ -358,25 +358,24 @@ function forum_delete_instance($id) {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function forum_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GRADE_OUTCOMES: return true;
|
||||
case FEATURE_RATE: return true;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_PLAGIARISM: return true;
|
||||
case FEATURE_ADVANCED_GRADING: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_COLLABORATION;
|
||||
case FEATURE_CAN_UNINSTALL:
|
||||
return false;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_RATE => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_PLAGIARISM => true,
|
||||
FEATURE_ADVANCED_GRADING => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_COMMUNICATION,
|
||||
FEATURE_CAN_UNINSTALL => false,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+16
-16
@@ -3120,22 +3120,22 @@ function glossary_get_extra_capabilities() {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function glossary_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GRADE_OUTCOMES: return true;
|
||||
case FEATURE_RATE: return true;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_COMMENT: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_COLLABORATION;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_RATE => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_COMMENT => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
function glossary_extend_navigation($navigation, $course, $module, $cm) {
|
||||
|
||||
@@ -45,30 +45,20 @@ use mod_h5pactivity\xapi\handler;
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function h5pactivity_supports(string $feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
return true;
|
||||
case FEATURE_GROUPINGS:
|
||||
return true;
|
||||
case FEATURE_MOD_INTRO:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_MODEDIT_DEFAULT_COMPLETION:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
return true;
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
return true;
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_INTERACTIVECONTENT;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_MODEDIT_DEFAULT_COMPLETION => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_ASSESSMENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-15
@@ -32,21 +32,20 @@ require_once(__DIR__ . '/deprecatedlib.php');
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function imscp_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_INTERACTIVECONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-15
@@ -195,21 +195,20 @@ function label_reset_userdata($data) {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function label_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_IDNUMBER: return true;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return false;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_NO_VIEW_LINK: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_IDNUMBER => true,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => false,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_NO_VIEW_LINK => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-24
@@ -987,30 +987,20 @@ function lesson_reset_userdata($data) {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function lesson_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
return true;
|
||||
case FEATURE_GROUPINGS:
|
||||
return true;
|
||||
case FEATURE_MOD_INTRO:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES:
|
||||
return true;
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
return true;
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_INTERACTIVECONTENT;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_ASSESSMENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+12
-17
@@ -56,23 +56,18 @@ require_once(__DIR__ . '/deprecatedlib.php');
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function lti_supports($feature) {
|
||||
switch ($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
case FEATURE_GROUPINGS:
|
||||
return false;
|
||||
case FEATURE_MOD_INTRO:
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_OTHER;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_OTHER,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-14
@@ -31,20 +31,19 @@ use core\url;
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function page_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+17
-21
@@ -30,27 +30,23 @@
|
||||
* @return bool|string|null True if module supports feature, false if not, null if it doesn't know or string for the module purpose.
|
||||
*/
|
||||
function qbank_supports(string $feature) {
|
||||
switch ($feature) {
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
case FEATURE_PUBLISHES_QUESTIONS:
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
case FEATURE_USES_QUESTIONS:
|
||||
return true;
|
||||
case FEATURE_CAN_DISPLAY:
|
||||
case FEATURE_CAN_UNINSTALL:
|
||||
case FEATURE_COMMENT:
|
||||
case FEATURE_COMPLETION:
|
||||
case FEATURE_COMPLETION_HAS_RULES:
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
case FEATURE_CONTROLS_GRADE_VISIBILITY:
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
case FEATURE_MODEDIT_DEFAULT_COMPLETION:
|
||||
return false;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_CONTENT;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_PUBLISHES_QUESTIONS => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_USES_QUESTIONS => true,
|
||||
FEATURE_CAN_DISPLAY => false,
|
||||
FEATURE_CAN_UNINSTALL => false,
|
||||
FEATURE_COMMENT => false,
|
||||
FEATURE_COMPLETION => false,
|
||||
FEATURE_COMPLETION_HAS_RULES => false,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => false,
|
||||
FEATURE_CONTROLS_GRADE_VISIBILITY => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_MODEDIT_DEFAULT_COMPLETION => false,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+16
-17
@@ -1623,23 +1623,22 @@ function quiz_attempt_summary_link_to_reports($quiz, $cm, $context, $returnzero
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function quiz_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GRADE_OUTCOMES: return true;
|
||||
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;
|
||||
case FEATURE_PLAGIARISM: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_ASSESSMENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_CONTROLS_GRADE_VISIBILITY => true,
|
||||
FEATURE_USES_QUESTIONS => true,
|
||||
FEATURE_PLAGIARISM => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_ASSESSMENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-14
@@ -31,20 +31,19 @@ use core\url;
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function resource_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-15
@@ -1031,21 +1031,20 @@ function scorm_pluginfile($course, $cm, $context, $filearea, $args, $forcedownlo
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function scorm_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_COMPLETION_HAS_RULES: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GRADE_OUTCOMES: return true;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_INTERACTIVECONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_COMPLETION_HAS_RULES => true,
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GRADE_OUTCOMES => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_INTERACTIVECONTENT,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-14
@@ -31,20 +31,19 @@ defined('MOODLE_INTERNAL') || die;
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function url_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_MOD_ARCHETYPE: return MOD_ARCHETYPE_RESOURCE;
|
||||
case FEATURE_GROUPS: return false;
|
||||
case FEATURE_GROUPINGS: return false;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
|
||||
case FEATURE_GRADE_HAS_GRADE: return false;
|
||||
case FEATURE_GRADE_OUTCOMES: return false;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_CONTENT;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_MOD_ARCHETYPE => MOD_ARCHETYPE_RESOURCE,
|
||||
FEATURE_GROUPS => false,
|
||||
FEATURE_GROUPINGS => false,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_CONTENT,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
-27
@@ -277,33 +277,20 @@ function wiki_reset_course_form_definition(&$mform) {
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function wiki_supports($feature) {
|
||||
switch ($feature) {
|
||||
case FEATURE_GROUPS:
|
||||
return true;
|
||||
case FEATURE_GROUPINGS:
|
||||
return true;
|
||||
case FEATURE_MOD_INTRO:
|
||||
return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_GRADE_HAS_GRADE:
|
||||
return false;
|
||||
case FEATURE_GRADE_OUTCOMES:
|
||||
return false;
|
||||
case FEATURE_RATE:
|
||||
return false;
|
||||
case FEATURE_BACKUP_MOODLE2:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION:
|
||||
return true;
|
||||
case FEATURE_COMMENT:
|
||||
return true;
|
||||
case FEATURE_MOD_PURPOSE:
|
||||
return MOD_PURPOSE_COLLABORATION;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_GRADE_HAS_GRADE => false,
|
||||
FEATURE_GRADE_OUTCOMES => false,
|
||||
FEATURE_RATE => false,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_COMMENT => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+13
-13
@@ -50,19 +50,19 @@ define('WORKSHOP_SUBMISSION_TYPE_REQUIRED', 2);
|
||||
* @return mixed True if module supports feature, false if not, null if doesn't know or string for the module purpose.
|
||||
*/
|
||||
function workshop_supports($feature) {
|
||||
switch($feature) {
|
||||
case FEATURE_GRADE_HAS_GRADE: return true;
|
||||
case FEATURE_GROUPS: return true;
|
||||
case FEATURE_GROUPINGS: return true;
|
||||
case FEATURE_MOD_INTRO: return true;
|
||||
case FEATURE_BACKUP_MOODLE2: return true;
|
||||
case FEATURE_COMPLETION_TRACKS_VIEWS:
|
||||
return true;
|
||||
case FEATURE_SHOW_DESCRIPTION: return true;
|
||||
case FEATURE_PLAGIARISM: return true;
|
||||
case FEATURE_MOD_PURPOSE: return MOD_PURPOSE_ASSESSMENT;
|
||||
default: return null;
|
||||
}
|
||||
return match ($feature) {
|
||||
FEATURE_GRADE_HAS_GRADE => true,
|
||||
FEATURE_GROUPS => true,
|
||||
FEATURE_GROUPINGS => true,
|
||||
FEATURE_MOD_INTRO => true,
|
||||
FEATURE_BACKUP_MOODLE2 => true,
|
||||
FEATURE_COMPLETION_TRACKS_VIEWS => true,
|
||||
FEATURE_SHOW_DESCRIPTION => true,
|
||||
FEATURE_PLAGIARISM => true,
|
||||
FEATURE_MOD_PURPOSE => MOD_PURPOSE_ASSESSMENT,
|
||||
FEATURE_MOD_OTHERPURPOSE => MOD_PURPOSE_COLLABORATION,
|
||||
default => null,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user