예제 #1
0
 /**
  * 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;
 }