/** * Get information export plugins * @param int $courseid * @return array */ public static function get_plugins_export($courseid) { global $CFG; if (self::$exportplugins !== null) { return self::$exportplugins; } $context = context_course::instance($courseid); $exportplugins = array(); if (has_capability('moodle/grade:export', $context)) { foreach (core_component::get_plugin_list('gradeexport') as $plugin => $plugindir) { if (!has_capability('gradeexport/' . $plugin . ':view', $context)) { continue; } $pluginstr = get_string('pluginname', 'gradeexport_' . $plugin); $url = new moodle_url('/grade/export/' . $plugin . '/index.php', array('id' => $courseid)); $exportplugins[$plugin] = new grade_plugin_info($plugin, $url, $pluginstr); } if ($CFG->gradepublishing) { $url = new moodle_url('/grade/export/keymanager.php', array('id' => $courseid)); $exportplugins['keymanager'] = new grade_plugin_info('keymanager', $url, get_string('keymanager', 'grades')); } } if (count($exportplugins) > 0) { asort($exportplugins); self::$exportplugins = $exportplugins; } else { self::$exportplugins = false; } return self::$exportplugins; }