MDL-65394 portfolio: add cache for portfolio_add_button
[moodle.git] / lib / portfoliolib.php
index 68d5fe5..cc00cc5 100644 (file)
@@ -117,7 +117,14 @@ class portfolio_add_button {
             debugging('Building portfolio add button while portfolios is disabled. This code can be optimised.', DEBUG_DEVELOPER);
         }
 
-        $this->instances = portfolio_instances();
+        $cache = cache::make('core', 'portfolio_add_button_portfolio_instances');
+        $instances = $cache->get('instances');
+        if ($instances === false) {
+            $instances = portfolio_instances();
+            $cache->set('instances', $instances);
+        }
+
+        $this->instances = $instances;
         if (empty($options)) {
             return true;
         }