| 
									
										
										
										
											2009-05-07 17:18:16 +00:00
										 |  |  | class PagesController < ApplicationController | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2012-03-21 17:51:16 +00:00
										 |  |  |   include ApplicationHelper | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |   before_filter :get_item, :only => [:index_from_link, :show_from_link] | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2009-06-01 06:20:15 +00:00
										 |  |  |   def index | 
					
						
							| 
									
										
										
										
											2011-05-25 06:50:56 +00:00
										 |  |  |     @item = Page.find_by_name('home') | 
					
						
							|  |  |  |     if @item | 
					
						
							| 
									
										
										
										
											2012-05-15 13:26:09 +00:00
										 |  |  |       impressionist(@item) | 
					
						
							| 
									
										
										
										
											2011-02-22 08:00:13 +00:00
										 |  |  |       render_page | 
					
						
							| 
									
										
										
										
											2009-06-01 06:20:15 +00:00
										 |  |  |     else | 
					
						
							|  |  |  |       render :text => 'You need a home page' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2009-05-07 18:13:27 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2011-12-23 10:34:21 +00:00
										 |  |  |   def show   | 
					
						
							| 
									
										
										
										
											2012-05-15 13:26:09 +00:00
										 |  |  |     #begin   | 
					
						
							|  |  |  |       @item = Item.first(:conditions => {:path => params[:page_name]}) | 
					
						
							|  |  |  |       if @item && @item.is_published && (@item.enabled_for.nil? ? true : @item.enabled_for.include?(I18n.locale.to_s)) | 
					
						
							|  |  |  |         impressionist(@item) | 
					
						
							|  |  |  |         case @item._type | 
					
						
							|  |  |  |           when 'Page'     | 
					
						
							|  |  |  |             render_page | 
					
						
							|  |  |  |           when 'Link' | 
					
						
							|  |  |  |             redirect_to @item[:url] | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       else | 
					
						
							|  |  |  |         render :file => "#{Rails.root}/public/404.html", :status => :not_found | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2012-01-24 03:38:53 +00:00
										 |  |  |      #rescue | 
					
						
							|  |  |  |      #  render :file => "#{Rails.root}/public/404.html", :status => :not_found | 
					
						
							|  |  |  |      #end | 
					
						
							| 
									
										
										
										
											2011-12-23 10:34:21 +00:00
										 |  |  |    end | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |     | 
					
						
							|  |  |  |    def index_from_link | 
					
						
							| 
									
										
										
										
											2012-05-13 11:32:05 +00:00
										 |  |  |       url = "/#{@item.path}" | 
					
						
							|  |  |  |       options = '' | 
					
						
							| 
									
										
										
										
											2012-05-13 14:35:00 +00:00
										 |  |  |       options << "?page_main=#{params[:page_main]}" unless params[:page_main].blank? | 
					
						
							| 
									
										
										
										
											2012-05-13 11:32:05 +00:00
										 |  |  |       options << "#{options.blank? ? '?' : '&'}category_id=#{params[:category_id]}" unless params[:category_id].blank? | 
					
						
							|  |  |  |       options << "#{options.blank? ? '?' : '&'}tag_id=#{params[:tag_id]}" unless params[:tag_id].blank? | 
					
						
							|  |  |  |       redirect_to url + options | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |    end | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |    def show_from_link | 
					
						
							| 
									
										
										
										
											2012-05-13 11:32:05 +00:00
										 |  |  |       url = "/#{@item.path}?id=#{params[:id]}" | 
					
						
							|  |  |  |       options = '' | 
					
						
							|  |  |  |       options << "&preview=#{params[:preview]}" unless params[:preview].blank? | 
					
						
							|  |  |  |       redirect_to url + options | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |    end | 
					
						
							|  |  |  |     | 
					
						
							| 
									
										
										
										
											2012-02-13 05:02:52 +00:00
										 |  |  |    def load_orbit_bar | 
					
						
							| 
									
										
										
										
											2012-02-28 20:21:56 +00:00
										 |  |  |      render :partial => 'layouts/orbit_bar', :locals => {:referer => request.referer} | 
					
						
							| 
									
										
										
										
											2012-02-13 05:02:52 +00:00
										 |  |  |    end | 
					
						
							|  |  |  |     | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |    protected | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |    def get_item | 
					
						
							| 
									
										
										
										
											2012-02-06 14:09:33 +00:00
										 |  |  |       module_app = ModuleApp.first(:conditions => {:key => params[:app_name]}) | 
					
						
							| 
									
										
										
										
											2012-05-15 13:26:09 +00:00
										 |  |  |       @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action]}) | 
					
						
							| 
									
										
										
										
											2012-01-24 10:16:58 +00:00
										 |  |  |    end | 
					
						
							| 
									
										
										
										
											2011-12-23 10:34:21 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2009-05-07 17:18:16 +00:00
										 |  |  | end |