adapt to M2
[opensuse:software-o-o.git] / app / controllers / search_controller.rb
1 class SearchController < ApplicationController
2   layout "application"
3
4   def index
5     if params[:lang].nil?
6       lang = request.compatible_language_from(LANGUAGES) || "en"
7     else
8       lang = params[:lang][0]
9     end
10     GetText.locale = lang
11
12     if params[:baseproject]
13       @baseproject = params[:baseproject]
14     end
15     if params[:q]
16       perform_search
17     end
18   end
19
20   def search
21     if perform_search
22       render :partial => "search_result" if request.xhr?
23       render "_search_result" if !request.xhr?
24     else
25       render :text => "Search strings must have at least 2 characters."
26     end
27   end
28
29
30   private
31   
32   def perform_search
33     @query = params[:q]
34     @baseproject = params[:baseproject]
35     cookies[:search_baseproject] = { :value => @baseproject, :expires => 1.month.from_now }
36     @current_page = params[:p].to_i
37     @current_page = 1 if @current_page == 0
38
39     return false if @query.length < 2
40     return false if @query =~ / / and @query.split(" ").select{|e| e.length < 2 }.size > 0
41     
42     base = @baseproject=="ALL" ? "" : @baseproject
43     @result = Seeker.prepare_result(CGI.escape(@query).gsub("+", " "), base)
44     return true
45   end 
46 end