/** * Get grade_plugin_info object for managing settings if the user can * * @param int $courseid * @return grade_plugin_info */ public static function get_info_manage_settings($courseid) { if (self::$managesetting !== null) { return self::$managesetting; } $context = context_course::instance($courseid); if (has_capability('moodle/grade:manage', $context)) { self::$managesetting = new grade_plugin_info('coursesettings', new moodle_url('/grade/edit/settings/index.php', array('id' => $courseid)), get_string('course')); } else { self::$managesetting = false; } return self::$managesetting; }
/** * Get grade_plugin_info object for managing settings if the user can * * @param int $courseid * @return grade_plugin_info[] */ public static function get_info_manage_settings($courseid) { if (self::$managesetting !== null) { return self::$managesetting; } $context = context_course::instance($courseid); self::$managesetting = array(); if ($courseid != SITEID && has_capability('moodle/grade:manage', $context)) { self::$managesetting['categoriesanditems'] = new grade_plugin_info('setup', new moodle_url('/grade/edit/tree/index.php', array('id' => $courseid)), get_string('categoriesanditems', 'grades')); self::$managesetting['coursesettings'] = new grade_plugin_info('coursesettings', new moodle_url('/grade/edit/settings/index.php', array('id' => $courseid)), get_string('coursegradesettings', 'grades')); } if (self::$gradereportpreferences === null) { self::get_plugins_reports($courseid); } if (self::$gradereportpreferences) { self::$managesetting = array_merge(self::$managesetting, self::$gradereportpreferences); } return self::$managesetting; }