app/controllers/application.rb in parlement-0.8 vs app/controllers/application.rb in parlement-0.9

- old
+ new

@@ -6,23 +6,36 @@ class ApplicationController < ActionController::Base include LoginEngine model :user before_filter :set_charset + before_filter :set_login_from_cookie after_filter :fix_unicode_for_safari after_filter OutputCompressionFilter # automatically and transparently fixes utf-8 bug # with Safari when using xmlhttp - def fix_unicode_for_safari - if @headers["Content-Type"] == "text/html; charset=utf-8" and + def fix_unicode_for_safari + if @headers["Content-Type"] == "text/html; charset=utf-8" and @request.env['HTTP_USER_AGENT'].to_s.include? 'AppleWebKit' then @response.body = @response.body.gsub(/([^\x00-\xa0])/u) { |s| "&#x%x;" % $1.unpack('U')[0] } - end - end + end + end def set_charset #@headers["Content-Type"] = "text/html; charset=iso-8859-15" @headers["Content-Type"] = "text/html; charset=utf-8" + end + + def set_login_from_cookie + unless session[:person] + if (person = Person.find_by_name(cookies[:person_name])) and \ + ((!person.user and !cookies[:salted_password]) \ + or (person.user \ + and person.user.salted_password == cookies[:salted_password])) + session[:person] = person + session[:user] = person.user + end + end end end