Status: Development in progress
Affects Version/s: 3.9
Fix Version/s: None
Pull from Repository:
Pull Master Branch:MDL-68042-master
Pull Master Diff URL:
As part of our changes to support the new Participants Page filter project in the
MDL-67743 epic, we are making a number of changes to make both flexible_table and table_sql 'dynamic' - that is AJAX updatable. The intent is to make this work for updating table content, re-sorting, showing and hiding rows, changing pages, filtering content, and any other similar activities.
To make this easier we intend to introduce a number of new classes and interfaces and wish to move all of these to the core_table subsystem. This subsystem already exists, but is not currently configured with a directory, classes, GDPR configuration, etc.
This issue seeks to move:
- \flexible_table to \core_table\flexible_table
- \table_sql to \core_table\sql_table
- All of the relevant TABLE_VAR_ and TABLE_P_ constants to class constants on the flexible_table class
- \table_default_export_format_parent to \core_table\local\dataformat
- \table_dataformat_export_format to \core_table\local\dataformat\export
The side-benefits of things change will be that it is no longer necessary to necessary to include/require lib/tablelib.php.
There are only about 50-60 uses of these in core.
In addition to these changes, this issue seeks to correct coding style on all of the affected classes by:
- defining variable visibility where none was defined
- defining function visibility where none was defined, taking into account comments as to the 'public' nature of the function
- renaming variables where reasonable