| Moodle APIs 4.3
    Moodle 4.3.6 (Build: 20240812) | 
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. | |
| format_for_log () | |
| 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? (ie no submission or feedback) | |
| 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. | |
| submission_is_empty (stdClass $data) | |
| Determine if a submission is empty. | |
| 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 | 
| 
 | inherited | 
| 
 | 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 | 
| 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::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.