2013-02-05 14:16:51 -05:00
|
|
|
class StaticController < ApplicationController
|
|
|
|
|
|
|
|
skip_before_filter :check_xhr
|
|
|
|
|
|
|
|
def show
|
|
|
|
|
|
|
|
page = params[:id]
|
|
|
|
|
|
|
|
# Don't allow paths like ".." or "/" or anything hacky like that
|
|
|
|
page.gsub!(/[^a-z0-9\_\-]/, '')
|
|
|
|
|
2013-03-03 10:27:32 -05:00
|
|
|
file = "static/#{page}.#{I18n.locale}"
|
|
|
|
|
|
|
|
# if we don't have a localized version, try the English one
|
|
|
|
if not lookup_context.find_all("#{file}.html").any?
|
|
|
|
file = "static/#{page}.en"
|
|
|
|
end
|
|
|
|
|
|
|
|
if lookup_context.find_all("#{file}.html").any?
|
|
|
|
render file, layout: !request.xhr?, formats: [:html]
|
2013-02-05 14:16:51 -05:00
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
render file: 'public/404', layout: false, status: 404
|
|
|
|
end
|
|
|
|
|
2013-02-07 10:45:24 -05:00
|
|
|
end
|