Convert to system report API provided by Report builder. The entity
defined the column and filters, which are used by the system
report class we have created.
Report actions are also defined in the system report.
Improve the Test outgoing mail configuration admin page adding:
- Timestamp to the subject and message text.
- Additional subject text to the current text subject.
- From field (username or email) to send the test email from the that Moodle user.
When defining settings that are used by scheduled tasks,
it is also useful, or even needed, to know the status
of that scheduled task to have the whole big picture of
that part of the system.
Based on the admin_setting_description, this new setting
reports its name, its status, a link to the configuration.
When adding a new setting of this type, the user can add
an extra description field to complete the whole meaning.
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.
Since the class has only just been added to Moodle, now is a good
time to move it.
In all cases changes have been kept to a minimum while not making
the code completely horrible. For example, there are many instances
where it would probably be better to rewrite a query entirely, but
I have not done that (in order to reduce the risk of changes).