/user/filters/user_filter_forms.php
PHP | 68 lines | 51 code | 14 blank | 3 comment | 4 complexity | 85566ef0d1b0799734fa5547aeb28bfb MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-3.0, GPL-3.0, LGPL-2.1, Apache-2.0, BSD-3-Clause, AGPL-3.0
- <?php
- require_once($CFG->libdir.'/formslib.php');
- class user_add_filter_form extends moodleform {
- function definition() {
- $mform =& $this->_form;
- $fields = $this->_customdata['fields'];
- $extraparams = $this->_customdata['extraparams'];
- $mform->addElement('header', 'newfilter', get_string('newfilter','filters'));
- foreach($fields as $ft) {
- $ft->setupForm($mform);
- }
- // in case we wasnt to track some page params
- if ($extraparams) {
- foreach ($extraparams as $key=>$value) {
- $mform->addElement('hidden', $key, $value);
- $mform->setType($key, PARAM_RAW);
- }
- }
- // Add button
- $mform->addElement('submit', 'addfilter', get_string('addfilter','filters'));
- }
- }
- class user_active_filter_form extends moodleform {
- function definition() {
- global $SESSION; // this is very hacky :-(
- $mform =& $this->_form;
- $fields = $this->_customdata['fields'];
- $extraparams = $this->_customdata['extraparams'];
- if (!empty($SESSION->user_filtering)) {
- // add controls for each active filter in the active filters group
- $mform->addElement('header', 'actfilterhdr', get_string('actfilterhdr','filters'));
- foreach ($SESSION->user_filtering as $fname=>$datas) {
- if (!array_key_exists($fname, $fields)) {
- continue; // filter not used
- }
- $field = $fields[$fname];
- foreach($datas as $i=>$data) {
- $description = $field->get_label($data);
- $mform->addElement('checkbox', 'filter['.$fname.']['.$i.']', null, $description);
- }
- }
- if ($extraparams) {
- foreach ($extraparams as $key=>$value) {
- $mform->addElement('hidden', $key, $value);
- $mform->setType($key, PARAM_RAW);
- }
- }
- $objs = array();
- $objs[] = &$mform->createElement('submit', 'removeselected', get_string('removeselected','filters'));
- $objs[] = &$mform->createElement('submit', 'removeall', get_string('removeall','filters'));
- $mform->addElement('group', 'actfiltergrp', '', $objs, ' ', false);
- }
- }
- }