MDL-69109 core: use different cache keys for FA icon maps
authorMarina Glancy <marina@moodle.com>
Mon, 22 Jun 2020 13:09:15 +0000 (15:09 +0200)
committerAndrew Nicols <andrew@nicols.co.uk>
Wed, 8 Jul 2020 00:40:51 +0000 (08:40 +0800)
lib/classes/output/icon_system_fontawesome.php

index ba4ccdb..38ad233 100644 (file)
@@ -440,7 +440,10 @@ class icon_system_fontawesome extends icon_system_font {
         if ($this->map === []) {
             $cache = \cache::make('core', 'fontawesomeiconmapping');
 
-            $this->map = $cache->get('mapping');
+            // Create different mapping keys for different icon system classes, there may be several different
+            // themes on the same site.
+            $mapkey = 'mapping_'.preg_replace('/[^a-zA-Z0-9_]/', '_', get_class($this));
+            $this->map = $cache->get($mapkey);
 
             if (empty($this->map)) {
                 $this->map = $this->get_core_icon_map();
@@ -454,7 +457,7 @@ class icon_system_fontawesome extends icon_system_font {
                         }
                     }
                 }
-                $cache->set('mapping', $this->map);
+                $cache->set($mapkey, $this->map);
             }
 
         }