From ce4619be9bc0edaec22c58c448d45f79e6eba38c Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Thu, 8 Aug 2013 10:20:56 +0800 Subject: [PATCH] MDL-41082 navigation: Remove unnecessary load of portfolio instances --- lib/navigationlib.php | 2 +- lib/portfoliolib.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 42d309d825f..683f0a73e2a 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -4049,7 +4049,7 @@ class settings_navigation extends navigation_node { // Portfolio if ($currentuser && !empty($CFG->enableportfolios) && has_capability('moodle/portfolio:export', $systemcontext)) { require_once($CFG->libdir . '/portfoliolib.php'); - if (portfolio_instances(true, false)) { + if (portfolio_has_visible_instances()) { $portfolio = $usersetting->add(get_string('portfolios', 'portfolio'), null, self::TYPE_SETTING); $url = new moodle_url('/user/portfolio.php', array('courseid'=>$course->id)); diff --git a/lib/portfoliolib.php b/lib/portfoliolib.php index be29c326cae..228080fd64b 100644 --- a/lib/portfoliolib.php +++ b/lib/portfoliolib.php @@ -533,6 +533,16 @@ function portfolio_instances($visibleonly=true, $useronly=true) { return $instances; } +/** + * Return whether there are visible instances in portfolio. + * + * @return bool true when there are some visible instances. + */ +function portfolio_has_visible_instances() { + global $DB; + return $DB->record_exists('portfolio_instance', array('visible' => 1)); +} + /** * Supported formats currently in use. * Canonical place for a list of all formats