orbit-basic/app/controllers/pages_controller.rb

37 lines
951 B
Ruby

class PagesController < ApplicationController
def index
@item = Page.find_by_name('home')
if @item
render_page
else
render :text => 'You need a home page'
end
end
def appfront
pre_uri = URI.split request.env['HTTP_REFERER']
pre_item_fullname = pre_uri[5][1..-1]
@item = Item.first(:conditions => {:full_name => pre_item_fullname})
redirect_to (request.env['HTTP_REFERER'].partition("?")[0]+"?app_url=#{request.fullpath}")
end
def show
begin
item = Item.first(:conditions => {:full_name => params[:page_name]})
case item._type
when 'Page'
@item = item
render_page ((params[:app_url]+'?inner='+"true" if params[:app_url]))
when 'Link'
redirect_to "http://#{item[:url]}"
end
rescue
render :file => "#{Rails.root}/public/404.html", :status => :not_found
end
end
end