]> git.mjollnir.org Git - moodle.git/commitdiff
previews specified number of lines for grade imports
authortoyomoyo <toyomoyo>
Wed, 13 Jun 2007 09:07:39 +0000 (09:07 +0000)
committertoyomoyo <toyomoyo>
Wed, 13 Jun 2007 09:07:39 +0000 (09:07 +0000)
grade/import/csv/index.php
grade/import/xml/index.php

index 7e6ee73cf0b471ab398c2c65e1dd8a1907e5c3b6..baf480b765190cf05a1c23c1ad742c0353169d95 100755 (executable)
@@ -222,6 +222,7 @@ if (($formdata = data_submitted()) && !empty($formdata->map)) {
     
     $filename = $mform->get_userfile_name();
     
+    
     // Large files are likely to take their time and memory. Let PHP know
     // that we'll take longer, and that the process should be recycled soon
     // to free up memory.
@@ -248,6 +249,28 @@ if (($formdata = data_submitted()) && !empty($formdata->map)) {
     // --- get header (field names) ---
     $header = split($csv_delimiter, fgets($fp,1024));
     
+    // print some preview
+    $numlines = 0; // 0 preview lines displayed
+
+    print_heading(get_string('importpreview', 'grades'));
+    echo '<table>';
+    echo '<tr>';
+    foreach ($header as $h) {
+        echo '<th>'.$h.'</th>'; 
+    }
+    echo '</tr>';
+    while (!feof ($fp) && $numlines <= $formdata->previewrows) {
+        $lines = split($csv_delimiter, fgets($fp,1024));     
+        echo '<tr>';
+        foreach ($lines as $line) {
+            echo '<td>'.$line.'</td>';;
+        }
+        $numlines ++;
+        echo '</tr>';
+    }
+    echo '</table>';
+        
+    
     // display the mapping form with header info processed
     $mform2 = new grade_import_mapping_form(qualified_me(), array('id'=>$id, 'header'=>$header, 'filename'=>$filename));
     $mform2->display();
index ab6083134fd0f4c4f4ed2a640206b54e6ebb63e3..170a16357eb83ba9e523d8226c0614b4167bfb47 100755 (executable)
@@ -56,7 +56,24 @@ if ( $formdata = $mform->get_data()) {
         $importcode = time();
         $status = true;
         
-        foreach ($results as $result) {
+        $numlines = 0;
+        
+        // print some previews
+        print_heading(get_string('importpreview', 'grades'));
+        
+        echo '<table cellpadding="5">'; 
+        foreach ($results as $i => $result) {
+            if ($numlines < $formdata->previewrows && isset($results[$i+1])) {
+                echo '<tr>';
+                foreach ($result['#'] as $fieldname => $val) {
+                    echo '<td>'.$fieldname.' > '.$val[0]['#'].'</td>';
+                }
+                echo '</tr>';
+                $numlines ++;
+            } else if ($numlines == $formdata->previewrows || !isset($results[$i+1])) {
+                echo '</table>';
+                $numlines ++;
+            }
 
             include_once($CFG->libdir.'/grade/grade_item.php');
             if (!$gradeitem = new grade_item(array('idnumber'=>$result['#']['assignment'][0]['#']))) {