/** * test_search_results_viewed * * @return void */ public function test_search_results_viewed() { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); $sink = $this->redirectEvents(); // Basic event. \core_search\manager::trigger_search_results_viewed(['q' => 'I am a query', 'page' => 0]); $events = $sink->get_events(); $event = reset($events); $sink->clear(); $this->assertEquals(context_system::instance(), $event->get_context()); $urlparams = ['q' => 'I am a query', 'page' => 0]; $this->assertEquals($urlparams, $event->get_url()->params()); \core_search\manager::trigger_search_results_viewed(['q' => 'I am a query', 'page' => 2, 'title' => 'I am the title', 'areaids' => array(3, 4, 5), 'courseids' => array(2, 3), 'timestart' => 1445644800, 'timeend' => 1477267200]); $events = $sink->get_events(); $event = reset($events); $this->assertEquals(context_system::instance(), $event->get_context()); $urlparams = ['q' => 'I am a query', 'page' => 2, 'title' => 'I am the title', 'timestart' => 1445644800, 'timeend' => 1477267200]; $this->assertEquals($urlparams, $event->get_url()->params()); }
if (!empty($data->areaids)) { $urlparams['areaids'] = implode(',', $data->areaids); } if (!empty($data->courseids)) { $urlparams['courseids'] = implode(',', $data->courseids); } $urlparams['timestart'] = $data->timestart; $urlparams['timeend'] = $data->timeend; } $url = new moodle_url('/search/index.php', $urlparams); $PAGE->set_url($url); // We are ready to render. echo $OUTPUT->header(); echo $OUTPUT->heading($pagetitle); // Get the results. if ($data) { $results = $search->paged_search($data, $page); } if ($errorstr = $search->get_engine()->get_query_error()) { echo $OUTPUT->notification(get_string('queryerror', 'search', $errorstr), 'notifyproblem'); } else { if (empty($results->totalcount) && !empty($data)) { echo $OUTPUT->notification(get_string('noresults', 'search'), 'notifymessage'); } } $mform->display(); if (!empty($results)) { echo $searchrenderer->render_results($results->results, $results->actualpage, $results->totalcount, $url); \core_search\manager::trigger_search_results_viewed(['q' => $data->q, 'page' => $page, 'title' => $data->title, 'areaids' => !empty($data->areaids) ? $data->areaids : array(), 'courseids' => !empty($data->courseids) ? $data->courseids : array(), 'timestart' => isset($data->timestart) ? $data->timestart : 0, 'timeend' => isset($data->timeend) ? $data->timeend : 0]); } echo $OUTPUT->footer();