diff --git a/mod/data/lib.php b/mod/data/lib.php index 7ac3f844df3..d097bc33749 100755 --- a/mod/data/lib.php +++ b/mod/data/lib.php @@ -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[] = ''.get_string('more', 'data').''; + $replacement[] = '' . get_string('more', 'data') . ''; + $patterns[]='##moreurl##'; - $replacement[] = $CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&rid='.$record->id; + $replacement[] = $moreurl; $patterns[]='##user##'; $replacement[] = ''; + echo ' '; echo ' '; echo ' '; diff --git a/mod/data/view.php b/mod/data/view.php index 63c91f0ef47..dd1b690c7a6 100755 --- a/mod/data/view.php +++ b/mod/data/view.php @@ -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.'&mode=single&'; - + $baseurl = 'view.php?d=' . $data->id . '&mode=single&'; + $search && $baseurl .= 'filter=1&'; print_paging_bar($totalcount, $page, $nowperpage, $baseurl, $pagevar='page'); if (empty($data->singletemplate)){