Make sure admins know things can go wrong, MSSQL and Oracle were never working, fix block_html config saving issue, skip a lot more tables because the data there is serialised() or can not be changed in case of config tables, more warnings and checkbox confirmation.
This commit:
a) moves modinfo code into new library modinfolib.php
b) uses classes instead of stdClass objects, allowing a huge amount of documentation (and IDE completion)
c) adds hooks so that plugins other than forum can display messages like forum's 'unread', and plugins other than label can display html (apart from/as well as their view.php link) on the course view page
d) removes current hacks for forum and label (mainly in print_section but also across the code), replacing with new 'content' and similar variables [this is the reason for the changes in blocks, etc]
e) reduces size of modinfo in database (only when rebuilt) by excluding empty fields
The change is intended to be backward compatible and does not affect the format of modinfo in database.
The biggest change is that the navigation block has been converted to a proper YUI module.
The following are the other changes made at the same time:
* A loading icon is displayed when a branch is being loaded by AJAX.
* Fixed a bug where you could trigger multiple AJAX requests by rapidly clicking an unloaded branch.
* Fixed a bug where empty branches weren't being marked as such after a successful AJAX load.
* When docked the width of the blocks dock panel is now inspected an increased if required to try avoid horizontal scrolling.
* Removed the no longer needed inclusion of the YUI2 dom library from the navigation and settings block.
* Expandable nodes are now passed as JS data allowing the navigation JS to be initialised through block_navigation::get_required_javascript.
* AJAX is now focused around the branch in question rather than the tree in general.
* Expansion of branches is now delegated to the tree rather than being an individual event on all branches.
* Tidied up the code in general removing unneeded-unused parameters.
The site must be switch at least to DEBUG_NORMAL level and
$CFG->debugdisplay must be turned on. It helps administrators to detect
the problems in their MNet setups.
The patch submitted by Hubert Chathi. I just changed it a bit to use
moodle_url instead of string URLs and to use s() instead of format_string()
when putting the course fullname into title="" attribute value.