MDL-49489 caching: Prevent full coursecontact purge

This commit is contained in:
Skylar Kelty 2015-03-16 09:22:53 +00:00
parent 06122e46fd
commit 6a5681db1b

View file

@ -713,7 +713,8 @@ class coursecat implements renderable, cacheable_object, IteratorAggregate {
if (empty($cacheddata['basic']) || $cacheddata['basic']['roles'] !== $CFG->coursecontact ||
$cacheddata['basic']['lastreset'] < time() - self::CACHE_COURSE_CONTACTS_TTL) {
// Reset cache.
$cache->purge();
$keys = $DB->get_fieldset_select('course', 'id', '');
$cache->delete_many($keys);
$cache->set('basic', array('roles' => $CFG->coursecontact, 'lastreset' => time()));
$cacheddata = $cache->get_many(array_merge(array('basic'), array_keys($courses)));
}