MDL-52999 mod_assign: Fix subplugins handling in external functions

This commit is contained in:
Juan Leyva
2016-02-09 11:22:01 +01:00
parent 9d5d9c64ff
commit 69115a5a14
5 changed files with 21 additions and 13 deletions
+15 -9
View File
@@ -1639,9 +1639,11 @@ class mod_assign_external extends external_api {
$pluginsubmissionparams = array();
foreach ($instance->get_submission_plugins() as $plugin) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginsubmissionparams = array_merge($pluginsubmissionparams, $pluginparams);
if ($plugin->is_visible()) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginsubmissionparams = array_merge($pluginsubmissionparams, $pluginparams);
}
}
}
@@ -1716,9 +1718,11 @@ class mod_assign_external extends external_api {
$pluginfeedbackparams = array();
foreach ($instance->get_feedback_plugins() as $plugin) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
if ($plugin->is_visible()) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
}
}
}
@@ -1856,9 +1860,11 @@ class mod_assign_external extends external_api {
$pluginfeedbackparams = array();
foreach ($instance->get_feedback_plugins() as $plugin) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
if ($plugin->is_visible()) {
$pluginparams = $plugin->get_external_parameters();
if (!empty($pluginparams)) {
$pluginfeedbackparams = array_merge($pluginfeedbackparams, $pluginparams);
}
}
}
+1 -1
View File
@@ -490,7 +490,7 @@ class assign_feedback_comments extends assign_feedback_plugin {
public function get_external_parameters() {
$editorparams = array('text' => new external_value(PARAM_RAW, 'The text for this feedback.'),
'format' => new external_value(PARAM_INT, 'The format for this feedback'));
$editorstructure = new external_single_structure($editorparams);
$editorstructure = new external_single_structure($editorparams, 'Editor structure', VALUE_OPTIONAL);
return array('assignfeedbackcomments_editor' => $editorstructure);
}
+2 -1
View File
@@ -618,7 +618,8 @@ class assign_feedback_file extends assign_feedback_plugin {
return array(
'files_filemanager' => new external_value(
PARAM_INT,
'The id of a draft area containing files for this feedback.'
'The id of a draft area containing files for this feedback.',
VALUE_OPTIONAL
)
);
}
+2 -1
View File
@@ -528,7 +528,8 @@ class assign_submission_file extends assign_submission_plugin {
return array(
'files_filemanager' => new external_value(
PARAM_INT,
'The id of a draft area containing files for this submission.'
'The id of a draft area containing files for this submission.',
VALUE_OPTIONAL
)
);
}
@@ -618,7 +618,7 @@ class assign_submission_onlinetext extends assign_submission_plugin {
$editorparams = array('text' => new external_value(PARAM_TEXT, 'The text for this submission.'),
'format' => new external_value(PARAM_INT, 'The format for this submission'),
'itemid' => new external_value(PARAM_INT, 'The draft area id for files attached to the submission'));
$editorstructure = new external_single_structure($editorparams);
$editorstructure = new external_single_structure($editorparams, 'Editor structure', VALUE_OPTIONAL);
return array('onlinetext_editor' => $editorstructure);
}