Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2493 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -19,6 +19,13 @@ require 'uri'
|
||||
require 'cgi'
|
||||
|
||||
class ApplicationController < ActionController::Base
|
||||
include Redmine::I18n
|
||||
|
||||
# In case the cookie store secret changes
|
||||
rescue_from CGI::Session::CookieStore::TamperedWithCookie do |exception|
|
||||
render :text => 'Your session was invalid and has been reset. Please, reload this page.', :status => 500
|
||||
end
|
||||
|
||||
layout 'base'
|
||||
|
||||
before_filter :user_setup, :check_if_login_required, :set_localization
|
||||
@@ -64,20 +71,18 @@ class ApplicationController < ActionController::Base
|
||||
end
|
||||
|
||||
def set_localization
|
||||
User.current.language = nil unless User.current.logged?
|
||||
lang = begin
|
||||
if !User.current.language.blank? && GLoc.valid_language?(User.current.language)
|
||||
User.current.language
|
||||
elsif request.env['HTTP_ACCEPT_LANGUAGE']
|
||||
accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first.downcase
|
||||
if !accept_lang.blank? && (GLoc.valid_language?(accept_lang) || GLoc.valid_language?(accept_lang = accept_lang.split('-').first))
|
||||
User.current.language = accept_lang
|
||||
end
|
||||
lang = nil
|
||||
if User.current.logged?
|
||||
lang = find_language(User.current.language)
|
||||
end
|
||||
if lang.nil? && request.env['HTTP_ACCEPT_LANGUAGE']
|
||||
accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first.downcase
|
||||
if !accept_lang.blank?
|
||||
lang = find_language(accept_lang) || find_language(accept_lang.split('-').first)
|
||||
end
|
||||
rescue
|
||||
nil
|
||||
end || Setting.default_language
|
||||
set_language_if_valid(lang)
|
||||
end
|
||||
lang ||= Setting.default_language
|
||||
set_language_if_valid(lang)
|
||||
end
|
||||
|
||||
def require_login
|
||||
@@ -152,7 +157,7 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
def render_error(msg)
|
||||
flash.now[:error] = msg
|
||||
render :nothing => true, :layout => !request.xhr?, :status => 500
|
||||
render :text => '', :layout => !request.xhr?, :status => 500
|
||||
end
|
||||
|
||||
def render_feed(items, options={})
|
||||
@@ -225,6 +230,8 @@ class ApplicationController < ActionController::Base
|
||||
tmp.collect!{|val, q| val}
|
||||
end
|
||||
return tmp
|
||||
rescue
|
||||
nil
|
||||
end
|
||||
|
||||
# Returns a string that can be used as filename value in Content-Disposition header
|
||||
|
||||
Reference in New Issue
Block a user