. /** * This file contains the form for importing sessions from a file. * * @package mod_attendance * @author Chris Wharton * @copyright 2017 Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace mod_attendance\form\import; defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); use core_text; use csv_import_reader; use moodleform; require_once($CFG->libdir . '/formslib.php'); require_once($CFG->libdir . '/csvlib.class.php'); /** * Import attendance sessions. * * @package mod_attendance * @author Chris Wharton * @copyright 2017 Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class sessions extends moodleform { /** * Define the form - called by parent constructor */ public function definition() { global $CFG; $mform = $this->_form; $element = $mform->createElement('filepicker', 'importfile', get_string('importfile', 'mod_attendance')); $mform->addElement($element); $mform->addHelpButton('importfile', 'importfile', 'mod_attendance'); $mform->addRule('importfile', null, 'required'); $mform->addElement('hidden', 'confirm', 0); $mform->setType('confirm', PARAM_BOOL); $choices = csv_import_reader::get_delimiter_list(); $mform->addElement('select', 'delimiter_name', get_string('csvdelimiter', 'mod_attendance'), $choices); if (array_key_exists('cfg', $choices)) { $mform->setDefault('delimiter_name', 'cfg'); } else if (get_string('listsep', 'langconfig') == ';') { $mform->setDefault('delimiter_name', 'semicolon'); } else { $mform->setDefault('delimiter_name', 'comma'); } $choices = core_text::get_encodings(); $mform->addElement('select', 'encoding', get_string('encoding', 'mod_attendance'), $choices); $mform->setDefault('encoding', 'UTF-8'); $this->add_action_buttons(false, get_string('import', 'mod_attendance')); } /** * Display an error on the import form. * * @param string $msg */ public function set_import_error($msg) { $mform = $this->_form; $mform->setElementError('importfile', $msg); } }