Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
|
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 (stdClass $submissionorgrade) | |
Formatting for log info. | |
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 |
Formatting for log info.
stdClass | $submissionorgrade | assign_submission or assign_grade The new submission or grade |
string |
Reimplemented in assign_submission_file, and assign_submission_onlinetext.
|
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.