echo html_writer::table($table); } else { // Display the standard upload file form. groups_print_course_menu($course, 'index.php?id=' . $id); echo html_writer::start_tag('div', array('class' => 'clearer')); echo html_writer::end_tag('div'); $mform->display(); echo $OUTPUT->footer(); die; } } // Data has already been submitted so we can use the $iid to retrieve it. $csvimport = new csv_import_reader($iid, 'grade'); $header = $csvimport->get_columns(); // we create a form to handle mapping data from the file to the database. $mform2 = new grade_import_mapping_form(null, array('gradeitems' => $gradeitems, 'header' => $header)); $mform2->set_data(array('iid' => $iid, 'id' => $id, 'importcode' => $importcode, 'verbosescales' => $verbosescales)); // Here, if we have data, we process the fields and enter the information into the database. if ($formdata = $mform2->get_data()) { foreach ($header as $i => $h) { $h = trim($h); // Remove whitespace. $h = clean_param($h, PARAM_RAW); // Clean the header. $header[$i] = $h; } $map = array(); // loops mapping_0, mapping_1 .. mapping_n and construct $map array foreach ($header as $i => $head) { if (isset($formdata->{'mapping_' . $i})) { $map[$i] = $formdata->{'mapping_' . $i};
$h = clean_param($h, PARAM_RAW); echo '<th>' . $h . '</th>'; } echo '</tr>'; while (!feof($fp) && $numlines <= $formdata->previewrows) { $lines = split($csv_delimiter, fgets($fp, GRADE_CSV_LINE_LENGTH)); 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(null, array('gradeitems' => $gradeitems, 'header' => $header)); $mform2->set_data(array('importcode' => $importcode, 'id' => $id, 'verbosescales' => $verbosescales, 'separator' => $separator)); $mform2->display(); //} else if (($formdata = data_submitted()) && !empty($formdata->map)) { // else if grade import mapping form is submitted } else { if ($formdata = $mform2->get_data()) { $importcode = clean_param($formdata->importcode, PARAM_FILE); $filename = $CFG->dataroot . '/temp/gradeimport/cvs/' . $USER->id . '/' . $importcode; if (!file_exists($filename)) { error('error processing upload file'); } if ($fp = fopen($filename, "r")) { // --- get header (field names) --- $header = split($csv_delimiter, clean_param(fgets($fp, GRADE_CSV_LINE_LENGTH), PARAM_RAW)); foreach ($header as $i => $h) {
// Display the standard upload file form. echo $renderer->standard_upload_file_form($course, $mform); echo $OUTPUT->footer(); die; } } // Data has already been submitted so we can use the $iid to retrieve it. $csvimport = new csv_import_reader($iid, 'grade'); $header = $csvimport->get_columns(); // Get a new import code for updating to the grade book. if (empty($importcode)) { $importcode = get_new_importcode(); } $mappingformdata = array('gradeitems' => $gradeitems, 'header' => $header, 'iid' => $iid, 'id' => $id, 'importcode' => $importcode, 'forceimport' => $forceimport, 'verbosescales' => $verbosescales); // we create a form to handle mapping data from the file to the database. $mform2 = new grade_import_mapping_form(null, $mappingformdata); // Here, if we have data, we process the fields and enter the information into the database. if ($formdata = $mform2->get_data()) { $gradeimport = new gradeimport_csv_load_data(); $status = $gradeimport->prepare_import_grade_data($header, $formdata, $csvimport, $course->id, $separatemode, $currentgroup, $verbosescales); // At this stage if things are all ok, we commit the changes from temp table. if ($status) { grade_import_commit($course->id, $importcode); } else { $errors = $gradeimport->get_gradebookerrors(); $errors[] = get_string('importfailed', 'grades'); echo $renderer->errors($errors); } echo $OUTPUT->footer(); } else { // If data hasn't been submitted then display the data mapping form.
foreach ($lines as $line) { echo '<td>' . $line . '</td>'; } $numlines++; echo '</tr>'; } echo '</table>'; /// feeding gradeitems into the grade_import_mapping_form $gradeitems = array(); if ($id) { if ($grade_items = grade_item::fetch_all(array('courseid' => $id))) { foreach ($grade_items as $grade_item) { // skip course type and category type if ($grade_item->itemtype == 'course' || $grade_item->itemtype == 'category') { continue; } // this was idnumber $gradeitems[$grade_item->id] = $grade_item->get_name(); } } } // display the mapping form with header info processed $mform2 = new grade_import_mapping_form(null, array('gradeitems' => $gradeitems, 'header' => $header)); $mform2->set_data(array('importcode' => $importcode, 'id' => $id)); $mform2->display(); } else { // display the standard upload file form $mform->display(); } } print_footer();
$h = clean_param($h, PARAM_RAW); 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(null, array('gradeitems' => $gradeitems, 'header' => $header)); $mform2->set_data(array('importcode' => $importcode, 'id' => $id)); $mform2->display(); //} else if (($formdata = data_submitted()) && !empty($formdata->map)) { // else if grade import mapping form is submitted } else { if ($formdata = $mform2->get_data()) { $importcode = clean_param($formdata->importcode, PARAM_FILE); $filename = $CFG->dataroot . '/temp/gradeimport/cvs/' . $USER->id . '/' . $importcode; if (!file_exists($filename)) { error('error processing upload file'); } if ($fp = fopen($filename, "r")) { // --- get header (field names) --- $header = split($csv_delimiter, clean_param(fgets($fp, 1024), PARAM_RAW)); foreach ($header as $i => $h) {