Moodle PHP Documentation 5.1
Moodle 5.1dev (Build: 20250706) (a6b17d8f6bd)
assign_submission_file Class Reference

Library class for file submission plugin extending submission plugin base class. More...

Inheritance diagram for assign_submission_file:
assign_submission_plugin assign_plugin

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 $sourcesubmission, stdClass $destsubmission)
 Copy the student's submission from a previous submission.
 
 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 - cleanup.
 
 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.
 
 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 ()
 Return a description of external params suitable for uploading a file submission from a 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 $submission, stdClass $user)
 Produce a list of files suitable for export that represent this feedback or submission.
 
 get_form_elements ($submission, MoodleQuickForm $mform, stdClass $data)
 Add elements to submission form.
 
 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 ()
 Get the name of the file submission plugin.
 
 get_requires ()
 Get the required moodle version for this plugin.
 
 get_settings (MoodleQuickForm $mform)
 Get the default setting for file submission plugin.
 
 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 $submission)
 Return true if there are no submission files.
 
 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 files from this submission.
 
 revert_to_draft (stdClass $submission)
 Carry out any extra processing required when the work reverted to draft.
 
 save (stdClass $submission, stdClass $data)
 Save the files and trigger plagiarism plugin, if enabled, to scan the uploaded files via events trigger.
 
 save_settings (stdClass $data)
 Save the settings for file submission plugin.
 
 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 $oldsubmission, stdClass $submission, & $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 plugin based one.
 
 view (stdClass $submission)
 No full submission view - the summary contains the list of files and that is the whole submission.
 
 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 $submission, & $showviewlink)
 Display the list of files in the submission status table.
 

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
 

Detailed Description

Library class for file submission plugin extending submission plugin base class.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ add_attempt()

assign_submission_plugin::add_attempt ( stdClass $oldsubmission,
stdClass $newsubmission )
inherited

Carry out any extra processing required when a student is given a new attempt (i.e.

when the submission is "reopened"

Parameters
stdClass$oldsubmissionThe previous attempt
stdClass$newsubmissionThe new attempt

◆ allow_image_conversion()

assign_submission_file::allow_image_conversion ( )

Determine if the plugin allows image file conversion.

Return values
bool

Reimplemented from assign_submission_plugin.

◆ allow_submissions()

assign_submission_plugin::allow_submissions ( )
inherited

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.

Return values
boolean

Reimplemented in assign_submission_comments.

◆ can_upgrade()

assign_submission_file::can_upgrade ( $type,
$version )

Return true if this plugin can upgrade an old Moodle 2.2 assignment of this type and version.

Parameters
string$type
int$version
Return values
boolTrue if upgrade is possible

Reimplemented from assign_plugin.

◆ copy_submission()

assign_submission_file::copy_submission ( stdClass $sourcesubmission,
stdClass $destsubmission )

Copy the student's submission from a previous submission.

Used when a student opts to base their resubmission on the last submission.

Parameters
stdClass$sourcesubmission
stdClass$destsubmission

Reimplemented from assign_submission_plugin.

◆ data_preprocessing()

assign_plugin::data_preprocessing ( & $defaultvalues)
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)

Parameters
array$defaultvalues

◆ delete_instance()

assign_submission_file::delete_instance ( )

The assignment has been deleted - cleanup.

Return values
bool

Reimplemented from assign_plugin.

◆ disable()

assign_plugin::disable ( )
finalinherited

Set this plugin to disabled.

Return values
bool

◆ enable()

assign_plugin::enable ( )
finalinherited

Set this plugin to enabled.

Return values
bool

◆ get_config()

assign_plugin::get_config ( $setting = null)
finalinherited

Get a configuration value for this plugin.

Parameters
mixed$settingThe config key (string) or null
Return values
mixedstring | false

◆ get_config_file_areas()

assign_plugin::get_config_file_areas ( )
inherited

Get a list of file areas associated with the plugin configuration.

This is used for backup/restore.

Return values
arraynames of the fileareas, can be an empty array

◆ get_config_for_external()

assign_submission_file::get_config_for_external ( )

Return the plugin configs for external functions.

Return values
arraythe list of settings
Since
Moodle 3.2

Reimplemented from assign_plugin.

◆ get_editor_fields()

assign_plugin::get_editor_fields ( )
inherited

Return a list of the fields that can be exported or imported via text.

Return values
array- The list of field names (strings) and descriptions. ($name => $description)

Reimplemented in assign_feedback_comments, and assign_submission_onlinetext.

◆ get_editor_format()

assign_plugin::get_editor_format ( $name,
$submissionid )
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.

Parameters
string$nameName of the field.
int$submissionidThe id of the submission
Return values
int- The format for the editor field

Reimplemented in assign_submission_onlinetext.

◆ get_editor_text()

assign_plugin::get_editor_text ( $name,
$submissionorgradeid )
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.

Parameters
string$nameName of the field.
int$submissionorgradeidThe id of the submission or grade
Return values
string- The text for the editor field

Reimplemented in assign_feedback_comments, and assign_submission_onlinetext.

◆ get_error()

assign_plugin::get_error ( )
finalinherited

What was the last error?

Return values
string

◆ get_external_parameters()

assign_submission_file::get_external_parameters ( )

Return a description of external params suitable for uploading a file submission from a webservice.

Return values
core_external::external_description|null

Reimplemented from assign_plugin.

◆ get_file_areas()

assign_submission_file::get_file_areas ( )

Get file areas returns a list of areas this plugin stores files.

Return values
array- An array of fileareas (keys) and descriptions (values)

Reimplemented from assign_plugin.

◆ get_file_info()

assign_plugin::get_file_info ( $browser,
$filearea,
$itemid,
$filepath,
$filename )
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.

Parameters
file_browser$browser
string$filearea
int$itemid
string$filepath
string$filename
Return values
file_info_stored

◆ get_files()

assign_submission_file::get_files ( stdClass $submission,
stdClass $user )

Produce a list of files suitable for export that represent this feedback or submission.

Parameters
stdClass$submissionThe submission
stdClass$userThe user record - unused
Return values
array- return an array of files indexed by filename

Reimplemented from assign_plugin.

◆ get_form_elements()

assign_submission_file::get_form_elements ( $submission,
MoodleQuickForm $mform,
stdClass $data )

Add elements to submission form.

Parameters
mixed$submissionstdClass|null
MoodleQuickForm$mform
stdClass$data
Return values
bool

Reimplemented from assign_plugin.

◆ get_form_elements_for_user()

assign_plugin::get_form_elements_for_user ( $submissionorgrade,
MoodleQuickForm $mform,
stdClass $data,
$userid )
inherited

Get any additional fields for the submission/grading form for this assignment.

Parameters
mixed$submissionorgradesubmission|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.
Return values
boolean- true if we added anything to the form

Reimplemented in assign_feedback_comments, assign_feedback_editpdf, and assign_feedback_file.

◆ get_name()

assign_submission_file::get_name ( )

Get the name of the file submission plugin.

Return values
string

Reimplemented from assign_plugin.

◆ get_requires()

assign_plugin::get_requires ( )
finalinherited

Get the required moodle version for this plugin.

Return values
string

◆ get_settings()

assign_submission_file::get_settings ( MoodleQuickForm $mform)

Get the default setting for file submission plugin.

Parameters
MoodleQuickForm$mformThe form to add elements to
Return values
void

Reimplemented from assign_plugin.

◆ get_sort_order()

assign_plugin::get_sort_order ( )
finalinherited

Get the numerical sort order for this plugin.

Return values
int

◆ get_subtype()

assign_submission_plugin::get_subtype ( )
finalinherited

return subtype name of the plugin

Return values
string

Reimplemented from assign_plugin.

◆ get_type()

assign_plugin::get_type ( )
finalinherited

Should return the type of this plugin.

Return values
string- the type

◆ get_version()

assign_plugin::get_version ( )
finalinherited

Get the installed version of this plugin.

Return values
string

◆ has_admin_settings()

assign_plugin::has_admin_settings ( )
finalinherited

Has this plugin got a custom settings.php file?

Return values
bool

◆ has_user_summary()

assign_plugin::has_user_summary ( )
inherited

If this plugin should not include a column in the grading table or a row on the summary page then return false.

Return values
bool

Reimplemented in assign_feedback_offline.

◆ is_configurable()

assign_plugin::is_configurable ( )
inherited

If true, the plugin will appear on the module settings page and can be enabled/disabled per assignment instance.

Return values
bool

Reimplemented in assign_feedback_editpdf, and assign_submission_comments.

◆ is_empty()

assign_submission_file::is_empty ( stdClass $submission)

Return true if there are no submission files.

Parameters
stdClass$submission

Reimplemented from assign_plugin.

◆ is_enabled()

assign_plugin::is_enabled ( )
inherited

Allows hiding this plugin from the submission/feedback screen if it is not enabled.

Return values
bool- if false - this plugin will not accept submissions / feedback

Reimplemented in assign_feedback_offline, and assign_submission_comments.

◆ is_first()

assign_plugin::is_first ( )
finalinherited

Is this the first plugin in the list?

Return values
bool

◆ is_last()

assign_plugin::is_last ( )
finalinherited

Is this the last plugin in the list?

Return values
bool

◆ is_visible()

assign_plugin::is_visible ( )
finalinherited

Is this plugin enaled?

Return values
bool

◆ lock()

assign_submission_plugin::lock ( $submission,
stdClass $flags )
inherited

Carry out any extra processing required when the work is locked.

Parameters
stdClass | false$submission- assign_submission data if any
stdClass$flags- User flags record
Return values
void

◆ precheck_submission()

assign_submission_plugin::precheck_submission ( $submission)
inherited

Check if the submission plugin has all the required data to allow the work to be submitted for grading.

Parameters
stdClass$submissionthe assign_submission record being submitted.
Return values
bool|string'true' if OK to proceed with submission, otherwise a a message to display to the user

◆ remove()

assign_submission_file::remove ( stdClass $submission)

Remove files from this submission.

Parameters
stdClass$submissionThe submission
Return values
boolean

Reimplemented from assign_submission_plugin.

◆ revert_to_draft()

assign_submission_plugin::revert_to_draft ( stdClass $submission)
inherited

Carry out any extra processing required when the work reverted to draft.

Parameters
stdClass$submission- assign_submission data
Return values
void

◆ save()

assign_submission_file::save ( stdClass $submission,
stdClass $data )

Save the files and trigger plagiarism plugin, if enabled, to scan the uploaded files via events trigger.

Parameters
stdClass$submission
stdClass$data
Return values
bool

Reimplemented from assign_plugin.

◆ save_settings()

assign_submission_file::save_settings ( stdClass $data)

Save the settings for file submission plugin.

Parameters
stdClass$data
Return values
bool

Reimplemented from assign_plugin.

◆ set_config()

assign_plugin::set_config ( $name,
$value )
finalinherited

Set a configuration value for this plugin.

Parameters
string$nameThe config key
string$valueThe config value
Return values
bool

◆ set_editor_format()

assign_plugin::set_editor_format ( $name,
$format,
$submissionorgradeid )
inherited

Given a field name and value should update the format for this field in the plugins submission or grade.

Parameters
string$nameName of the field.
int$formatUpdated format.
int$submissionorgradeidThe id of the submission or grade.
Return values
bool- true if the value was updated

◆ set_editor_text()

assign_plugin::set_editor_text ( $name,
$value,
$submissionorgradeid )
inherited

Given a field name and value should update the text for this field in the plugins submission or grade.

Parameters
string$nameName of the field.
string$valueUpdated text
int$submissionorgradeidThe id of the submission or grade
Return values
bool- true if the value was updated

Reimplemented in assign_feedback_comments.

◆ set_error()

assign_plugin::set_error ( $msg)
finalprotectedinherited

Save the error message from the last error.

Parameters
string$msg- the error description

◆ settings_validation()

assign_plugin::settings_validation ( array $data,
array $files )
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 {

See also
get_settings()}.
Parameters
array$dataas passed to mod_assign_mod_form\validation().
array$filesas passed to mod_assign_mod_form\validation().
Return values
arrayand validation errors that should be displayed. This is array_merged with any other validation errors from the form.

◆ submission_is_empty()

assign_submission_file::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.

Parameters
stdClass$dataThe submission data
Return values
bool

Reimplemented from assign_submission_plugin.

◆ submission_summary_for_messages()

assign_submission_file::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.

Parameters
stdClass$submissionthe assign_submission record for the submission the message is about.
Return values
string[]with two elements, a plain text summary and an HTML summary.

Reimplemented from assign_submission_plugin.

◆ submit_for_grading()

assign_submission_plugin::submit_for_grading ( $submission)
inherited

Carry out any extra processing required when the work is submitted for grading.

Parameters
stdClass$submissionthe assign_submission record being submitted.
Return values
void

◆ unlock()

assign_submission_plugin::unlock ( $submission,
stdClass $flags )
inherited

Carry out any extra processing required when the work is unlocked.

Parameters
stdClass | false$submission- assign_submission data if any
stdClass$flags- User flags record
Return values
void

◆ upgrade()

assign_submission_file::upgrade ( context $oldcontext,
stdClass $oldassignment,
stdClass $oldsubmission,
stdClass $submission,
& $log )

Upgrade the submission from the old assignment to the new one.

Parameters
context$oldcontextThe context of the old assignment
stdClass$oldassignmentThe data record for the old oldassignment
stdClass$oldsubmissionThe data record for the old submission
stdClass$submissionThe data record for the new submission
string$logRecord upgrade messages in the log
Return values
booltrue or false - false will trigger a rollback

Reimplemented from assign_plugin.

◆ upgrade_settings()

assign_submission_file::upgrade_settings ( context $oldcontext,
stdClass $oldassignment,
& $log )

Upgrade the settings from the old assignment to the new plugin based one.

Parameters
context$oldcontext- the old assignment context
stdClass$oldassignment- the old assignment data record
string$logrecord log events here
Return values
boolWas it a success? (false will trigger rollback)

Reimplemented from assign_plugin.

◆ view()

assign_submission_file::view ( stdClass $submission)

No full submission view - the summary contains the list of files and that is the whole submission.

Parameters
stdClass$submission
Return values
string

Reimplemented from assign_plugin.

◆ view_header()

assign_plugin::view_header ( )
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.

Return values
string

◆ view_page()

assign_plugin::view_page ( $action)
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

Parameters
string$actionThe plugin specified action
Return values
string

Reimplemented in assign_feedback_file, and assign_feedback_offline.

◆ view_summary()

assign_submission_file::view_summary ( stdClass $submission,
& $showviewlink )

Display the list of files in the submission status table.

Parameters
stdClass$submission
bool$showviewlinkSet this to true if the list of files is long
Return values
string

Reimplemented from assign_plugin.


The documentation for this class was generated from the following file: