Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
core_customfield\field_controller Class Reference

Base class for custom fields controllers. More...

Inheritance diagram for core_customfield\field_controller:

Public Member Functions

 __construct (int $id=0, stdClass $record=null)
 Constructor.
 
 config_form_definition (\MoodleQuickForm $mform)
 Add specific settings to the field configuration form, for example "default value".
 
 config_form_validation (array $data, $files=array())
 Validate the data on the field configuration form.
 
 course_grouping_format_values ($values)
 If this field supports course filtering, then this function needs overriding to return the formatted values for this.
 
 delete ()
 Delete a field and all associated data.
 
 get (string $property)
 Persistent getter parser.
 
 get_category ()
 Get the category associated with this field.
 
 get_configdata_property (string $property)
 Get configdata property.
 
 get_formatted_name ()
 Returns the field name formatted according to configuration context.
 
 get_handler ()
 Returns a handler for this field.
 
 parse_value (string $value)
 Perform pre-processing of field values, for example those that originate from an external source (e.g.
 
 prepare_for_config_form (\stdClass $formdata)
 Prepare the field data to set in the configuration form.
 
 save ()
 Save or update the persistent class to database.
 
 set ($property, $value)
 Persistent setter parser.
 
 supports_course_grouping ()
 Does this custom field type support being used as part of the block_myoverview custom field grouping?
 
 to_record ()
 Persistent to_record parser.
 

Static Public Member Functions

static create (int $id, stdClass $record=null, category_controller $category=null)
 Creates an instance of field_controller.
 

Protected Attributes

category_controller $category
 Category of the field.
 
field $field
 Field persistent class.
 

Detailed Description

Base class for custom fields controllers.

This class is a wrapper around the persistent field class that allows to define the field configuration

Custom field plugins must define a class {pluginname}field_controller extends core_customfield\field_controller

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

Constructor & Destructor Documentation

◆ __construct()

core_customfield\field_controller::__construct ( int $id = 0,
stdClass $record = null )

Constructor.

Parameters
int$id
stdClass | null$record

Member Function Documentation

◆ config_form_definition()

core_customfield\field_controller::config_form_definition ( \MoodleQuickForm $mform)
abstract

Add specific settings to the field configuration form, for example "default value".

Parameters
MoodleQuickForm$mform

Reimplemented in customfield_checkbox\field_controller, customfield_date\field_controller, customfield_select\field_controller, customfield_text\field_controller, and customfield_textarea\field_controller.

◆ config_form_validation()

core_customfield\field_controller::config_form_validation ( array $data,
$files = array() )

Validate the data on the field configuration form.

Plugins can override it

Parameters
array$datafrom the add/edit profile field form
array$files
Return values
arrayassociative array of error messages

Reimplemented in customfield_checkbox\field_controller, customfield_date\field_controller, customfield_select\field_controller, and customfield_text\field_controller.

◆ course_grouping_format_values()

core_customfield\field_controller::course_grouping_format_values ( $values)

If this field supports course filtering, then this function needs overriding to return the formatted values for this.

Parameters
array$valuesthe used values that need grouping
Return values
array

Reimplemented in customfield_checkbox\field_controller, customfield_date\field_controller, customfield_select\field_controller, and customfield_text\field_controller.

◆ create()

static core_customfield\field_controller::create ( int $id,
stdClass $record = null,
category_controller $category = null )
static

Creates an instance of field_controller.

Parameters $id, $record and $category can complement each other but not conflict. If $id is not specified, categoryid must be present either in $record or in $category. If $id is not specified, type must be present in $record

No DB queries are performed if both $record and $category are specified.

Parameters
int$id
stdClass | null$record
category_controller | null$category
Return values
field_controllerwill return the instance of the class from the customfield element plugin
Exceptions
coding_exception
moodle_exception

◆ delete()

core_customfield\field_controller::delete ( )

Delete a field and all associated data.

Plugins may override it if it is necessary to delete related data (such as files)

Not that the delete() method from data_controller is not called here.

Return values
bool

Reimplemented in customfield_textarea\field_controller.

◆ get()

core_customfield\field_controller::get ( string $property)
final

Persistent getter parser.

Parameters
string$property
Return values
mixed

◆ get_category()

core_customfield\field_controller::get_category ( )
final

Get the category associated with this field.

Return values
category_controller

◆ get_configdata_property()

core_customfield\field_controller::get_configdata_property ( string $property)

Get configdata property.

Parameters
string$propertyname of the property
Return values
mixed

◆ get_formatted_name()

core_customfield\field_controller::get_formatted_name ( )

Returns the field name formatted according to configuration context.

Return values
string

◆ get_handler()

core_customfield\field_controller::get_handler ( )
final

Returns a handler for this field.

Return values
handler

◆ parse_value()

core_customfield\field_controller::parse_value ( string $value)

Perform pre-processing of field values, for example those that originate from an external source (e.g.

upload course tool)

Override in plugin classes as necessary

Parameters
string$value
Return values
mixed

Reimplemented in customfield_date\field_controller, and customfield_select\field_controller.

◆ prepare_for_config_form()

core_customfield\field_controller::prepare_for_config_form ( \stdClass $formdata)

Prepare the field data to set in the configuration form.

Plugin can override if some preprocessing required for editor or filemanager fields

Parameters
stdClass$formdata

Reimplemented in customfield_textarea\field_controller.

◆ save()

core_customfield\field_controller::save ( )

Save or update the persistent class to database.

Return values
void

Reimplemented in customfield_textarea\field_controller.

◆ set()

core_customfield\field_controller::set ( $property,
$value )
final

Persistent setter parser.

Parameters
string$property
mixed$value
Return values
field

◆ supports_course_grouping()

core_customfield\field_controller::supports_course_grouping ( )

Does this custom field type support being used as part of the block_myoverview custom field grouping?

Return values
bool

Reimplemented in customfield_checkbox\field_controller, customfield_date\field_controller, customfield_select\field_controller, and customfield_text\field_controller.

◆ to_record()

core_customfield\field_controller::to_record ( )
final

Persistent to_record parser.

Return values
stdClass

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