Moodle APIs
3.8
Moodle 3.8.6 (Build: 20201109)
|
Abstract class for assign_plugin (submission/feedback). More...
Public Member Functions | |
__construct (assign $assignment, $type) | |
Constructor for the abstract plugin type class. More... | |
can_upgrade ($type, $version) | |
Return true if this plugin can upgrade an old Moodle 2.2 assignment of this type and version. More... | |
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) More... | |
delete_instance () | |
The assignment has been deleted - remove the plugin specific data. More... | |
disable () | |
Set this plugin to disabled. More... | |
enable () | |
Set this plugin to enabled. More... | |
format_for_log (stdClass $submissionorgrade) | |
Formatting for log info. More... | |
get_config ($setting=null) | |
Get a configuration value for this plugin. More... | |
get_config_file_areas () | |
Get a list of file areas associated with the plugin configuration. More... | |
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. More... | |
get_editor_fields () | |
Return a list of the fields that can be exported or imported via text. More... | |
get_editor_format ($name, $submissionid) | |
Given a field name, should return the format of an editor field that is part of this plugin. More... | |
get_editor_text ($name, $submissionorgradeid) | |
Given a field name, should return the text of an editor field that is part of this plugin. More... | |
get_error () | |
What was the last error? More... | |
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. More... | |
get_file_areas () | |
Get file areas returns a list of areas this plugin stores files. More... | |
get_file_info ($browser, $filearea, $itemid, $filepath, $filename) | |
Default implementation of file_get_info for plugins. More... | |
get_files (stdClass $submissionorgrade, stdClass $user) | |
Produce a list of files suitable for export that represent this feedback or submission. More... | |
get_form_elements ($submissionorgrade, MoodleQuickForm $mform, stdClass $data) | |
Get any additional fields for the submission/grading form for this assignment. More... | |
get_form_elements_for_user ($submissionorgrade, MoodleQuickForm $mform, stdClass $data, $userid) | |
Get any additional fields for the submission/grading form for this assignment. More... | |
get_name () | |
Should return the name of this plugin type. More... | |
get_requires () | |
Get the required moodle version for this plugin. More... | |
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. More... | |
get_sort_order () | |
Get the numerical sort order for this plugin. More... | |
get_subtype () | |
Should return the subtype of this plugin. More... | |
get_type () | |
Should return the type of this plugin. More... | |
get_version () | |
Get the installed version of this plugin. More... | |
has_admin_settings () | |
Has this plugin got a custom settings.php file? More... | |
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. More... | |
is_configurable () | |
If true, the plugin will appear on the module settings page and can be enabled/disabled per assignment instance. More... | |
is_empty (stdClass $submissionorgrade) | |
Is this assignment plugin empty? (ie no submission or feedback) More... | |
is_enabled () | |
Allows hiding this plugin from the submission/feedback screen if it is not enabled. More... | |
is_first () | |
Is this the first plugin in the list? More... | |
is_last () | |
Is this the last plugin in the list? More... | |
is_visible () | |
Is this plugin enaled? More... | |
save (stdClass $submissionorgrade, stdClass $data) | |
Save any custom data for this form submission. More... | |
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. More... | |
set_config ($name, $value) | |
Set a configuration value for this plugin. More... | |
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. More... | |
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. More... | |
upgrade (context $oldcontext, stdClass $oldassignment, stdClass $oldsubmissionorgrade, stdClass $submissionorgrade, & $log) | |
Upgrade the submission from the old assignment to the new one. More... | |
upgrade_settings (context $oldcontext, stdClass $oldassignment, & $log) | |
Upgrade the settings from the old assignment to the new one. More... | |
view (stdClass $submissionorgrade) | |
Should not output anything - return the result as a string so it can be consumed by webservices. More... | |
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. More... | |
view_page ($action) | |
This allows a plugin to render a page in the context of the assignment. More... | |
view_summary (stdClass $submissionorgrade, & $showviewlink) | |
Should not output anything - return the result as a string so it can be consumed by webservices. More... | |
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. More... | |
Protected Attributes | |
assign | $assignment |
$assignment the assignment record that contains the global settings for this assign instance | |
Abstract class for assign_plugin (submission/feedback).
|
final |
Constructor for the abstract plugin type class.
assign | $assignment | |
string | $type |
assign_plugin::can_upgrade | ( | $type, | |
$version | |||
) |
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_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_file, and assign_feedback_comments.
assign_plugin::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)
array | $defaultvalues |
assign_plugin::delete_instance | ( | ) |
The assignment has been deleted - remove the plugin specific data.
bool |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
|
final |
Set this plugin to disabled.
bool |
|
final |
Set this plugin to enabled.
bool |
assign_plugin::format_for_log | ( | stdClass | $submissionorgrade | ) |
Formatting for log info.
stdClass | $submissionorgrade | assign_submission or assign_grade The new submission or grade |
string |
Reimplemented in assign_submission_onlinetext, and assign_submission_file.
|
final |
Get a configuration value for this plugin.
mixed | $setting | The config key (string) or null |
mixed | string | false |
assign_plugin::get_config_file_areas | ( | ) |
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 |
assign_plugin::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.
array | the list of settings |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_offline, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
assign_plugin::get_editor_fields | ( | ) |
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_submission_onlinetext, and assign_feedback_comments.
assign_plugin::get_editor_format | ( | $name, | |
$submissionid | |||
) |
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.
assign_plugin::get_editor_text | ( | $name, | |
$submissionorgradeid | |||
) |
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_submission_onlinetext, and assign_feedback_comments.
|
final |
What was the last error?
string |
assign_plugin::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.
external_description|null |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_feedback_file, and assign_feedback_comments.
assign_plugin::get_file_areas | ( | ) |
Get file areas returns a list of areas this plugin stores files.
array | - An array of fileareas (keys) and descriptions (values) |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
assign_plugin::get_file_info | ( | $browser, | |
$filearea, | |||
$itemid, | |||
$filepath, | |||
$filename | |||
) |
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 |
assign_plugin::get_files | ( | stdClass | $submissionorgrade, |
stdClass | $user | ||
) |
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_onlinetext, and assign_submission_file.
assign_plugin::get_form_elements | ( | $submissionorgrade, | |
MoodleQuickForm | $mform, | ||
stdClass | $data | ||
) |
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_submission_onlinetext, assign_submission_file, and assign_feedback_offline.
assign_plugin::get_form_elements_for_user | ( | $submissionorgrade, | |
MoodleQuickForm | $mform, | ||
stdClass | $data, | ||
$userid | |||
) |
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_file, assign_feedback_editpdf, and assign_feedback_comments.
|
abstract |
Should return the name of this plugin type.
string | - the name |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_offline, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
|
final |
Get the required moodle version for this plugin.
string |
assign_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.
MoodleQuickForm | $mform | The form to add the elements to |
$array |
Reimplemented in assign_submission_onlinetext, assign_submission_file, and assign_feedback_comments.
|
final |
Get the numerical sort order for this plugin.
int |
|
abstract |
Should return the subtype of this plugin.
string | - either 'assignsubmission' or 'feedback' |
Reimplemented in assign_submission_plugin, and assign_feedback_plugin.
|
final |
Should return the type of this plugin.
string | - the type |
|
final |
Get the installed version of this plugin.
string |
|
final |
Has this plugin got a custom settings.php file?
bool |
assign_plugin::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.
bool |
Reimplemented in assign_feedback_offline.
assign_plugin::is_configurable | ( | ) |
If true, the plugin will appear on the module settings page and can be enabled/disabled per assignment instance.
bool |
Reimplemented in assign_submission_comments, and assign_feedback_editpdf.
assign_plugin::is_empty | ( | stdClass | $submissionorgrade | ) |
Is this assignment plugin empty? (ie no submission or feedback)
stdClass | $submissionorgrade | assign_submission or assign_grade |
bool |
Reimplemented in assign_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_offline, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
assign_plugin::is_enabled | ( | ) |
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_submission_comments, and assign_feedback_offline.
|
final |
Is this the first plugin in the list?
bool |
|
final |
Is this the last plugin in the list?
bool |
|
final |
Is this plugin enaled?
bool |
assign_plugin::save | ( | stdClass | $submissionorgrade, |
stdClass | $data | ||
) |
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_submission_onlinetext, assign_submission_file, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
assign_plugin::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.
stdClass | $formdata | - the data submitted from the form |
bool | - on error the subtype should call set_error and return false. |
Reimplemented in assign_submission_onlinetext, assign_submission_file, and assign_feedback_comments.
|
final |
Set a configuration value for this plugin.
string | $name | The config key |
string | $value | The config value |
bool |
assign_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.
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 |
assign_plugin::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.
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.
|
finalprotected |
Save the error message from the last error.
string | $msg | - the error description |
assign_plugin::upgrade | ( | context | $oldcontext, |
stdClass | $oldassignment, | ||
stdClass | $oldsubmissionorgrade, | ||
stdClass | $submissionorgrade, | ||
& | $log | ||
) |
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_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_file, and assign_feedback_comments.
assign_plugin::upgrade_settings | ( | context | $oldcontext, |
stdClass | $oldassignment, | ||
& | $log | ||
) |
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_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_file, and assign_feedback_comments.
assign_plugin::view | ( | stdClass | $submissionorgrade | ) |
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_submission_onlinetext, assign_submission_file, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.
assign_plugin::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.
string |
assign_plugin::view_page | ( | $action | ) |
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_offline, and assign_feedback_file.
assign_plugin::view_summary | ( | stdClass | $submissionorgrade, |
& | $showviewlink | ||
) |
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_submission_onlinetext, assign_submission_file, assign_submission_comments, assign_feedback_file, assign_feedback_editpdf, and assign_feedback_comments.