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