/** * Get information on outcomes * @param int $courseid * @return grade_plugin_info */ public static function get_info_outcomes($courseid) { global $CFG, $SITE; if (self::$outcomeinfo !== null) { return self::$outcomeinfo; } $context = context_course::instance($courseid); $canmanage = has_capability('moodle/grade:manage', $context); $canupdate = has_capability('moodle/course:update', $context); if (!empty($CFG->enableoutcomes) && ($canmanage || $canupdate)) { $outcomes = array(); if ($canupdate) { if ($courseid != $SITE->id) { $url = new moodle_url('/grade/edit/outcome/course.php', array('id' => $courseid)); $outcomes['course'] = new grade_plugin_info('course', $url, get_string('outcomescourse', 'grades')); } $url = new moodle_url('/grade/edit/outcome/index.php', array('id' => $courseid)); $outcomes['edit'] = new grade_plugin_info('edit', $url, get_string('editoutcomes', 'grades')); $url = new moodle_url('/grade/edit/outcome/import.php', array('courseid' => $courseid)); $outcomes['import'] = new grade_plugin_info('import', $url, get_string('importoutcomes', 'grades')); } else { if ($courseid != $SITE->id) { $url = new moodle_url('/grade/edit/outcome/course.php', array('id' => $courseid)); $outcomes['edit'] = new grade_plugin_info('edit', $url, get_string('outcomescourse', 'grades')); } } self::$outcomeinfo = $outcomes; } else { self::$outcomeinfo = false; } return self::$outcomeinfo; }