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/>. 16 17 /** 18 * Performs the custom lang export. 19 * 20 * @package tool_customlang 21 * @subpackage customlang 22 * @copyright 2020 Thomas Wedekind <thomas.wedekind@univie.ac.at> 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 require(__DIR__ . '/../../../config.php'); 27 require_once($CFG->dirroot.'/'.$CFG->admin.'/tool/customlang/locallib.php'); 28 require_once($CFG->libdir.'/adminlib.php'); 29 30 global $PAGE, $CFG; 31 32 require_login(SITEID, false); 33 require_capability('tool/customlang:export', context_system::instance()); 34 35 $lng = required_param('lng', PARAM_LANG); 36 37 admin_externalpage_setup('toolcustomlang', '', null, 38 new moodle_url('/admin/tool/customlang/import.php', ['lng' => $lng])); 39 40 $form = new \tool_customlang\form\export(null, ['lng' => $lng]); 41 42 if ($form->is_cancelled()) { 43 redirect('index.php'); 44 die(); 45 } else if ($formdata = $form->get_data()) { 46 $tempzip = tempnam($CFG->tempdir . '/', 'tool_customlang_export'); 47 $filelist = []; 48 foreach ($formdata->files as $file) { 49 $filepath = tool_customlang_utils::get_localpack_location($lng). '/' . $file; 50 if (file_exists($filepath)) { 51 $filelist[$file] = $filepath; 52 } 53 } 54 $zipper = new zip_packer(); 55 56 if (!empty($filelist) && $zipper->archive_to_pathname($filelist, $tempzip)) { 57 // Filename include the lang name so the file can be imported with automatic language detection. 58 send_temp_file($tempzip, "customlang_$lng.zip"); 59 die(); 60 } 61 } 62 63 $output = $PAGE->get_renderer('tool_customlang'); 64 65 echo $output->header(); 66 echo $output->heading(get_string('pluginname', 'tool_customlang')); 67 $form->display(); 68 echo $OUTPUT->footer();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body