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 * Form to filter the outline report 19 * 20 * @package report_outline 21 * @copyright 2017 Davo Smith, Synergy Learning 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 namespace report_outline; 26 27 defined('MOODLE_INTERNAL') || die(); 28 global $CFG; 29 require_once($CFG->libdir.'/formslib.php'); 30 31 /** 32 * Class filter_form form to filter the results by date 33 * @package report_outline 34 */ 35 class filter_form extends \moodleform { 36 /** 37 * Form definition 38 * @throws \HTML_QuickForm_Error 39 * @throws \coding_exception 40 */ 41 protected function definition() { 42 $mform = $this->_form; 43 44 $mform->addElement('hidden', 'id'); 45 $mform->setType('id', PARAM_INT); 46 47 $mform->addElement('header', 'filterheader', get_string('filter')); 48 $opts = ['optional' => true]; 49 $mform->addElement('date_selector', 'filterstartdate', get_string('from'), $opts); 50 $mform->addElement('date_selector', 'filterenddate', get_string('to'), $opts); 51 52 $mform->setExpanded('filterheader', false); 53 54 // Add the filter/cancel buttons (without 'closeHeaderBefore', so they collapse with the filter). 55 $buttonarray = [ 56 $mform->createElement('submit', 'submitbutton', get_string('filter')), 57 $mform->createElement('cancel'), 58 ]; 59 $mform->addGroup($buttonarray, 'buttonar', '', [' '], false); 60 } 61 62 /** 63 * Expand the form contents if the filter is in use. 64 * @throws \HTML_QuickForm_Error 65 */ 66 public function definition_after_data() { 67 $mform = $this->_form; 68 $filterstartdate = $mform->getElement('filterstartdate')->getValue(); 69 $filterenddate = $mform->getElement('filterenddate')->getValue(); 70 if (!empty($filterstartdate['enabled']) || !empty($filterenddate['enabled'])) { 71 $mform->setExpanded('filterheader', true); 72 } 73 } 74 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body