class SiteController

def show_page

def show_page
  url = params[:url]
  if Array === url
    url = url.join('/')
  else
    url = url.to_s
  end
  if @page = find_page(url)
    batch_page_status_refresh if (url == "/" || url == "")
    # This is a bit of a hack to get Vanity URL pages working in another extension
    # In Rails 2, redirect_to halted execution, so process_page could be aliased and
    # a redirect could be used. This no longer works. There's a better fix for this,
    # but for now, anything that aliases process_page can return false if it's rendering
    # or redirecting on its own.
    return unless process_page(@page)
    set_cache_control
    @performed_render ||= true
    render layout: false
  else
    render :template => 'site/not_found', :status => 404, layout: false
  end
rescue Page::MissingRootPageError
  redirect_to welcome_path
end