calendar: performance optimisations + behaviour fix (MDL-7416 MDL-9617)

With 2500 courses the calendar was causing around 15000 queries at login and 5000 on the home page.

- Replaced queries inside loops with single unlooped queries.
- Fixed calendar so that course events will show when the users role is assigned at a category level.
- Moved calendar_session_vars() function call out of calendar/lib.php (including a lib should not have side effects)

Author: Matt Clarkson - with some conflict resolution from MartinL
This commit is contained in:
martinlanghoff 2007-05-06 04:28:11 +00:00
parent f261e052f2
commit 37d87d11f9
8 changed files with 39 additions and 16 deletions

View file

@ -17,6 +17,9 @@ if(!$site = get_site()) {
redirect($CFG->wwwroot.'/'.$CFG->admin.'/index.php');
}
// Initialize the session variables
calendar_session_vars();
$pagetitle = get_string('export', 'calendar');
$now = usergetdate(time());
$nav = calendar_get_link_tag(get_string('calendar', 'calendar'), CALENDAR_URL.'view.php?view=upcoming&', $now['mday'], $now['mon'], $now['year']).' -> '.$pagetitle;