. /** * Grade item mappings for the activity. * * @package mod_workshop * @copyright Andrew Nicols * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ declare(strict_types = 1); namespace mod_workshop\grades; use core_grades\component_gradeitems; use core_grades\local\gradeitem\fieldname_mapping; use \core_grades\local\gradeitem\itemnumber_mapping; /** * Grade item mappings for the activity. * * @package mod_workshop * @copyright Andrew Nicols * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class gradeitems implements itemnumber_mapping, fieldname_mapping { /** * Return the list of grade item mappings for the workshop. * * @return array */ public static function get_itemname_mapping_for_component(): array { return [ 0 => 'submission', 1 => 'grading', ]; } /** * Get the suffixed field name for an activity field mapped from its itemnumber. * * For legacy reasons, the first itemnumber has no suffix on field names. * * @param string $component The component that the grade item belongs to * @param int $itemnumber The grade itemnumber * @param string $fieldname The name of the field to be rewritten * @return string The translated field name */ public static function get_field_name_for_itemnumber(string $component, int $itemnumber, string $fieldname): string { $itemname = component_gradeitems::get_itemname_from_itemnumber($component, $itemnumber); if ($itemname) { return "{$itemname}{$fieldname}"; } return $fieldname; } }