Moodle PHP Documentation 4.4
Moodle 4.4.1 (Build: 20240610) (db07c09afc5)
core_reportbuilder\datasource Class Reference
Inheritance diagram for core_reportbuilder\datasource:
core_reportbuilder\local\report\base core_admin\reportbuilder\datasource\task_logs core_badges\reportbuilder\datasource\badges core_badges\reportbuilder\datasource\users core_blog\reportbuilder\datasource\blogs core_cohort\reportbuilder\datasource\cohorts core_comment\reportbuilder\datasource\comments core_course\reportbuilder\datasource\categories core_course\reportbuilder\datasource\courses core_course\reportbuilder\datasource\participants core_files\reportbuilder\datasource\files core_group\reportbuilder\datasource\groups core_notes\reportbuilder\datasource\notes core_role\reportbuilder\datasource\roles core_tag\reportbuilder\datasource\tags core_user\reportbuilder\datasource\users

Public Member Functions

 add_attributes (array $attributes)
 Add report attributes (data-, class, etc.) that will be included in HTML when report is displayed.
 
 add_base_condition_simple (string $fieldname, $fieldvalue)
 Define simple "field = value" clause to apply to the report query.
 
 add_base_condition_sql (string $where, array $params=[])
 Define more complex/non-empty clause to apply to the report query.
 
 add_default_columns ()
 Add default datasource columns to the report.
 
 add_default_conditions ()
 Add default datasource conditions to the report.
 
 add_default_filters ()
 Add default datasource filters to the report.
 
 get_active_columns ()
 Override parent method, returning only those columns specifically added to the custom report (rather than all that are available)
 
 get_active_columns_by_alias ()
 Return all active report columns, keyed by their alias (only active columns in a report would have a valid alias/index)
 
 get_active_conditions ()
 Override parent method, returning only those conditions specifically added to the custom report (rather than all that are available)
 
 get_active_filters ()
 Override parent method, returning only those filters specifically added to the custom report (rather than all that are available)
 
 get_applied_filter_count ()
 Return the number of filter instances that are being applied based on the report's filter values (i.e.
 
 get_attributes ()
 Returns the report HTML attributes.
 
 get_base_condition ()
 Return base select/params for the report query.
 
 get_column (string $uniqueidentifier)
 Return report column by unique identifier.
 
 get_columns ()
 Return all available report columns.
 
 get_condition (string $uniqueidentifier)
 Return report condition by unique identifier.
 
 get_condition_instances ()
 Return all active report condition instances.
 
 get_condition_values ()
 Get the condition values of the report.
 
 get_conditions ()
 Return all available report conditions.
 
 get_context ()
 Returns the report context.
 
 get_default_column_sorting ()
 Return the default column sorting that will be set for the report upon creation, by {.
 
 get_default_columns ()
 Return the default columns that will be added to the report upon creation, by {.
 
 get_default_condition_values ()
 Return the default condition values that will be added to the report once is created.
 
 get_default_conditions ()
 Return the conditions that will be added to the report once is created.
 
 get_default_filters ()
 Return the filters that will be added to the report once is created.
 
 get_default_no_results_notice ()
 Get the default lang string for the notice used when no results are found.
 
 get_default_per_page ()
 Default 'per page' size.
 
 get_downloadfilename ()
 Return the downloadable report filename.
 
 get_entity_title (string $name)
 Returns title of given report entity.
 
 get_filter (string $uniqueidentifier)
 Return report filter by unique identifier.
 
 get_filter_instances ()
 Return all active report filter instances.
 
 get_filter_values ()
 Get the filter values of the report.
 
 get_filters ()
 Return all available report filters.
 
 get_joins ()
 Return report JOIN clauses.
 
 get_main_table ()
 Get the main table name.
 
 get_main_table_alias ()
 Get the alias for the main table.
 
 get_report_persistent ()
 Returns persistent class used when initialising this report.
 
 get_settings_values ()
 Get the settings values of the report.
 
 is_downloadable ()
 Get if the report can be downloaded.
 
 set_condition_values (array $values)
 Set the condition values of the report.
 
 set_default_no_results_notice (?lang_string $notice)
 Set the default lang string for the notice used when no results are found.
 
 set_default_per_page (int $defaultperpage)
 Set the default 'per page' size.
 
 set_downloadable (bool $downloadable, ?string $downloadfilename=null)
 Set if the report can be downloaded.
 
 set_filter_values (array $values)
 Set the filter values of the report.
 
 set_main_table (string $tablename, string $tablealias='')
 Set the main table and alias for the SQL query.
 
 set_settings_values (array $values)
 Set the settings values of the report.
 

Static Public Member Functions

static get_name ()
 Return user friendly name of the report.
 
static is_available ()
 Get the report availability.
 
static report_elements_modified (int $reportid)
 Indicate that report elements have been modified, e.g.
 

Public Attributes

int const DEFAULT_PAGESIZE = 30
 Default paging limit.
 
int const TYPE_CUSTOM_REPORT = 0
 Custom report type value.
 
int const TYPE_SYSTEM_REPORT = 1
 System report type value.
 

Protected Member Functions

 add_all_from_entities ()
 Adds all columns/filters/conditions from all the entities added to the report at once.
 
 add_all_from_entity (string $entityname, array $limitcolumns=[], array $limitfilters=[], array $limitconditions=[],)
 Adds all columns/filters/conditions from the given entity to the report at once.
 
 add_column (column $column)
 Adds a column to the report.
 
 add_column_from_entity (string $uniqueidentifier)
 Add given column to the report from an entity.
 
 add_columns_from_entities (array $columns)
 Add given columns to the report from one or more entities.
 
 add_columns_from_entity (string $entityname, array $include=[], array $exclude=[])
 Add columns from the given entity name to be available to use in a custom report.
 
 add_condition (filter $condition)
 Adds a condition to the report.
 
 add_condition_from_entity (string $uniqueidentifier)
 Add given condition to the report from an entity.
 
 add_conditions_from_entities (array $conditions)
 Add given conditions to the report from one or more entities.
 
 add_conditions_from_entity (string $entityname, array $include=[], array $exclude=[])
 Add conditions from the given entity name to be available to use in a custom report.
 
 add_entity (entity_base $entity)
 Adds given entity, along with it's columns and filters, to the report.
 
 add_filter (filter $filter)
 Adds a filter to the report.
 
 add_filter_from_entity (string $uniqueidentifier)
 Add given filter to the report from an entity.
 
 add_filters_from_entities (array $filters)
 Add given filters to the report from one or more entities.
 
 add_filters_from_entity (string $entityname, array $include=[], array $exclude=[])
 Add filters from the given entity name to be available to use in a custom report.
 
 add_join (string $join, array $params=[], bool $validateparams=true)
 Adds report JOIN clause that is always added.
 
 annotate_entity (string $name, lang_string $title)
 Define a new entity for the report.
 
 get_entities ()
 Returns the list of all the entities added to the report.
 
 get_entity (string $name)
 Returns the entity added to the report from the given entity name.
 
 initialise ()
 Initialise report.
 
 validate ()
 Perform some basic validation about expected class properties.
 

Member Function Documentation

◆ add_all_from_entity()

core_reportbuilder\datasource::add_all_from_entity ( string $entityname,
array $limitcolumns = [],
array $limitfilters = [],
array $limitconditions = [] )
finalprotected

Adds all columns/filters/conditions from the given entity to the report at once.

Parameters
string$entityname
string[]$limitcolumnsInclude only these columns
string[]$limitfiltersInclude only these filters
string[]$limitconditionsInclude only these conditions

◆ add_attributes()

core_reportbuilder\local\report\base::add_attributes ( array $attributes)
inherited

Add report attributes (data-, class, etc.) that will be included in HTML when report is displayed.

Parameters
array$attributes
Return values
self

◆ add_base_condition_simple()

core_reportbuilder\local\report\base::add_base_condition_simple ( string $fieldname,
$fieldvalue )
finalinherited

Define simple "field = value" clause to apply to the report query.

Parameters
string$fieldname
mixed$fieldvalue

◆ add_base_condition_sql()

core_reportbuilder\local\report\base::add_base_condition_sql ( string $where,
array $params = [] )
finalinherited

Define more complex/non-empty clause to apply to the report query.

Parameters
string$where
array$paramsNote that the param names should be generated by {
See also
database\generate_param_name}

◆ add_column()

core_reportbuilder\local\report\base::add_column ( column $column)
finalprotectedinherited

Adds a column to the report.

Parameters
column$column
Return values
column
Exceptions
coding_exception

◆ add_column_from_entity()

core_reportbuilder\local\report\base::add_column_from_entity ( string $uniqueidentifier)
finalprotectedinherited

Add given column to the report from an entity.

The entity must have already been added to the report before calling this method

Parameters
string$uniqueidentifier
Return values
column

◆ add_columns_from_entities()

core_reportbuilder\local\report\base::add_columns_from_entities ( array $columns)
finalprotectedinherited

Add given columns to the report from one or more entities.

Each entity must have already been added to the report before calling this method

Parameters
string[]$columnsUnique identifier of each entity column

◆ add_columns_from_entity()

core_reportbuilder\datasource::add_columns_from_entity ( string $entityname,
array $include = [],
array $exclude = [] )
finalprotected

Add columns from the given entity name to be available to use in a custom report.

Wildcard matching is supported with '*' in both $include and $exclude, e.g. ['customfield*']

Parameters
string$entityname
string[]$includeInclude only these columns, if omitted then include all
string[]$excludeExclude these columns, if omitted then exclude none
Exceptions
coding_exceptionIf both $include and $exclude are non-empty

◆ add_condition()

core_reportbuilder\local\report\base::add_condition ( filter $condition)
finalprotectedinherited

Adds a condition to the report.

Parameters
filter$condition
Return values
filter
Exceptions
coding_exception

◆ add_condition_from_entity()

core_reportbuilder\local\report\base::add_condition_from_entity ( string $uniqueidentifier)
finalprotectedinherited

Add given condition to the report from an entity.

The entity must have already been added to the report before calling this method

Parameters
string$uniqueidentifier
Return values
filter

◆ add_conditions_from_entities()

core_reportbuilder\local\report\base::add_conditions_from_entities ( array $conditions)
finalprotectedinherited

Add given conditions to the report from one or more entities.

Each entity must have already been added to the report before calling this method

Parameters
string[]$conditionsUnique identifier of each entity condition

◆ add_conditions_from_entity()

core_reportbuilder\datasource::add_conditions_from_entity ( string $entityname,
array $include = [],
array $exclude = [] )
finalprotected

Add conditions from the given entity name to be available to use in a custom report.

Wildcard matching is supported with '*' in both $include and $exclude, e.g. ['customfield*']

Parameters
string$entityname
string[]$includeInclude only these conditions, if omitted then include all
string[]$excludeExclude these conditions, if omitted then exclude none
Exceptions
coding_exceptionIf both $include and $exclude are non-empty

◆ add_default_columns()

core_reportbuilder\datasource::add_default_columns ( )

Add default datasource columns to the report.

Uses column data returned by the source {

See also
get_default_columns} and {
get_default_column_sorting} methods
Exceptions
coding_exceptionIf default column sorting refers to an invalid column

◆ add_default_conditions()

core_reportbuilder\datasource::add_default_conditions ( )

Add default datasource conditions to the report.

This method is optional and can be called when the report is created to add the default conditions defined in the selected datasource.

◆ add_default_filters()

core_reportbuilder\datasource::add_default_filters ( )

Add default datasource filters to the report.

This method is optional and can be called when the report is created to add the default filters defined in the selected datasource.

◆ add_entity()

core_reportbuilder\local\report\base::add_entity ( entity_base $entity)
finalprotectedinherited

Adds given entity, along with it's columns and filters, to the report.

Parameters
entity_base$entity

◆ add_filter()

core_reportbuilder\local\report\base::add_filter ( filter $filter)
finalprotectedinherited

Adds a filter to the report.

Parameters
filter$filter
Return values
filter
Exceptions
coding_exception

◆ add_filter_from_entity()

core_reportbuilder\local\report\base::add_filter_from_entity ( string $uniqueidentifier)
finalprotectedinherited

Add given filter to the report from an entity.

The entity must have already been added to the report before calling this method

Parameters
string$uniqueidentifier
Return values
filter

◆ add_filters_from_entities()

core_reportbuilder\local\report\base::add_filters_from_entities ( array $filters)
finalprotectedinherited

Add given filters to the report from one or more entities.

Each entity must have already been added to the report before calling this method

Parameters
string[]$filtersUnique identifier of each entity filter

◆ add_filters_from_entity()

core_reportbuilder\datasource::add_filters_from_entity ( string $entityname,
array $include = [],
array $exclude = [] )
finalprotected

Add filters from the given entity name to be available to use in a custom report.

Wildcard matching is supported with '*' in both $include and $exclude, e.g. ['customfield*']

Parameters
string$entityname
string[]$includeInclude only these filters, if omitted then include all
string[]$excludeExclude these filters, if omitted then exclude none
Exceptions
coding_exceptionIf both $include and $exclude are non-empty

◆ add_join()

core_reportbuilder\local\report\base::add_join ( string $join,
array $params = [],
bool $validateparams = true )
protectedinherited

Adds report JOIN clause that is always added.

Parameters
string$join
array$params
bool$validateparamsSome queries might add non-standard params and validation could fail

◆ annotate_entity()

core_reportbuilder\local\report\base::annotate_entity ( string $name,
lang_string $title )
finalprotectedinherited

Define a new entity for the report.

Parameters
string$name
lang_string$title
Exceptions
coding_exception

◆ get_active_columns()

core_reportbuilder\datasource::get_active_columns ( )

Override parent method, returning only those columns specifically added to the custom report (rather than all that are available)

Return values
column[]

Reimplemented from core_reportbuilder\local\report\base.

◆ get_active_columns_by_alias()

core_reportbuilder\local\report\base::get_active_columns_by_alias ( )
finalinherited

Return all active report columns, keyed by their alias (only active columns in a report would have a valid alias/index)

Return values
column[]

◆ get_active_conditions()

core_reportbuilder\datasource::get_active_conditions ( )

Override parent method, returning only those conditions specifically added to the custom report (rather than all that are available)

Return values
filter[]

Reimplemented from core_reportbuilder\local\report\base.

◆ get_active_filters()

core_reportbuilder\datasource::get_active_filters ( )

Override parent method, returning only those filters specifically added to the custom report (rather than all that are available)

Return values
filter[]

Reimplemented from core_reportbuilder\local\report\base.

◆ get_applied_filter_count()

core_reportbuilder\local\report\base::get_applied_filter_count ( )
finalinherited

Return the number of filter instances that are being applied based on the report's filter values (i.e.

user has configured them from their initial "Any value" state)

Return values
int

◆ get_attributes()

core_reportbuilder\local\report\base::get_attributes ( )
inherited

Returns the report HTML attributes.

Return values
array

◆ get_base_condition()

core_reportbuilder\local\report\base::get_base_condition ( )
finalinherited

Return base select/params for the report query.

Return values
array[string $select, array $params]

◆ get_column()

core_reportbuilder\local\report\base::get_column ( string $uniqueidentifier)
finalinherited

Return report column by unique identifier.

Parameters
string$uniqueidentifier
Return values
column|null

◆ get_columns()

core_reportbuilder\local\report\base::get_columns ( )
finalinherited

Return all available report columns.

Return values
column[]

◆ get_condition()

core_reportbuilder\local\report\base::get_condition ( string $uniqueidentifier)
finalinherited

Return report condition by unique identifier.

Parameters
string$uniqueidentifier
Return values
filter|null

◆ get_condition_instances()

core_reportbuilder\local\report\base::get_condition_instances ( )
finalinherited

Return all active report condition instances.

Return values
filter_base[]

◆ get_condition_values()

core_reportbuilder\local\report\base::get_condition_values ( )
finalinherited

Get the condition values of the report.

Return values
array

◆ get_conditions()

core_reportbuilder\local\report\base::get_conditions ( )
finalinherited

Return all available report conditions.

Return values
filter[]

◆ get_context()

core_reportbuilder\local\report\base::get_context ( )
inherited

Returns the report context.

Return values
context

◆ get_default_column_sorting()

core_reportbuilder\datasource::get_default_column_sorting ( )

◆ get_default_columns()

◆ get_default_condition_values()

core_reportbuilder\datasource::get_default_condition_values ( )

Return the default condition values that will be added to the report once is created.

For any of the default conditions returned by the method {

See also
get_default_conditions} is possible to set the initial values.
Return values
array

Reimplemented in core_admin\reportbuilder\datasource\task_logs, core_cohort\reportbuilder\datasource\cohorts, core_course\reportbuilder\datasource\participants, core_files\reportbuilder\datasource\files, and core_user\reportbuilder\datasource\users.

◆ get_default_conditions()

◆ get_default_filters()

◆ get_default_no_results_notice()

core_reportbuilder\local\report\base::get_default_no_results_notice ( )
inherited

Get the default lang string for the notice used when no results are found.

Return values
lang_string|nullthe lang_string instance or null if the report prefers not to use one.

◆ get_default_per_page()

core_reportbuilder\local\report\base::get_default_per_page ( )
inherited

Default 'per page' size.

Return values
int

◆ get_downloadfilename()

core_reportbuilder\local\report\base::get_downloadfilename ( )
finalinherited

Return the downloadable report filename.

Return values
string

◆ get_entities()

core_reportbuilder\local\report\base::get_entities ( )
finalprotectedinherited

Returns the list of all the entities added to the report.

Return values
entity_base[]

◆ get_entity()

core_reportbuilder\local\report\base::get_entity ( string $name)
finalprotectedinherited

Returns the entity added to the report from the given entity name.

Parameters
string$name
Return values
entity_base
Exceptions
coding_exception

◆ get_entity_title()

core_reportbuilder\local\report\base::get_entity_title ( string $name)
finalinherited

Returns title of given report entity.

Parameters
string$name
Return values
lang_string
Exceptions
coding_exception

◆ get_filter()

core_reportbuilder\local\report\base::get_filter ( string $uniqueidentifier)
finalinherited

Return report filter by unique identifier.

Parameters
string$uniqueidentifier
Return values
filter|null

◆ get_filter_instances()

core_reportbuilder\local\report\base::get_filter_instances ( )
finalinherited

Return all active report filter instances.

Return values
filter_base[]

◆ get_filter_values()

core_reportbuilder\local\report\base::get_filter_values ( )
finalinherited

Get the filter values of the report.

Return values
array

◆ get_filters()

core_reportbuilder\local\report\base::get_filters ( )
finalinherited

Return all available report filters.

Return values
filter[]

◆ get_joins()

core_reportbuilder\local\report\base::get_joins ( )
inherited

Return report JOIN clauses.

Return values
array

◆ get_main_table()

core_reportbuilder\local\report\base::get_main_table ( )
finalinherited

Get the main table name.

Return values
string

◆ get_main_table_alias()

core_reportbuilder\local\report\base::get_main_table_alias ( )
finalinherited

Get the alias for the main table.

Return values
string

◆ get_name()

◆ get_report_persistent()

core_reportbuilder\local\report\base::get_report_persistent ( )
finalinherited

Returns persistent class used when initialising this report.

Return values
report

◆ get_settings_values()

core_reportbuilder\local\report\base::get_settings_values ( )
finalinherited

Get the settings values of the report.

Return values
array

◆ initialise()

core_reportbuilder\local\report\base::initialise ( )
abstractprotectedinherited

Initialise report.

Specify which columns, filters, etc should be present

To set the base query use:

  • {
    See also
    set_main_table}
  • {
    See also
    add_base_condition_simple} or {
    add_base_condition_sql}
  • {
    See also
    add_join}
    To add content to the report use:
  • {
    See also
    add_entity}
  • {
    See also
    add_column}
  • {
    See also
    add_filter}
  • etc

Reimplemented in core_admin\reportbuilder\datasource\task_logs, core_admin\reportbuilder\local\systemreports\task_logs, core_admin\reportbuilder\local\systemreports\users, core_badges\reportbuilder\datasource\badges, core_badges\reportbuilder\datasource\users, core_badges\reportbuilder\local\systemreports\badges, core_badges\reportbuilder\local\systemreports\course_badges, core_badges\reportbuilder\local\systemreports\recipients, core_blog\reportbuilder\datasource\blogs, core_cohort\reportbuilder\datasource\cohorts, core_cohort\reportbuilder\local\systemreports\cohorts, core_comment\reportbuilder\datasource\comments, core_comment\reportbuilder\local\systemreports\comments, core_course\reportbuilder\datasource\categories, core_course\reportbuilder\datasource\courses, core_course\reportbuilder\datasource\participants, core_files\reportbuilder\datasource\files, core_group\reportbuilder\datasource\groups, core_notes\reportbuilder\datasource\notes, core_reportbuilder\local\systemreports\report_access_list, core_reportbuilder\local\systemreports\report_schedules, core_reportbuilder\local\systemreports\reports_list, core_role\reportbuilder\datasource\roles, core_tag\reportbuilder\datasource\tags, core_tag\reportbuilder\local\systemreports\tags, core_user\reportbuilder\datasource\users, gradereport_summary\local\systemreports\summary, mod_lti\reportbuilder\local\systemreports\course_external_tools_list, report_configlog\reportbuilder\local\systemreports\config_changes, and report_themeusage\reportbuilder\local\systemreports\theme_usage_report.

◆ is_available()

static core_reportbuilder\local\report\base::is_available ( )
staticinherited

Get the report availability.

Sub-classes should override this method to declare themselves unavailable, for example if they require classes that aren't present due to missing plugin

Return values
bool

◆ is_downloadable()

core_reportbuilder\local\report\base::is_downloadable ( )
finalinherited

Get if the report can be downloaded.

Return values
bool

◆ report_elements_modified()

static core_reportbuilder\datasource::report_elements_modified ( int $reportid)
staticfinal

Indicate that report elements have been modified, e.g.

columns/filters/conditions have been added, removed or updated

Parameters
int$reportid

◆ set_condition_values()

core_reportbuilder\local\report\base::set_condition_values ( array $values)
finalinherited

Set the condition values of the report.

Parameters
array$values
Return values
bool

◆ set_default_no_results_notice()

core_reportbuilder\local\report\base::set_default_no_results_notice ( ?lang_string $notice)
inherited

Set the default lang string for the notice used when no results are found.

Parameters
lang_string | null$noticestring, or null to tell the report to omit the notice entirely.
Return values
void

◆ set_default_per_page()

core_reportbuilder\local\report\base::set_default_per_page ( int $defaultperpage)
inherited

Set the default 'per page' size.

Parameters
int$defaultperpage

◆ set_downloadable()

core_reportbuilder\local\report\base::set_downloadable ( bool $downloadable,
?string $downloadfilename = null )
finalinherited

Set if the report can be downloaded.

Parameters
bool$downloadable
string | null$downloadfilenameIf downloadable, then the name of the file (defaults to the name of the current report)

◆ set_filter_values()

core_reportbuilder\local\report\base::set_filter_values ( array $values)
finalinherited

Set the filter values of the report.

Parameters
array$values
Return values
bool

◆ set_main_table()

core_reportbuilder\local\report\base::set_main_table ( string $tablename,
string $tablealias = '' )
finalinherited

Set the main table and alias for the SQL query.

Parameters
string$tablename
string$tablealias

◆ set_settings_values()

core_reportbuilder\local\report\base::set_settings_values ( array $values)
finalinherited

Set the settings values of the report.

Parameters
array$values
Return values
bool

◆ validate()

core_reportbuilder\local\report\base::validate ( )
protectedinherited

Perform some basic validation about expected class properties.

Exceptions
coding_exception

Reimplemented in core_reportbuilder\system_report.


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