. /** * This file contains the form for importing a framework from a file. * * @package tool_lpimportcsv * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace tool_lpimportcsv\form; defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); use moodleform; use core_competency\api; use core_text; use csv_import_reader; require_once($CFG->libdir.'/formslib.php'); /** * Import Competency framework form. * * @package tool_lpimportcsv * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class import extends moodleform { /** * Define the form - called by parent constructor */ public function definition() { global $CFG; require_once($CFG->libdir . '/csvlib.class.php'); $mform = $this->_form; $element = $mform->createElement('filepicker', 'importfile', get_string('importfile', 'tool_lpimportcsv')); $mform->addElement($element); $mform->addHelpButton('importfile', 'importfile', 'tool_lpimportcsv'); $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', 'tool_lpimportcsv'), $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', 'tool_lpimportcsv'), $choices); $mform->setDefault('encoding', 'UTF-8'); $this->add_action_buttons(false, get_string('import', 'tool_lpimportcsv')); } /** * Display an error on the import form. * @param string $msg */ public function set_import_error($msg) { $mform = $this->_form; $mform->setElementError('importfile', $msg); } }