and admins can approve or reject pending courses.
Also, contains the ability to restrict activity modules on a per course basic. Strict config options:
enable restricting modules at ALL (for all courses, no courses, requested courses), what to do by default for newly created courses
as well as what modules to enable for above category by default.
This feature was created for the aim of building a community side to moodle - for institutes that have strict courses and enrolments, allowing normal users to request interest courses is a good feature,
but some modules may be redundant (assignment, lesson, quiz etc)
Please test!
Why this function uses its own code to build the menu where we have
the "standard" navmenu() function? Cannot it be resused with a simple
modification to add the "All Activities" item?
The navmenu() function seems to be better.
The visibility of coursemodules is now always set through the function set_coursemodule_visible() in order to make sure that the associated events get updated in the calendar appropriately.
If moving a coursemodule to a hidden section then the module is set to hidden as well and its events are hidden in the calendar.
If deleting a coursemodule its events are deleted from the calendar.
The function choose_from_menu() has an extra optional argument $disabled which, when set to true, will disable the menu.
For the sake of consistency the function set_groupmode_for_module has been renamed to set_coursemodule_groupmode and the functions show_course_module() and hide_course_module() have been combined to set_coursemodule_visible().
Many thanks to Mike Churchward for his work on this and persevering
with sending updated versions to me. :-)
Shane and I have polished it up, rewritten a few parts (display-related)
and here it is, finally in CVS!
I think there will still need to be some optimisation for the SQL,
since it's still pretty intensive. Perhaps some sort of caching in
the session that gets modified along with the database whenever
something gets read.
However if there are problems the whole thing can be switched off
in the forum module config so this is not crucially urgent.