make /developer work again
[opensuse:software-o-o.git] / app / controllers / codecs_controller.rb
1 class CodecsController < ApplicationController
2   def index
3     @visitor = Visitor.new(
4         :os_release => params["os_release"],
5         :language => params["lang"],
6         :client_version => params["client_version"],
7         :kernel => params["kernel"],
8         :gstreamer_package => params["gstreamer"],
9         :xine_package => params["xine"],
10         :user_agent => request.user_agent,
11         :ip_address => request.remote_ip
12     )
13
14     params.each do | k, v |
15       if k.starts_with?("plugin")
16         a = v.split("|")
17         @visitor.missing_codecs << MissingCodec.from_array(a)
18         @visitor.application ||= a[2]
19       end
20     end
21
22     if @visitor.client_version && @visitor.os_release 
23       last_visitor = Visitor.find(
24         :first, 
25         :include => :missing_codecs,
26         :conditions => ['created_at > ? AND ip_address = ? AND missing_codecs.fourcc IN (?)',
27           5.minutes.ago, 
28           @visitor.ip_address,
29           @visitor.missing_codecs.map(&:fourcc)
30       ])
31
32       if last_visitor == nil || last_visitor.missing_codecs.length != @visitor.missing_codecs.length 
33         @visitor.save()
34       end
35     end
36   end
37 end
38