New string is available. Use get_string('labelsep', 'langconfig') to be used
as a separator between a label and the labelled text. If you want to
produce <label> HTML element, you may be interested in the new
html_writer::label() method. Simple selects and URL selects now use it.
There are bambillion places where ': ' is hardcoded as a separator. I do
not think we have to fix them manually now (and mass search and replace
would be tricky) but everybody should stop adding new.
Do not abuse 'labelsep' for any other purposes. Note that it may not be
colon in some languages or sites.
Now, url_select checks for valid URLs in optgrouped lists and paramater
'selected' is converted to the local URL form, too. The patch also
fixes a legacy handling of thr Gradebook plugins selector.
This was a blocker for CLI installer. After a site is installed via CLI,
the admin has to log in and edit his/her profile. The profile editing
page did not work as it run into this if {} statement, producing fatal
error.
Thanks very much to Remote Learner Canada, especially Hubert Chathi and Olav Jordan, for their work on the bulk of this code, and also Mike Churchward for supporting them. I worked on it after that (actually simplified it by removing a feature temporarily: multiple pages) to bring it more to what I was imagining, and to provide a base to build on and get all the navigation perfect.
There's still work to do. Some blocks don't quite work as expected, and some of the code still needs upgrading to bring it fully into line with 2.0. We also could use a much better course overview block and better CSS styling of the profile pages. But it's definitely more usable this it was, I think.
Admin can now select a theme for modern browsers and old browsers, the user then sees the modern theme with modern browsers and legacy theme with old browsers. Currenlty IE6 (or less) are considered old browsers.
Navigation has now been re-ordered in accordance with http://docs.moodle.org/en/Development:Navigation_2.0_structure.
This has led to several changes in the way in which navigation is generated included API changes, most notably using the
navigation_nodes add method now returns the newly added node rather than the key.
At the same time the global_navigation_tree block has been renamed to navigation and settings_navigation_tree to settings.