Index: lang/en/filters.php =================================================================== --- lang/en/filters.php (revision 6195) +++ lang/en/filters.php (working copy) @@ -74,6 +74,7 @@ $string['profilelabelnovalue'] = '{$a->label}: {$a->profile} {$a->operator}'; $string['removeall'] = 'Remove all filters'; $string['removeselected'] = 'Remove selected'; +$string['replacefilters'] = 'Replace filters'; $string['selectlabel'] = '{$a->label} {$a->operator} {$a->value}'; $string['startswith'] = 'starts with'; $string['tablenosave'] = 'Changes in table above are saved automatically.'; Index: user/filters/lib.php =================================================================== --- user/filters/lib.php (revision 6195) +++ user/filters/lib.php (working copy) @@ -51,6 +51,9 @@ // fist the new filter form $this->_addform = new user_add_filter_form($baseurl, array('fields'=>$this->_fields, 'extraparams'=>$extraparams)); if ($adddata = $this->_addform->get_data()) { + if (!empty($adddata->replaceall)) { + $SESSION->user_filtering = array(); + } foreach($this->_fields as $fname=>$field) { $data = $field->check_data($adddata); if ($data === false) { Index: user/filters/user_filter_forms.php =================================================================== --- user/filters/user_filter_forms.php (revision 6195) +++ user/filters/user_filter_forms.php (working copy) @@ -23,12 +23,28 @@ } } - // Add button - $mform->addElement('submit', 'addfilter', get_string('addfilter','filters')); + // Add + replace filters buttons + $objs = array(); + $objs[] = &$mform->createElement('submit', 'addfilter', get_string('addfilter','filters')); + $mform->addElement('group', 'addfiltergrp', '', $objs, ' ', false); + // Don't use last advanced state $mform->setShowAdvanced(false); } + function definition_after_data() { + global $SESSION; + + if (!empty($SESSION->user_filtering)) { + $mform =& $this->_form; + $mform->removeElement('addfiltergrp'); + + $objs = array(); + $objs[] = &$mform->createElement('submit', 'addfilter', get_string('addfilter','filters')); + $objs[] = &$mform->createElement('submit', 'replaceall', get_string('replacefilters','filters')); + $mform->addElement('group', 'addfiltergrp', '', $objs, ' ', false); + } + } } class user_active_filter_form extends moodleform {