public function DoGlobalSearch(SS_HTTPRequest $request)
 {
     $term = Convert::raw2sql($request->requestVar('t'));
     if (empty($term)) {
         return $this->httpError(404);
     }
     $summit_id = $this->Summit()->ID;
     $speakers = $this->speaker_repository->searchBySummitAndTerm($this->Summit(), $term);
     $events = $this->event_repository->searchBySummitAndTerm($this->Summit(), $term);
     return $this->renderWith(array('SummitAppSchedPage_globalSearchResults', 'SummitPage', 'Page'), array('SpeakerResults' => new ArrayList($speakers), 'EventResults' => new ArrayList($events), 'SearchTerm' => $term));
 }
 public function DoGlobalSearch(SS_HTTPRequest $request)
 {
     $term = Convert::raw2sql($request->requestVar('t'));
     if (empty($term)) {
         return $this->httpError(404);
     }
     $summit_id = $this->Summit()->ID;
     $db_term = SummitScheduleGlobalSearchTerm::get()->filter(array('Term' => $term, 'SummitID' => $summit_id))->first();
     if (is_null($db_term)) {
         $db_term = SummitScheduleGlobalSearchTerm::create();
     }
     $db_term->Hits = intval($db_term->Hits) + 1;
     $db_term->Term = $term;
     $db_term->SummitID = $summit_id;
     $db_term->write();
     $popular_terms = SummitScheduleGlobalSearchTerm::get()->filter(array('SummitID' => $summit_id))->sort('Term', 'ASC')->limit(25, 0);
     $speakers = $this->speaker_repository->searchBySummitAndTerm($this->Summit(), $term);
     $events = $this->event_repository->searchBySummitAndTerm($this->Summit(), $term);
     return $this->renderWith(array('SummitAppSchedPage_globalSearchResults', 'SummitPage', 'Page'), array('SpeakerResults' => new ArrayList($speakers), 'EventResults' => new ArrayList($events), 'SearchTerm' => $term, 'PopularTerms' => $popular_terms));
 }