some
[appoyo.git] / app / controllers / application_controller.rb
blobd6e7519edb40d9a6bb710c221773a54eafbee7f0
1 # Filters added to this controller apply to all controllers in the application.
2 # Likewise, all the methods added will be available for all controllers.
4 class ApplicationController < ActionController::Base
5   helper :all # include all helpers, all the time
6   #protect_from_forgery # See ActionController::RequestForgeryProtection for details
7   # skip_before_filter :verify_authenticity_token
8   layout :language_detect
9   before_filter :set_facebook_session
10   helper_method :facebook_session
11   def language_detect
12     params[:locale] =='ar' ? 'index_ar' : 'index' 
13   end 
14   def debug_message (message,is_not_error = true)
15     if Debug_message_on
16       if !is_not_error
17         p "> > > DEBUG ERROR:"
18       end
19       p " > > > > >" * 5
20       p "          " + message
21       p " > > > > >" * 5
22     end
23   end 
25    def set_current_user
26     
27     if facebook_session && facebook_session.secured?
28       if session[:user_id]
29         @current_user ||= User.find(session[:user_id]) rescue nil
30         @current_user = nil if @current_user && @current_user.facebook_id != facebook_session.user.id
31       end
33       if @current_user.nil? 
34         @current_user = User.find_by_facebook_id(facebook_session.user.id) || User.create!(:facebook_id => facebook_session.user.id, :facebook_session_key => facebook_session.session_key)
35         session[:user_id] = @current_user.id if @current_user
36       end
38       if @current_user && facebook_session.session_key != @current_user.facebook_session_key
39         @current_user.update_attribute(:facebook_session_key, e.session_key)
40       end
42     else
43       session[:user_id] = nil
44       @current_user = nil
45       clear_facebook_session_information
46     end
48   end
49   def add_stat(uid, action, extra = 0)
50      myParams = {
51                 :uid               => uid,
52                 :action            => action,
53                 :extra             => extra,
54                 }
55       @stat = Stat.new(myParams)
56       @stat.save  
57       case action
58         when CONNECTED
59           debug_message ("STAT UPDATED: #{uid} installed application")
60         when PERMISSION 
61           debug_message ("STAT UPDATED: #{uid} gave permission")
62         when DELETED
63           debug_message ("STAT UPDATED: #{uid} deleted application")
64         when INVITED_NUMBER
65           debug_message ("STAT UPDATED: #{uid} invited #{extra} friends")
66         when REWARDED
67           debug_message ("STAT UPDATED: #{uid} rewarded for invited firend")
68         when VISITED
69           case extra
70             when FROM_DIRECT
71               debug_message ("STAT UPDATED: #{uid} came by direct link")
72             when FROM_INVITATION
73               debug_message ("STAT UPDATED: #{uid} came trough invitation")
74             when FROM_FEED
75               debug_message ("STAT UPDATED: #{uid} came from feeds")
76           end
77       end
78       
79   end 
80   private :set_current_user
81   
82 end