d1bbccdc17fa2aa95560c8b2bf93aefaa44d57b2
[moodle.git] / user / filters / user_filter_forms.php
1 <?php //$Id$
3 require_once($CFG->libdir.'/formslib.php');
5 class user_add_filter_form extends moodleform {
7     function definition() {
8         $mform       =& $this->_form;
9         $fields      = $this->_customdata['fields'];
10         $extraparams = $this->_customdata['extraparams'];
12         $mform->addElement('header', 'newfilter', get_string('newfilter','filters'));
14         foreach($fields as $ft) {
15             $ft->setupForm($mform);
16         }
18         // in case we wasnt to track some page params
19         if ($extraparams) {
20             foreach ($extraparams as $key=>$value) {
21                 $mform->addElement('hidden', $key, $value);
22             }
23         }
25         // Add button
26         $mform->addElement('submit', 'addfilter', get_string('addfilter','filters'));
28         // Don't use last advanced state
29         $mform->setShowAdvanced(false);
30     }
31 }
33 class user_active_filter_form extends moodleform {
35     function definition() {
36         global $SESSION; // this is very hacky :-(
38         $mform       =& $this->_form;
39         $fields      = $this->_customdata['fields'];
40         $extraparams = $this->_customdata['extraparams'];
42         if (!empty($SESSION->user_filtering)) {
43             // add controls for each active filter in the active filters group
44             $mform->addElement('header', 'actfilterhdr', get_string('actfilterhdr','filters'));
46             foreach ($SESSION->user_filtering as $fname=>$datas) {
47                 if (!array_key_exists($fname, $fields)) {
48                     continue; // filter not used
49                 }
50                 $field = $fields[$fname];
51                 foreach($datas as $i=>$data) {
52                     $description = $field->get_label($data);
53                     $mform->addElement('checkbox', 'filter['.$fname.']['.$i.']', null, $description);
54                 }
55             }
57             if ($extraparams) {
58                 foreach ($extraparams as $key=>$value) {
59                     $mform->addElement('hidden', $key, $value);
60                 }
61             }
63             $objs = array();
64             $objs[] = &$mform->createElement('submit', 'removeselected', get_string('removeselected','filters'));
65             $objs[] = &$mform->createElement('submit', 'removeall', get_string('removeall','filters'));
66             $mform->addElement('group', 'actfiltergrp', '', $objs, ' ', false);
67         }
68     }
69 }