Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
|
The import_strategy interface. More...
Public Member Functions | |
get_handlers (array $registrydata, remote_resource $resource) | |
Get an array of import_handler_info objects supported by this import strategy, based on the registrydata and resource. | |
import (remote_resource $resource, stdClass $user, stdClass $course, int $section) | |
Called during import to perform required import setup steps. | |
The import_strategy interface.
This provides a contract allowing different import strategies to be implemented.
An import_strategy encapsulates the logic used to prepare a remote_resource for import into Moodle in some way and is used by the import_processor (to perform aforementioned preparations) before it hands control of the import over to a course module plugin.
We may wish to have many strategies because the preparation steps may vary depending on how the resource is to be treated. E.g. We may wish to import as a file in which case download steps will be required, or we may simply wish to import the remote resource as a link, in which cases setup steps will not require any file download.
tool_moodlenet\local\import_strategy::get_handlers | ( | array | $registrydata, |
remote_resource | $resource ) |
Get an array of import_handler_info objects supported by this import strategy, based on the registrydata and resource.
Implementations should check the registry data for any entries which align with their import strategy and should create import_handler_info objects to represent each relevant entry. If an entry represents a module, or handling type which does not align with the strategy, that item should simply be skipped.
E.g. If one strategy aims to import all remote resources as files (e.g. import_strategy_file), it would only generate a list of import_handler_info objects created from those registry entries of type 'file', as those entries represent the modules which have said they can handle resources as files.
array | $registrydata | The fully populated handler registry. |
remote_resource | $resource | the remote resource. |
import_handler_info[] | the array of import_handler_info objects, or an empty array if none were matched. |
Implemented in tool_moodlenet\local\import_strategy_file, and tool_moodlenet\local\import_strategy_link.
tool_moodlenet\local\import_strategy::import | ( | remote_resource | $resource, |
stdClass | $user, | ||
stdClass | $course, | ||
int | $section ) |
Called during import to perform required import setup steps.
remote_resource | $resource | the resource to import. |
stdClass | $user | the user to import on behalf of. |
stdClass | $course | the course into which the remote resource is being imported. |
int | $section | the section into which the remote resource is being imported. |
stdClass | the module data which will be passed on to the course module plugin. |
Implemented in tool_moodlenet\local\import_strategy_file, and tool_moodlenet\local\import_strategy_link.