Four core library classes renamed for autoloading with deprecated stubs
have been converted to the new scheme for autoloading.
They are:
* textlib
* collatorlib
* plugin_manager
* plugininfo_base
These will be removed in 2.9 by MDL-46124
I've added a better means of renaming classes for autoloading and
handling the deprecation of the original class name.
This system records renamed classes in db/renamedclasses.php and
when a renamed class is requested a debugging notice is printed
and a class alias is created so that the calling code both works
and is informed of the deprecation.
In several places we only want to output a certain bit of HTML (e.g. the
contents on the mod chooser) once per page.
This used to be done with a static variable in the function, which
meant the logic was once per PHP-script execution, not once-per-page.
Now there is a new bit of API in page_requirements_manager to handle
this properly.
When different ID's are set for each sequence a number
of unit test failures appear. They have been corrected
to allow unit tests to pass with the new generator in place.
This patch includes following fixes:
- messages may be now sent when database transactions active
- consistent return status on failure from message_send(), false is
returned only when message not created in message(_read)? table,
processor failure results in debugging message only and messages
are not marked as read
- message_sent is triggered always with id from message table
- logic for marking messages as viewed was standardised
- message_viewed event is triggered consistently
- improved performance when fetching user preferences
- full unit tests coverage for send_message() function
- fixed multiple other smaller issues discovered by unit tests
When all starting autoincrement ids are the same, it's difficult to detect coding and testing
errors that use the incorrect id in test calls. The classic case is cmid vs instance id.
To reduce the chance of the coding error we start sequences at different values where possible.
OUBlog installation is the case that highlighted this as it inserts a sitewide course module
at install time and cmid <> instance id in most cases.