1 class SearchController < ApplicationController
6 lang = request.compatible_language_from(LANGUAGES) || "en"
8 lang = params[:lang][0]
14 @project = params[:project]
23 render :partial => "search_result" if request.xhr?
24 render "_search_result" if !request.xhr?
26 render :text => '<p id="search_short">Search strings must have at least 2 characters.</p>'
32 DownloadHistory.create :query => params[:query], :base => params[:base],
33 :file => params[:file]
34 redirect_to "http://download.opensuse.org/repositories/" + params[:file]
41 @project = params[:project]
42 cookies[:search_project] = { :value => @project, :expires => 1.month.from_now }
43 @current_page = params[:p].to_i
44 @current_page = 1 if @current_page == 0
46 return false if @query.length < 2
47 return false if @query =~ / / and @query.split(" ").select{|e| e.length < 2 }.size > 0
49 base = @project=="ALL" ? "" : @project
50 @result = Seeker.prepare_result(CGI.escape(@query).gsub("+", " "), base)
51 if @current_page == 1 and @result.length > 1 # ignore sub pages
52 SearchHistory.create :query => @query, :base => @baseproject, :patterns => @result.pattern_count,
53 :binaries => @result.binary_count, :count => @result.length