diff --git a/grade/export/xml/grade_export_xml.php b/grade/export/xml/grade_export_xml.php
index 4f3d99f85ae..c91122b0b97 100644
--- a/grade/export/xml/grade_export_xml.php
+++ b/grade/export/xml/grade_export_xml.php
@@ -68,7 +68,6 @@ class grade_export_xml extends grade_export {
foreach ($userdata->grades as $itemid => $grade) {
$grade_item = $this->grade_items[$itemid];
$grade->grade_item =& $grade_item;
- $gradestr = $this->format_grade($grade, $this->displaytype); // no formating for now
// MDL-11669, skip exported grades or bad grades (if setting says so)
if ($export_tracking) {
@@ -90,10 +89,15 @@ class grade_export_xml extends grade_export {
fwrite($handle, "\t\t{$user->idnumber}\n");
// Format and display the grade in the selected display type (real, letter, percentage).
if (is_array($this->displaytype)) {
+ // Grades display type came from the return of export_bulk_export_data() on grade publishing.
foreach ($this->displaytype as $gradedisplayconst) {
$gradestr = $this->format_grade($grade, $gradedisplayconst);
fwrite($handle, "\t\t$gradestr\n");
}
+ } else {
+ // Grade display type submitted directly from the grade export form.
+ $gradestr = $this->format_grade($grade, $this->displaytype);
+ fwrite($handle, "\t\t$gradestr\n");
}
if ($this->export_feedback) {