Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
core_calendar\external\events_related_objects_cache Class Reference

Class to providing the related objects when exporting a list of calendar events. More...

Public Member Functions

 __construct (array $events, array $courses=null)
 Constructor. More...
 
 get_context (event_interface $event)
 Get the related context for a given event. More...
 
 get_course (event_interface $event)
 Get the related course object for a given event. More...
 
 get_course_module (event_interface $event)
 Get the related course module for a given event. More...
 
 get_group (event_interface $event)
 Get the related group object for a given event. More...
 
 get_module_instance (event_interface $event)
 Get the related module instance for a given event. More...
 

Protected Member Functions

 load_courses ()
 Load the list of all of the distinct courses required for the list of provided events and save the result in memory.
 
 load_groups ()
 Load the list of all of the distinct groups required for the list of provided events and save the result in memory.
 
 load_module_instances ()
 Load the list of all of the distinct module instances required for the list of provided events and save the result in memory.
 

Protected Attributes

array $coursemodules = []
 $coursemodules The related course modules.
 
array $courses = null
 $courses The related courses.
 
array $events
 $events The events for which we need related objects.
 
array $groups = null
 $groups The related groups.
 
array $moduleinstances = null
 $moduleinstances The related module instances.
 

Detailed Description

Class to providing the related objects when exporting a list of calendar events.

This class is only meant for use with exporters. It attempts to bulk load the related objects for a list of events and cache them to avoid having to query the database when exporting each individual event.

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

Constructor & Destructor Documentation

◆ __construct()

core_calendar\external\events_related_objects_cache::__construct ( array  $events,
array  $courses = null 
)

Constructor.

Parameters
array$eventsArray of event_interface events
array$coursesArray of courses to populate the cache with

Member Function Documentation

◆ get_context()

core_calendar\external\events_related_objects_cache::get_context ( event_interface  $event)

Get the related context for a given event.

Parameters
event_interface$eventThe event object.
Return values
context|null

◆ get_course()

core_calendar\external\events_related_objects_cache::get_course ( event_interface  $event)

Get the related course object for a given event.

Parameters
event_interface$eventThe event object.
Return values
stdClass|null

◆ get_course_module()

core_calendar\external\events_related_objects_cache::get_course_module ( event_interface  $event)

Get the related course module for a given event.

Parameters
event_interface$eventThe event object.
Return values
stdClass|null

◆ get_group()

core_calendar\external\events_related_objects_cache::get_group ( event_interface  $event)

Get the related group object for a given event.

Parameters
event_interface$eventThe event object.
Return values
stdClass|null

◆ get_module_instance()

core_calendar\external\events_related_objects_cache::get_module_instance ( event_interface  $event)

Get the related module instance for a given event.

Parameters
event_interface$eventThe event object.
Return values
stdClass|null

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