# controllers/services_controller.rb: require 'open-uri' class ServicesController < ApplicationController def other_country_message text = "" iso_country_code = AlaveteliConfiguration::iso_country_code.downcase if country_from_ip.downcase != iso_country_code found_country = WorldFOIWebsites.by_code(country_from_ip) old_fgt_locale = FastGettext.locale begin FastGettext.locale = FastGettext.best_locale_in(request.env['HTTP_ACCEPT_LANGUAGE']) if found_country && found_country[:country_name] && found_country[:url] && found_country[:name] text = _("Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}", :country_name => found_country[:country_name], :link_to_website => "#{found_country[:name]}".html_safe) else current_country = WorldFOIWebsites.by_code(iso_country_code)[:country_name] text = _("Hello! We have an important message for visitors outside {{country_name}}", :country_name => current_country) end ensure FastGettext.locale = old_fgt_locale end end if !text.empty? text += ' X'.html_safe end render :text => text, :content_type => "text/plain" # XXX workaround the HTML validation in test suite end def hidden_user_explanation info_request = InfoRequest.find(params[:info_request_id]) render :template => "admin_request/hidden_user_explanation", :content_type => "text/plain", :layout => false, :locals => {:name_to => info_request.user_name, :name_from => AlaveteliConfiguration::contact_name, :info_request => info_request, :reason => params[:reason], :info_request_url => 'http://' + AlaveteliConfiguration::domain + request_path(info_request), :site_name => site_name} end end