Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401]

Contains renderer used for displaying rubric

Copyright: 2011 Marina Glancy
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 658 lines (35 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: gradingform_rubric_renderer  - X-Ref

Grading method plugin renderer

criterion_template($mode, $options, $elementname = '{NAME}', $criterion = null, $levelsstr = '{LEVELS}', $value = null)   X-Ref
This function returns html code for displaying criterion. Depending on $mode it may be the
code to edit rubric, to preview the rubric, to evaluate somebody or to review the evaluation.

This function may be called from display_rubric() to display the whole rubric, or it can be
called by itself to return a template used by JavaScript to add new empty criteria to the
rubric being designed.
In this case it will use macros like {NAME}, {LEVELS}, {CRITERION-id}, etc.

When overriding this function it is very important to remember that all elements of html
form (in edit or evaluate mode) must have the name $elementname.

Also JavaScript relies on the class names of elements and when developer changes them
script might stop working.

param: int $mode rubric display mode, see {@link gradingform_rubric_controller}
param: array $options display options for this rubric, defaults are: {@link gradingform_rubric_controller::get_default_options()}
param: string $elementname the name of the form element (in editor mode) or the prefix for div ids (in view mode)
param: array|null $criterion criterion data
param: string $levelsstr evaluated templates for this criterion levels
param: array|null $value (only in view mode) teacher's feedback on this criterion
return: string

level_template($mode, $options, $elementname = '{NAME}', $criterionid = '{CRITERION-id}', $level = null)   X-Ref
This function returns html code for displaying one level of one criterion. Depending on $mode
it may be the code to edit rubric, to preview the rubric, to evaluate somebody or to review the evaluation.

This function may be called from display_rubric() to display the whole rubric, or it can be
called by itself to return a template used by JavaScript to add new empty level to the
criterion during the design of rubric.
In this case it will use macros like {NAME}, {CRITERION-id}, {LEVEL-id}, etc.

When overriding this function it is very important to remember that all elements of html
form (in edit or evaluate mode) must have the name $elementname.

Also JavaScript relies on the class names of elements and when developer changes them
script might stop working.

param: int $mode rubric display mode see {@link gradingform_rubric_controller}
param: array $options display options for this rubric, defaults are: {@link gradingform_rubric_controller::get_default_options()}
param: string $elementname the name of the form element (in editor mode) or the prefix for div ids (in view mode)
param: string|int $criterionid either id of the nesting criterion or a macro for template
param: array|null $level level data, also in view mode it might also have property $level['checked'] whether this level is checked
return: string

rubric_template($mode, $options, $elementname, $criteriastr)   X-Ref
This function returns html code for displaying rubric template (content before and after
criteria list). Depending on $mode it may be the code to edit rubric, to preview the rubric,
to evaluate somebody or to review the evaluation.

This function is called from display_rubric() to display the whole rubric.

When overriding this function it is very important to remember that all elements of html
form (in edit or evaluate mode) must have the name $elementname.

Also JavaScript relies on the class names of elements and when developer changes them
script might stop working.

param: int $mode rubric display mode see {@link gradingform_rubric_controller}
param: array $options display options for this rubric, defaults are: {@link gradingform_rubric_controller::get_default_options()}
param: string $elementname the name of the form element (in editor mode) or the prefix for div ids (in view mode)
param: string $criteriastr evaluated templates for this rubric's criteria
return: string

rubric_edit_options($mode, $options)   X-Ref
Generates html template to view/edit the rubric options. Expression {NAME} is used in
template for the form element name

param: int $mode rubric display mode see {@link gradingform_rubric_controller}
param: array $options display options for this rubric, defaults are: {@link gradingform_rubric_controller::get_default_options()}
return: string

display_rubric($criteria, $options, $mode, $elementname = null, $values = null)   X-Ref
This function returns html code for displaying rubric. Depending on $mode it may be the code
to edit rubric, to preview the rubric, to evaluate somebody or to review the evaluation.

It is very unlikely that this function needs to be overriden by theme. It does not produce
any html code, it just prepares data about rubric design and evaluation, adds the CSS
class to elements and calls the functions level_template, criterion_template and
rubric_template

param: array $criteria data about the rubric design
param: array $options display options for this rubric, defaults are: {@link gradingform_rubric_controller::get_default_options()}
param: int $mode rubric display mode, see {@link gradingform_rubric_controller}
param: string $elementname the name of the form element (in editor mode) or the prefix for div ids (in view mode)
param: array $values evaluation result
return: string

get_css_class_suffix($idx, $maxidx)   X-Ref
Help function to return CSS class names for element (first/last/even/odd) with leading space

param: int $idx index of this element in the row/column
param: int $maxidx maximum index of the element in the row/column
return: string

display_instances($instances, $defaultcontent, $cangrade)   X-Ref
Displays for the student the list of instances or default content if no instances found

param: array $instances array of objects of type gradingform_rubric_instance
param: string $defaultcontent default string that would be displayed without advanced grading
param: boolean $cangrade whether current user has capability to grade in this context
return: string

display_instance(gradingform_rubric_instance $instance, $idx, $cangrade)   X-Ref
Displays one grading instance

param: gradingform_rubric_instance $instance
param: int $idx unique number of instance on page
param: bool $cangrade whether current user has capability to grade in this context

display_regrade_confirmation($elementname, $changelevel, $value)   X-Ref
Displays confirmation that students require re-grading

param: string $elementname
param: int $changelevel
param: string $value
return: string

display_rubric_mapping_explained($scores)   X-Ref
Generates and returns HTML code to display information box about how rubric score is converted to the grade

param: array $scores
return: string