class ApplicationController < ActionController::Base protect_from_forgery helper :all before_filter :set_locale Liquid::Template.register_filter(SnippetFilter) def render_liquid_page if @page @layout = @page.layout @page_options ||= {} @page_content = Liquid::Template.parse( @page.content ).render(@page_options) @layout_content = (@page.layout)? @layout.content : "{{page_content}}" render :text => Liquid::Template.parse(@layout_content).render( 'page_content' => @page_content ) else render :text => '404 Not Found' end end def set_locale # update session if passed if params[:locale] && VALID_LOCALES.include?( params[:locale] ) session[:locale] = params[:locale] end # set locale based on session or default I18n.locale = session[:locale] || I18n.default_locale end def find_parent_item @parent_item = Item.find_by_name(params[:parent_name] || 'root') unless @parent_item @parent_item = Page.create( :name => "root", :title => "root", :layout_name => "root" ) end end def require_entry_name render :text => 'missing entry_name' if params[:entry_name].blank? return end end