From e7b8a32f80a3ea08482cfffb3ded3bc107abea08 Mon Sep 17 00:00:00 2001
From: toyomoyo <toyomoyo>
Date: Fri, 12 Oct 2007 03:15:22 +0000
Subject: [PATCH] MDL-11715, merged fix, export form should follow sort order

---
 grade/export/grade_export_form.php | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/grade/export/grade_export_form.php b/grade/export/grade_export_form.php
index 210b695c5f..4710df4d51 100755
--- a/grade/export/grade_export_form.php
+++ b/grade/export/grade_export_form.php
@@ -114,7 +114,20 @@ class grade_export_form extends moodleform {
 
         $mform->addElement('header', 'gradeitems', get_string('gradeitemsinc', 'grades'));
 
-        if ($grade_items = grade_item::fetch_all(array('courseid'=>$COURSE->id))) {
+        if ($all_grade_items = grade_item::fetch_all(array('courseid'=>$COURSE->id))) {
+            // follow proper sort order, MDL-11715
+            $grade_items = array();
+            foreach ($all_grade_items as $item) {
+                $grade_items[$item->sortorder] = $item;
+            }
+            unset($all_grade_items);
+            ksort($grade_items);
+
+            // Put course total at the end
+            $total = $grade_items[1];
+            unset($grade_items[1]);
+            $grade_items[] = $total;          
+            
             foreach ($grade_items as $grade_item) {
                 if (!empty($features['idnumberrequired']) and empty($grade_item->idnumber)) {
                     $mform->addElement('advcheckbox', 'itemids['.$grade_item->id.']', $grade_item->get_name(), get_string('noidnumber', 'grades'));
-- 
2.39.5