[MDL-15425] Search Filters are too persistant. Merged from MOODLE_19_STABLE.

This commit is contained in:
robertall 2008-10-24 20:17:10 +00:00
parent 49459eb03a
commit d53e5129f8
2 changed files with 19 additions and 12 deletions

View File

@ -959,9 +959,8 @@ function data_get_participants($dataid) {
* @param string $template *
* output null *
************************************************************************/
function data_print_template($template, $records, $data, $search='',$page=0, $return=false) {
function data_print_template($template, $records, $data, $search='', $page=0, $return=false) {
global $CFG, $DB;
$cm = get_coursemodule_from_instance('data', $data->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
@ -1011,10 +1010,14 @@ function data_print_template($template, $records, $data, $search='',$page=0, $re
$replacement[] = '';
$replacement[] = '';
}
$moreurl = $CFG->wwwroot . '/mod/data/view.php?d=' . $data->id . '&rid=' . $record->id;
$search && $moreurl .= '&filter=1';
$patterns[]='##more##';
$replacement[] = '<a href="'.$CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&amp;rid='.$record->id.'"><img src="'.$CFG->pixpath.'/i/search.gif" class="iconsmall" alt="'.get_string('more', 'data').'" title="'.get_string('more', 'data').'" /></a>';
$replacement[] = '<a href="' . $moreurl . '"><img src="' . $CFG->pixpath . '/i/search.gif" class="iconsmall" alt="' . get_string('more', 'data') . '" title="' . get_string('more', 'data') . '" /></a>';
$patterns[]='##moreurl##';
$replacement[] = $CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&amp;rid='.$record->id;
$replacement[] = $moreurl;
$patterns[]='##user##';
$replacement[] = '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$record->userid.
@ -1207,6 +1210,7 @@ function data_print_preference_form($data, $perpage, $search, $sort='', $order='
//]]>
</script>';
echo '&nbsp;<input type="hidden" name="advanced" value="0" />';
echo '&nbsp;<input type="hidden" name="filter" value="1" />';
echo '&nbsp;<input type="checkbox" id="advancedcheckbox" name="advanced" value="1" '.$checked.' onchange="showHideAdvSearch(this.checked);" /><label for="advancedcheckbox">'.get_string('advancedsearch', 'data').'</label>';
echo '&nbsp;<input type="submit" value="'.get_string('savesettings','data').'" />';

View File

@ -30,11 +30,12 @@
require_once('pagelib.php');
/// One of these is necessary!
$id = optional_param('id', 0, PARAM_INT); // course module id
$d = optional_param('d', 0, PARAM_INT); // database id
$rid = optional_param('rid', 0, PARAM_INT); //record id
$mode = optional_param('mode', '', PARAM_ALPHA); // Force the browse mode ('single')
$id = optional_param('id', 0, PARAM_INT); // course module id
$d = optional_param('d', 0, PARAM_INT); // database id
$rid = optional_param('rid', 0, PARAM_INT); //record id
$mode = optional_param('mode', '', PARAM_ALPHA); // Force the browse mode ('single')
$filter = optional_param('filter', 0, PARAM_BOOL);
// search filter will only be applied when $filter is true
$edit = optional_param('edit', -1, PARAM_BOOL);
$page = optional_param('page', 0, PARAM_INT);
@ -143,7 +144,6 @@
//(even if page 0 is revisited).
//A false $paging flag generates advanced search results based on the fields input by the user.
//A true $paging flag generates davanced search results from the $SESSION global.
//(See lines 147-158)
$paging = optional_param('paging', NULL, PARAM_BOOL);
if($page == 0 && !isset($paging)) {
@ -224,6 +224,9 @@
$paging = NULL;
}
// Disable search filters if $filter is not true:
$filter || $search = '';
$textlib = textlib_get_instance();
if ($textlib->strlen($search) < 2) {
$search = '';
@ -600,8 +603,8 @@
}
if ($mode == 'single') { // Single template
$baseurl = 'view.php?d='.$data->id.'&amp;mode=single&amp;';
$baseurl = 'view.php?d=' . $data->id . '&amp;mode=single&amp;';
$search && $baseurl .= 'filter=1&amp;';
print_paging_bar($totalcount, $page, $nowperpage, $baseurl, $pagevar='page');
if (empty($data->singletemplate)){