// Skip course type and category type. if ($grade_item->itemtype == 'course' || $grade_item->itemtype == 'category') { continue; } $displaystring = null; if (!empty($grade_item->itemmodule)) { $displaystring = get_string('modulename', $grade_item->itemmodule) . get_string('labelsep', 'langconfig') . $grade_item->get_name(); } else { $displaystring = $grade_item->get_name(); } $gradeitems[$grade_item->id] = $displaystring; } } } // Set up the import form. $mform = new grade_import_form(null, array('includeseparator' => true, 'verbosescales' => true)); // If the csv file hasn't been imported yet then look for a form submission or // show the initial submission form. if (!$iid) { // If the import form has been submitted. if ($formdata = $mform->get_data()) { // 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. core_php_time_limit::raise(); raise_memory_limit(MEMORY_EXTRA); // Use current (non-conflicting) time stamp. $importcode = get_new_importcode(); $text = $mform->get_file_content('userfile'); $iid = csv_import_reader::get_new_iid('grade'); $csvimport = new csv_import_reader($iid, 'grade');
} require_login($course); $context = context_course::instance($id); require_capability('moodle/grade:import', $context); require_capability('gradeimport/csv:view', $context); $separatemode = (groups_get_course_groupmode($COURSE) == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups', $context)); $currentgroup = groups_get_course_group($course); print_grade_page_head($course->id, 'import', 'csv', get_string('importcsv', 'grades'), false, false, true, 'importcsv', 'grades'); $renderer = $PAGE->get_renderer('gradeimport_csv'); // Get the grade items to be matched with the import mapping columns. $gradeitems = gradeimport_csv_load_data::fetch_grade_items($course->id); // If the csv file hasn't been imported yet then look for a form submission or // show the initial submission form. if (!$iid) { // Set up the import form. $mform = new grade_import_form(null, array('includeseparator' => true, 'verbosescales' => $verbosescales, 'acceptedtypes' => array('.csv', '.txt'))); // If the import form has been submitted. if ($formdata = $mform->get_data()) { $text = $mform->get_file_content('userfile'); $csvimport = new gradeimport_csv_load_data(); $csvimport->load_csv_content($text, $formdata->encoding, $separator, $formdata->previewrows); $csvimporterror = $csvimport->get_error(); if (!empty($csvimporterror)) { echo $renderer->errors(array($csvimport->get_error())); echo $OUTPUT->footer(); die; } $iid = $csvimport->get_iid(); echo $renderer->import_preview_page($csvimport->get_headers(), $csvimport->get_previewdata()); } else { // Display the standard upload file form.