AutorÃa | Ultima modificación | Ver Log |
<?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/>./*** Form to filter export data.** @copyright 2021 The Open University* @license http://www.gnu.org/copyleft/gpl.html GNU Public License* @package tool_dataprivacy* @since Moodle 4.3*/namespace tool_dataprivacy\form;defined('MOODLE_INTERNAL') || die();require_once($CFG->libdir.'/formslib.php');/*** Form to filter export data.** @copyright 2021 The Open University* @license http://www.gnu.org/copyleft/gpl.html GNU Public License* @package tool_dataprivacy* @since Moodle 4.3*/class exportfilter_form extends \moodleform {/*** Form definition.*/public function definition(): void {$requestid = $this->_customdata['requestid'];$mform = $this->_form;$selectitems = [];$mform->addElement('hidden', 'requestid', $requestid);$mform->setType('requestid', PARAM_INT);$contexts = \tool_dataprivacy\api::get_course_contexts_for_view_filter($requestid);foreach ($contexts as $context) {$coursename = '';$groupname = '';$parentcontexts = $context->get_parent_contexts(true);$parentcontexts = array_reverse($parentcontexts);end($parentcontexts);$lastkey = key($parentcontexts);reset($parentcontexts);$firstkey = key($parentcontexts);foreach ($parentcontexts as $key => $parentcontext) {if ($key !== $lastkey) {if ($key !== $firstkey) {$groupname .= ' > ';}$groupname .= $parentcontext->get_context_name(false);} else {$coursename = $parentcontext->get_context_name(false);}}$selectitems[$groupname][$context->id] = $coursename;}if ($contexts) {$mform->addElement('selectgroups','coursecontextids',get_string('selectcourses', 'tool_dataprivacy'),$selectitems,);$mform->getElement('coursecontextids')->setMultiple(true);$mform->getElement('coursecontextids')->setSize(15);} else {$mform->addElement('html', get_string('nocoursetofilter', 'tool_dataprivacy'));}}/*** Form validation.** @param array $data* @param array $files* @return array*/public function validation($data, $files) {$errors = [];if (empty($data['coursecontextids'])) {$errors['coursecontextids'] = get_string('errornoselectedcourse', 'tool_dataprivacy');}return $errors;}}