Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
core_customfield\field_controller Class Reference

Base class for custom fields controllers. More...

Inheritance diagram for core_customfield\field_controller:
customfield_checkbox\field_controller customfield_date\field_controller customfield_select\field_controller customfield_text\field_controller customfield_textarea\field_controller

Public Member Functions

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

Static Public Member Functions

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

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_textarea\field_controller, customfield_text\field_controller, customfield_select\field_controller, customfield_date\field_controller, and customfield_checkbox\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_text\field_controller, customfield_select\field_controller, customfield_date\field_controller, and customfield_checkbox\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_text\field_controller, customfield_select\field_controller, customfield_date\field_controller, and customfield_checkbox\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

◆ 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_text\field_controller, customfield_select\field_controller, customfield_date\field_controller, and customfield_checkbox\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: