diff --git a/lang/en/filters.php b/lang/en/filters.php index 53b10b3..7e74c83 100644 --- a/lang/en/filters.php +++ b/lang/en/filters.php @@ -25,6 +25,7 @@ $string['actfilterhdr'] = 'Active filters'; $string['addfilter'] = 'Add filter'; +$string['setfilter'] = 'Set filter'; $string['anycategory'] = 'any category'; $string['anycourse'] = 'any course'; $string['anyfield'] = 'any field'; diff --git a/user/filters/lib.php b/user/filters/lib.php index 72b3d4b..f1dfa8b 100644 --- a/user/filters/lib.php +++ b/user/filters/lib.php @@ -51,6 +51,11 @@ class user_filtering { // 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()) { + // setfilter cancels previous filters + if(!empty($adddata->setfilter)) { + $SESSION->user_filtering = array(); + } + foreach($this->_fields as $fname=>$field) { $data = $field->check_data($adddata); if ($data === false) { diff --git a/user/filters/user_filter_forms.php b/user/filters/user_filter_forms.php index 1912aee..dadf2ac 100644 --- a/user/filters/user_filter_forms.php +++ b/user/filters/user_filter_forms.php @@ -23,8 +23,11 @@ class user_add_filter_form extends moodleform { } } - // Add button - $mform->addElement('submit', 'addfilter', get_string('addfilter','filters')); + // Add/set button + $objs = array(); + $objs[] = &$mform->createElement('submit', 'addfilter', get_string('addfilter','filters')); + $objs[] = &$mform->createElement('submit', 'setfilter', get_string('setfilter','filters')); + $mform->addElement('group', 'setfiltergrp', '', $objs, ' ', false); } }