Merge branch 'MDL-69583-master' of git://github.com/ferranrecio/moodle
[moodle.git] / admin / tool / customlang / classes / form / import.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Upload a zip of custom lang php files.
19  *
20  * @package    tool_customlang
21  * @copyright  2020 Ferran Recio <ferran@moodle.com>
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 namespace tool_customlang\form;
27 use tool_customlang\local\importer;
29 /**
30  * Upload a zip/php of custom lang php files.
31  *
32  * @copyright  2020 Ferran Recio <ferran@moodle.com>
33  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
34  */
35 class import extends \moodleform {
37     /**
38      * Form definition.
39      */
40     public function definition() {
41         $mform = $this->_form;
42         $mform->addElement('header', 'settingsheader', get_string('import', 'tool_customlang'));
44         $mform->addElement('hidden', 'lng');
45         $mform->setType('lng', PARAM_LANG);
46         $mform->setDefault('lng', $this->_customdata['lng']);
48         $filemanageroptions = array(
49             'accepted_types' => array('.php', '.zip'),
50             'maxbytes' => 0,
51             'maxfiles' => 1,
52             'subdirs' => 0
53         );
55         $mform->addElement('filepicker', 'pack', get_string('langpack', 'tool_customlang'),
56             null, $filemanageroptions);
57         $mform->addRule('pack', null, 'required');
59         $modes = [
60             importer::IMPORTALL => get_string('import_all', 'tool_customlang'),
61             importer::IMPORTUPDATE => get_string('import_update', 'tool_customlang'),
62             importer::IMPORTNEW => get_string('import_new', 'tool_customlang'),
63         ];
64         $mform->addElement('select', 'importmode', get_string('import_mode', 'tool_customlang'), $modes);
66         $mform->addElement('submit', 'importcustomstrings', get_string('importfile', 'tool_customlang'));
67     }
68 }