Moodle PHP Documentation 5.1
Moodle 5.1dev (Build: 20250620) (7d9030acd6e)
|
Abstract base class for submission plugin types. More...
Public Member Functions | |
add_attempt (stdClass $oldsubmission, stdClass $newsubmission) | |
Carry out any extra processing required when a student is given a new attempt (i.e. | |
allow_image_conversion () | |
Determine if the plugin allows image file conversion. | |
allow_submissions () | |
This plugin accepts submissions from a student The comments plugin has no submission component so should not be counted when determining whether to show the edit submission link. | |
can_upgrade ($type, $version) | |
Return true if this plugin can upgrade an old Moodle 2.2 assignment of this type and version. | |
copy_submission (stdClass $oldsubmission, stdClass $submission) | |
Copy the plugin specific submission data to a new submission record. | |
data_preprocessing (&$defaultvalues) | |
Allows the plugin to update the defaultvalues passed in to the settings form (needed to set up draft areas for editor and filemanager elements) | |
delete_instance () | |
The assignment has been deleted - remove the plugin specific data. | |
disable () | |
Set this plugin to disabled. | |
enable () | |
Set this plugin to enabled. | |
get_config ($setting=null) | |
Get a configuration value for this plugin. | |
get_config_file_areas () | |
Get a list of file areas associated with the plugin configuration. | |
get_config_for_external () | |
Return the plugin configs for external functions, in some cases the configs will need formatting or be returned only if the current user has some capabilities enabled. | |
get_editor_fields () | |
Return a list of the fields that can be exported or imported via text. | |
get_editor_format ($name, $submissionid) | |
Given a field name, should return the format of an editor field that is part of this plugin. | |
get_editor_text ($name, $submissionorgradeid) | |
Given a field name, should return the text of an editor field that is part of this plugin. | |
get_error () | |
What was the last error? | |
get_external_parameters () | |
If this plugin can participate in a webservice (save_submission or save_grade), return a list of external_params to be included in the definition of that webservice. | |
get_file_areas () | |
Get file areas returns a list of areas this plugin stores files. | |
get_file_info ($browser, $filearea, $itemid, $filepath, $filename) | |
Default implementation of file_get_info for plugins. | |
get_files (stdClass $submissionorgrade, stdClass $user) | |
Produce a list of files suitable for export that represent this feedback or submission. | |
get_form_elements ($submissionorgrade, MoodleQuickForm $mform, stdClass $data) | |
Get any additional fields for the submission/grading form for this assignment. | |
get_form_elements_for_user ($submissionorgrade, MoodleQuickForm $mform, stdClass $data, $userid) | |
Get any additional fields for the submission/grading form for this assignment. | |
get_name () | |
Should return the name of this plugin type. | |
get_requires () | |
Get the required moodle version for this plugin. | |
get_settings (MoodleQuickForm $mform) | |
This function should be overridden to provide an array of elements that can be added to a moodle form for display in the settings page for the assignment. | |
get_sort_order () | |
Get the numerical sort order for this plugin. | |
get_subtype () | |
return subtype name of the plugin | |
get_type () | |
Should return the type of this plugin. | |
get_version () | |
Get the installed version of this plugin. | |
has_admin_settings () | |
Has this plugin got a custom settings.php file? | |
has_user_summary () | |
If this plugin should not include a column in the grading table or a row on the summary page then return false. | |
is_configurable () | |
If true, the plugin will appear on the module settings page and can be enabled/disabled per assignment instance. | |
is_empty (stdClass $submissionorgrade) | |
Is this assignment plugin empty? | |
is_enabled () | |
Allows hiding this plugin from the submission/feedback screen if it is not enabled. | |
is_first () | |
Is this the first plugin in the list? | |
is_last () | |
Is this the last plugin in the list? | |
is_visible () | |
Is this plugin enaled? | |
lock ($submission, stdClass $flags) | |
Carry out any extra processing required when the work is locked. | |
precheck_submission ($submission) | |
Check if the submission plugin has all the required data to allow the work to be submitted for grading. | |
remove (stdClass $submission) | |
Remove any saved data from this submission. | |
revert_to_draft (stdClass $submission) | |
Carry out any extra processing required when the work reverted to draft. | |
save (stdClass $submissionorgrade, stdClass $data) | |
Save any custom data for this form submission. | |
save_settings (stdClass $formdata) | |
The assignment subtype is responsible for saving it's own settings as the database table for the standard type cannot be modified. | |
set_config ($name, $value) | |
Set a configuration value for this plugin. | |
set_editor_format ($name, $format, $submissionorgradeid) | |
Given a field name and value should update the format for this field in the plugins submission or grade. | |
set_editor_text ($name, $value, $submissionorgradeid) | |
Given a field name and value should update the text for this field in the plugins submission or grade. | |
settings_validation (array $data, array $files) | |
This method is called when the mod_assign_mod_form is submitted. | |
submission_is_empty (stdClass $data) | |
Determine if a submission is empty. | |
submission_summary_for_messages (stdClass $submission) | |
Summarise a submission for inclusion in messages. | |
submit_for_grading ($submission) | |
Carry out any extra processing required when the work is submitted for grading. | |
unlock ($submission, stdClass $flags) | |
Carry out any extra processing required when the work is unlocked. | |
upgrade (context $oldcontext, stdClass $oldassignment, stdClass $oldsubmissionorgrade, stdClass $submissionorgrade, & $log) | |
Upgrade the submission from the old assignment to the new one. | |
upgrade_settings (context $oldcontext, stdClass $oldassignment, & $log) | |
Upgrade the settings from the old assignment to the new one. | |
view (stdClass $submissionorgrade) | |
Should not output anything - return the result as a string so it can be consumed by webservices. | |
view_header () | |
This allows a plugin to render an introductory section which is displayed right below the activity's "intro" section on the main assignment page. | |
view_page ($action) | |
This allows a plugin to render a page in the context of the assignment. | |
view_summary (stdClass $submissionorgrade, & $showviewlink) | |
Should not output anything - return the result as a string so it can be consumed by webservices. | |
Static Public Member Functions | |
static | cron () |
Run cron for this plugin. | |
Protected Member Functions | |
set_error ($msg) | |
Save the error message from the last error. | |
Protected Attributes | |
assign | $assignment |
$assignment the assignment record that contains the global settings for this assign instance | |
Abstract base class for submission plugin types.
assign_submission_plugin::add_attempt | ( | stdClass | $oldsubmission, |
stdClass | $newsubmission ) |
Carry out any extra processing required when a student is given a new attempt (i.e.
when the submission is "reopened"
stdClass | $oldsubmission | The previous attempt |
stdClass | $newsubmission | The new attempt |
assign_submission_plugin::allow_image_conversion | ( | ) |
Determine if the plugin allows image file conversion.
bool |
Reimplemented in assign_submission_file.
assign_submission_plugin::allow_submissions | ( | ) |
This plugin accepts submissions from a student The comments plugin has no submission component so should not be counted when determining whether to show the edit submission link.
boolean |
Reimplemented in assign_submission_comments.
|
inherited |
Return true if this plugin can upgrade an old Moodle 2.2 assignment of this type and version.
string | $type | The old assignment subtype |
int | $version | The old assignment version |
bool | True if upgrade is possible |
Reimplemented in assign_feedback_comments, assign_feedback_file, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
assign_submission_plugin::copy_submission | ( | stdClass | $oldsubmission, |
stdClass | $submission ) |
Copy the plugin specific submission data to a new submission record.
stdClass | $oldsubmission | - Old submission record |
stdClass | $submission | - New submission record |
bool |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Allows the plugin to update the defaultvalues passed in to the settings form (needed to set up draft areas for editor and filemanager elements)
array | $defaultvalues |
|
inherited |
The assignment has been deleted - remove the plugin specific data.
bool |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_submission_file, and assign_submission_onlinetext.
|
finalinherited |
Set this plugin to disabled.
bool |
|
finalinherited |
Set this plugin to enabled.
bool |
|
finalinherited |
Get a configuration value for this plugin.
mixed | $setting | The config key (string) or null |
mixed | string | false |
|
inherited |
Get a list of file areas associated with the plugin configuration.
This is used for backup/restore.
array | names of the fileareas, can be an empty array |
|
inherited |
Return the plugin configs for external functions, in some cases the configs will need formatting or be returned only if the current user has some capabilities enabled.
array | the list of settings |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_feedback_offline, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Return a list of the fields that can be exported or imported via text.
array | - The list of field names (strings) and descriptions. ($name => $description) |
Reimplemented in assign_feedback_comments, and assign_submission_onlinetext.
|
inherited |
Given a field name, should return the format of an editor field that is part of this plugin.
This is used when exporting to portfolio.
string | $name | Name of the field. |
int | $submissionid | The id of the submission |
int | - The format for the editor field |
Reimplemented in assign_submission_onlinetext.
|
inherited |
Given a field name, should return the text of an editor field that is part of this plugin.
This is used when exporting to portfolio.
string | $name | Name of the field. |
int | $submissionorgradeid | The id of the submission or grade |
string | - The text for the editor field |
Reimplemented in assign_feedback_comments, and assign_submission_onlinetext.
|
finalinherited |
What was the last error?
string |
|
inherited |
If this plugin can participate in a webservice (save_submission or save_grade), return a list of external_params to be included in the definition of that webservice.
external_description|null |
Reimplemented in assign_feedback_comments, assign_feedback_file, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Get file areas returns a list of areas this plugin stores files.
array | - An array of fileareas (keys) and descriptions (values) |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Default implementation of file_get_info for plugins.
This is used by the filebrowser to browse a plugins file areas.
This implementation should work for most plugins but can be overridden if required.
file_browser | $browser | |
string | $filearea | |
int | $itemid | |
string | $filepath | |
string | $filename |
file_info_stored |
|
inherited |
Produce a list of files suitable for export that represent this feedback or submission.
stdClass | $submissionorgrade | assign_submission or assign_grade For submission plugins this is the submission data, for feedback plugins it is the grade data |
stdClass | $user | The user record for the current submission. Needed for url rewriting if this is a group submission. |
array | - return an array of files indexed by filename |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Get any additional fields for the submission/grading form for this assignment.
This function is retained for backwards compatibility - new plugins should override get_form_elements_for_user().
mixed | $submissionorgrade | submission|grade - For submission plugins this is the submission data, for feedback plugins it is the grade data |
MoodleQuickForm | $mform | - This is the form |
stdClass | $data | - This is the form data that can be modified for example by a filemanager element |
boolean | - true if we added anything to the form |
Reimplemented in assign_feedback_offline, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Get any additional fields for the submission/grading form for this assignment.
mixed | $submissionorgrade | submission|grade - For submission plugins this is the submission data, for feedback plugins it is the grade data |
MoodleQuickForm | $mform | - This is the form |
stdClass | $data | - This is the form data that can be modified for example by a filemanager element |
int | $userid | - This is the userid for the current submission. This is passed separately as there may not yet be a submission or grade. |
boolean | - true if we added anything to the form |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, and assign_feedback_file.
|
abstractinherited |
Should return the name of this plugin type.
string | - the name |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_feedback_offline, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
|
finalinherited |
Get the required moodle version for this plugin.
string |
|
inherited |
This function should be overridden to provide an array of elements that can be added to a moodle form for display in the settings page for the assignment.
MoodleQuickForm | $mform | The form to add the elements to |
$array |
Reimplemented in assign_feedback_comments, assign_submission_file, and assign_submission_onlinetext.
|
finalinherited |
Get the numerical sort order for this plugin.
int |
|
final |
|
finalinherited |
Should return the type of this plugin.
string | - the type |
|
finalinherited |
Get the installed version of this plugin.
string |
|
finalinherited |
Has this plugin got a custom settings.php file?
bool |
|
inherited |
If this plugin should not include a column in the grading table or a row on the summary page then return false.
bool |
Reimplemented in assign_feedback_offline.
|
inherited |
If true, the plugin will appear on the module settings page and can be enabled/disabled per assignment instance.
bool |
Reimplemented in assign_feedback_editpdf, and assign_submission_comments.
|
inherited |
Is this assignment plugin empty?
(ie no submission or feedback)
stdClass | $submissionorgrade | assign_submission or assign_grade |
bool |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_feedback_offline, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Allows hiding this plugin from the submission/feedback screen if it is not enabled.
bool | - if false - this plugin will not accept submissions / feedback |
Reimplemented in assign_feedback_offline, and assign_submission_comments.
|
finalinherited |
Is this the first plugin in the list?
bool |
|
finalinherited |
Is this the last plugin in the list?
bool |
|
finalinherited |
Is this plugin enaled?
bool |
assign_submission_plugin::lock | ( | $submission, | |
stdClass | $flags ) |
Carry out any extra processing required when the work is locked.
stdClass | false | $submission | - assign_submission data if any |
stdClass | $flags | - User flags record |
void |
assign_submission_plugin::precheck_submission | ( | $submission | ) |
Check if the submission plugin has all the required data to allow the work to be submitted for grading.
stdClass | $submission | the assign_submission record being submitted. |
bool|string | 'true' if OK to proceed with submission, otherwise a a message to display to the user |
assign_submission_plugin::remove | ( | stdClass | $submission | ) |
Remove any saved data from this submission.
stdClass | $submission | - assign_submission data |
void |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
assign_submission_plugin::revert_to_draft | ( | stdClass | $submission | ) |
Carry out any extra processing required when the work reverted to draft.
stdClass | $submission | - assign_submission data |
void |
|
inherited |
Save any custom data for this form submission.
stdClass | $submissionorgrade | - assign_submission or assign_grade. For submission plugins this is the submission data, for feedback plugins it is the grade data |
stdClass | $data | - the data submitted from the form |
bool | - on error the subtype should call set_error and return false. |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
The assignment subtype is responsible for saving it's own settings as the database table for the standard type cannot be modified.
stdClass | $formdata | - the data submitted from the form |
bool | - on error the subtype should call set_error and return false. |
Reimplemented in assign_feedback_comments, assign_submission_file, and assign_submission_onlinetext.
|
finalinherited |
Set a configuration value for this plugin.
string | $name | The config key |
string | $value | The config value |
bool |
|
inherited |
Given a field name and value should update the format for this field in the plugins submission or grade.
string | $name | Name of the field. |
int | $format | Updated format. |
int | $submissionorgradeid | The id of the submission or grade. |
bool | - true if the value was updated |
|
inherited |
Given a field name and value should update the text for this field in the plugins submission or grade.
string | $name | Name of the field. |
string | $value | Updated text |
int | $submissionorgradeid | The id of the submission or grade |
bool | - true if the value was updated |
Reimplemented in assign_feedback_comments.
|
finalprotectedinherited |
Save the error message from the last error.
string | $msg | - the error description |
|
inherited |
This method is called when the mod_assign_mod_form is submitted.
It is an opportunity to validate the settings form fields added by {
array | $data | as passed to mod_assign_mod_form\validation(). |
array | $files | as passed to mod_assign_mod_form\validation(). |
array | and validation errors that should be displayed. This is array_merged with any other validation errors from the form. |
assign_submission_plugin::submission_is_empty | ( | stdClass | $data | ) |
Determine if a submission is empty.
This is distinct from is_empty in that it is intended to be used to determine if a submission made before saving is empty.
stdClass | $data | The submission data |
bool |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
assign_submission_plugin::submission_summary_for_messages | ( | stdClass | $submission | ) |
Summarise a submission for inclusion in messages.
Moodle messages can be sent as either HTML or plain text, so you need to produce two versions of the summary.
If there is nothing in the submission from your plugin return an array of two empty strings.
The plain text version should finish in a newline character. The HTML version should have block-level elements like headings or
s as the outer elements.
stdClass | $submission | the assign_submission record for the submission the message is about. |
string[] | with two elements, a plain text summary and an HTML summary. |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
assign_submission_plugin::submit_for_grading | ( | $submission | ) |
Carry out any extra processing required when the work is submitted for grading.
stdClass | $submission | the assign_submission record being submitted. |
void |
assign_submission_plugin::unlock | ( | $submission, | |
stdClass | $flags ) |
Carry out any extra processing required when the work is unlocked.
stdClass | false | $submission | - assign_submission data if any |
stdClass | $flags | - User flags record |
void |
|
inherited |
Upgrade the submission from the old assignment to the new one.
context | $oldcontext | The data record for the old context |
stdClass | $oldassignment | The data record for the old assignment |
stdClass | $oldsubmissionorgrade | The data record for the old submission |
stdClass | $submissionorgrade | assign_submission or assign_grade The new submission or grade |
string | $log | Record upgrade messages in the log |
boolean | true or false - false will trigger a rollback |
Reimplemented in assign_feedback_comments, assign_feedback_file, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Upgrade the settings from the old assignment to the new one.
context | $oldcontext | The context for the old assignment module |
stdClass | $oldassignment | The data record for the old assignment |
string | $log | Record upgrade messages in the log |
bool | true or false - false will trigger a rollback |
Reimplemented in assign_feedback_comments, assign_feedback_file, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
Should not output anything - return the result as a string so it can be consumed by webservices.
stdClass | $submissionorgrade | assign_submission or assign_grade For submission plugins this is the submission data, for feedback plugins it is the grade data |
string | - return a string representation of the submission in full |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_submission_file, and assign_submission_onlinetext.
|
inherited |
This allows a plugin to render an introductory section which is displayed right below the activity's "intro" section on the main assignment page.
string |
|
inherited |
This allows a plugin to render a page in the context of the assignment.
If the plugin creates a link to the assignment view.php page with The following required parameters: id=coursemoduleid plugin=type pluginsubtype=assignfeedback|assignsubmission pluginaction=customaction
Then this function will be called to display the page with the pluginaction passed as action
string | $action | The plugin specified action |
string |
Reimplemented in assign_feedback_file, and assign_feedback_offline.
|
inherited |
Should not output anything - return the result as a string so it can be consumed by webservices.
stdClass | $submissionorgrade | assign_submission or assign_grade For submission plugins this is the submission data, for feedback plugins it is the grade data |
bool | $showviewlink | Modifed to return whether or not to show a link to the full submission/feedback |
string | - return a string representation of the submission in full |
Reimplemented in assign_feedback_comments, assign_feedback_editpdf, assign_feedback_file, assign_submission_comments, assign_submission_file, and assign_submission_onlinetext.