You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				| <?php | |
| // This file is part of Moodle - http://moodle.org/ | |
| // | |
| // Moodle is free software: you can redistribute it and/or modify | |
| // it under the terms of the GNU General Public License as published by | |
| // the Free Software Foundation, either version 3 of the License, or | |
| // (at your option) any later version. | |
| // | |
| // Moodle is distributed in the hope that it will be useful, | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | |
| // GNU General Public License for more details. | |
| // | |
| // You should have received a copy of the GNU General Public License | |
| // along with Moodle.  If not, see <http://www.gnu.org/licenses/>. | |
|  | |
| /** | |
|  * This file contains the form for importing sessions from a file. | |
|  * | |
|  * @package mod_attendance | |
|  * @author Chris Wharton <chriswharton@catalyst.net.nz> | |
|  * @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 <chriswharton@catalyst.net.nz> | |
|  * @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); | |
|     } | |
| }
 | |
| 
 |