14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'app/controllers/pages_controller.rb', line 14
def show
if request.format != :html
render_404
return
end
url_name = !params[:id].blank? ? params[:id] : Spud::Cms.root_page_name
if params[:id].blank? && Spud::Core.multisite_mode_enabled
site_config = Spud::Core.site_config_for_host(request.host_with_port)
if !site_config.blank?
cms_config = Spud::Cms.site_config_for_short_name(site_config[:short_name])
url_name = cms_config[:root_page_name] if !cms_config.blank? && !cms_config[:root_page_name].blank?
end
end
@page = SpudPage.published_pages.where(:url_name => url_name).includes([:spud_page_partials])
if Spud::Core.multisite_mode_enabled
site_config = Spud::Core.site_config_for_host(request.host_with_port)
@page = @page.site(!site_config.blank? ? site_config[:site_id] : nil)
end
@page = @page.first
if @page.blank?
@permalink = SpudPermalink.where(:url_name => url_name)
if Spud::Core.multisite_mode_enabled
@permalink = @permalink.site(!site_config.blank? ? site_config[:site_id] : nil)
end
@permalink = @permalink.first
if !@permalink.blank? && @permalink.attachment_type == 'SpudPage'
redirect_to @permalink.attachment.url_name == Spud::Cms.root_page_name ? root_url() : page_url(:id => @permalink.attachment.url_name) , :status => :moved_permanently and return
end
render_404
return
end
if @page.is_private?
return if defined?(require_user) && require_user == false
end
layout = Spud::Cms.default_page_layout
if Spud::Core.multisite_mode_enabled && !site_config.blank?
cms_config = Spud::Cms.site_config_for_short_name(site_config[:short_name])
layout = cms_config[:default_page_layout] if !cms_config.blank? && !cms_config[:default_page_layout].blank?
end
layout = @page.layout || layout
render :layout => layout
end
|