/** * settles data for memoising current search context * @uses CFG * @param int $trackerid * @param int $cmid */ function tracker_searchforissues(&$tracker, $cmid) { global $CFG; tracker_clearsearchcookies($tracker->id); $fields = tracker_extractsearchparametersfrompost($tracker->id); $success = tracker_setsearchcookies($fields); if ($success) { if ($tracker->supportmode == 'bugtracker') { redirect("view.php?id={$cmid}&view=view&page=browse"); } else { redirect("view.php?id={$cmid}&view=view&page=mytickets"); } } else { error("Failed to set cookie: " . $cookie . "<br>"); } }
/// Search controller - special implementation // TODO : consider incorporing this controller back into standard MVC if ($action == 'searchforissues') { $search = optional_param('search', null, PARAM_CLEANHTML); $saveasreport = optional_param('saveasreport', null, PARAM_CLEANHTML); if (!empty($search)) { //search for issues tracker_searchforissues($tracker, $cm->id); } elseif (!empty($saveasreport)) { //save search as a report tracker_saveasreport($tracker->id); } } elseif ($action == 'viewreport') { tracker_viewreport($tracker->id); } elseif ($action == 'clearsearch') { if (tracker_clearsearchcookies($tracker->id)) { $returnview = $tracker->supportmode == 'bugtracker' ? 'browse' : 'mytickets'; redirect("view.php?id={$cm->id}&page={$returnview}"); } } $strtrackers = get_string('modulenameplural', 'tracker'); $strtracker = get_string('modulename', 'tracker'); $navigation = build_navigation('', $cm); print_header_simple(format_string($tracker->name), "", $navigation, "", "", true, update_module_button($cm->id, $course->id, $strtracker), navmenu($course, $cm)); /// integrate module specific stylesheets (calls an eventual theme override) echo '<link rel="stylesheet" href="' . $CFG->themewww . '/' . current_theme() . '/tracker.css" type="text/css" />'; // PART OF MVC Implementation /// memorizes current view - typical session switch if (!empty($view)) { $_SESSION['currentview'] = $view; } elseif (empty($_SESSION['currentview'])) {