Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
tool_moodlenet\local\import_strategy Interface Reference

The import_strategy interface. More...

Inheritance diagram for tool_moodlenet\local\import_strategy:
tool_moodlenet\local\import_strategy_file tool_moodlenet\local\import_strategy_link

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.
 

Detailed Description

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.

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

Member Function Documentation

◆ get_handlers()

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.

Parameters
array$registrydataThe fully populated handler registry.
remote_resource$resourcethe remote resource.
Return values
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.

◆ import()

tool_moodlenet\local\import_strategy::import ( remote_resource $resource,
stdClass $user,
stdClass $course,
int $section )

Called during import to perform required import setup steps.

Parameters
remote_resource$resourcethe resource to import.
stdClass$userthe user to import on behalf of.
stdClass$coursethe course into which the remote resource is being imported.
int$sectionthe section into which the remote resource is being imported.
Return values
stdClassthe 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.


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