refinerycms 0.9.6.7 → 0.9.6.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +13 -0
- data/VERSION +1 -1
- data/config/application.rb +92 -0
- data/config/environment.rb +4 -74
- data/config/preinitializer.rb +7 -4
- data/db/schema.rb +1 -1
- data/lib/attachment_fu_patch.rb +16 -0
- data/public/.htaccess +3 -3
- data/public/javascripts/refinery/admin.js +6 -1
- data/test/files/teng.pdf +0 -0
- data/test/fixtures/inquiries.yml +22 -0
- data/test/fixtures/news_items.yml +14 -0
- data/test/fixtures/pages.yml +10 -4
- data/test/fixtures/refinery_settings.yml +3 -0
- data/test/fixtures/resources.yml +4 -0
- data/test/fixtures/themes.yml +5 -0
- data/test/unit/image_test.rb +4 -2
- data/test/unit/inquiry_test.rb +41 -0
- data/test/unit/news_items_test.rb +33 -0
- data/test/unit/page_test.rb +12 -9
- data/test/unit/refinery_setting_test.rb +57 -0
- data/test/unit/resource_test.rb +33 -0
- data/test/unit/theme_test.rb +19 -0
- data/todo.md +9 -0
- data/vendor/cache/aasm-2.1.3.gem +0 -0
- data/vendor/cache/actionmailer-2.3.5.gem +0 -0
- data/vendor/cache/actionpack-2.3.5.gem +0 -0
- data/vendor/cache/activerecord-2.3.5.gem +0 -0
- data/vendor/cache/activeresource-2.3.5.gem +0 -0
- data/vendor/cache/activesupport-2.3.5.gem +0 -0
- data/vendor/cache/friendly_id-2.3.1.gem +0 -0
- data/vendor/cache/hpricot-0.8.2.gem +0 -0
- data/vendor/cache/rack-1.0.1.gem +0 -0
- data/vendor/cache/rails-2.3.5.gem +0 -0
- data/vendor/cache/rake-0.8.7.gem +0 -0
- data/vendor/cache/rubyzip-0.9.1.gem +0 -0
- data/vendor/cache/slim_scrooge-1.0.3.gem +0 -0
- data/vendor/cache/will_paginate-2.3.11.gem +0 -0
- data/vendor/plugins/authentication/app/models/user.rb +1 -0
- data/vendor/plugins/images/app/models/image.rb +23 -15
- data/vendor/plugins/images/rails/init.rb +1 -1
- data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +1 -1
- data/vendor/plugins/inquiries/app/models/inquiry.rb +6 -9
- data/vendor/plugins/inquiries/rails/init.rb +1 -1
- data/vendor/plugins/news/app/controllers/admin/news_items_controller.rb +1 -1
- data/vendor/plugins/news/app/controllers/news_items_controller.rb +3 -3
- data/vendor/plugins/news/app/models/news_item.rb +6 -8
- data/vendor/plugins/news/app/views/admin/news_items/_form.html.erb +4 -4
- data/vendor/plugins/news/app/views/admin/news_items/_news_item.html.erb +5 -4
- data/vendor/plugins/news/app/views/admin/news_items/edit.html.erb +1 -1
- data/vendor/plugins/news/rails/init.rb +1 -1
- data/vendor/plugins/pages/app/models/page.rb +2 -2
- data/vendor/plugins/pages/rails/init.rb +1 -1
- data/vendor/plugins/refinery/app/views/admin/_head.html.erb +2 -9
- data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +7 -6
- data/vendor/plugins/refinery/app/views/shared/_head.html.erb +1 -0
- data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +1 -1
- data/vendor/plugins/refinery/lib/crud.rb +2 -2
- data/vendor/plugins/refinery/lib/refinery/application_controller.rb +15 -15
- data/vendor/plugins/refinery/lib/refinery/application_helper.rb +12 -0
- data/vendor/plugins/refinery/lib/refinery/plugin.rb +1 -1
- data/vendor/plugins/refinery/plugins.md +2 -2
- data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +40 -18
- data/vendor/plugins/refinery_settings/rails/init.rb +1 -2
- data/vendor/plugins/resources/app/models/resource.rb +10 -2
- data/vendor/plugins/themes/app/models/theme.rb +1 -1
- data/vendor/plugins/themes/lib/theme_server.rb +13 -4
- data/vendor/plugins/themes/rails/init.rb +12 -1
- metadata +36 -2
@@ -85,9 +85,9 @@ class Page < ActiveRecord::Base
|
|
85
85
|
# to "/inquiries/new"
|
86
86
|
def url
|
87
87
|
if self.link_url.present?
|
88
|
-
self.link_url
|
88
|
+
self.link_url =~ /^\// ? {:controller => self.link_url} : self.link_url
|
89
89
|
elsif self.to_param.present?
|
90
|
-
"
|
90
|
+
{:controller => "pages", :action => "show", :id => self.to_param}
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -2,7 +2,7 @@ Refinery::Plugin.register do |plugin|
|
|
2
2
|
plugin.title = "Pages"
|
3
3
|
plugin.description = "Manage content pages"
|
4
4
|
plugin.version = 1.0
|
5
|
-
plugin.menu_match = /admin\/(
|
5
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
6
6
|
plugin.activity = {
|
7
7
|
:class => Page,
|
8
8
|
:url_prefix => "edit",
|
@@ -4,15 +4,8 @@
|
|
4
4
|
<title><%= RefinerySetting.find_or_set(:site_name, 'Company Name').titleize %> - Refinery</title>
|
5
5
|
<%= stylesheet_link_tag 'refinery/thickbox', 'refinery/refinery', 'refinery/tooltips', :cache => (use_caching ? "cache/refinery" : false) %>
|
6
6
|
<%= render :partial => "/shared/admin/head_before_javascript_libraries" -%>
|
7
|
-
|
8
|
-
<script type='text/javascript' src="http://www.google.com/jsapi"></script>
|
9
|
-
<script type='text/javascript'>
|
10
|
-
google.load("jquery", "1.4");
|
11
|
-
google.load("jqueryui", "1.8");
|
12
|
-
</script>
|
13
|
-
<% end %>
|
14
|
-
<%= javascript_include_tag 'jquery', 'jquery-ui-1.8rc1.min.js', :cache => (use_caching ? "cache/libraries" : nil) if !using_google_libs or local_request? %>
|
7
|
+
<%= jquery_include_tags(use_caching) %>
|
15
8
|
<%= javascript_include_tag 'admin', 'thickbox', 'wymeditor/jquery.refinery.wymeditor.js', 'refinery/boot_wym', 'refinery/admin', :cache => (use_caching ? "cache/admin" : false) %>
|
16
9
|
<%= javascript_include_tag "http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js" if RefinerySetting.find_or_set(:show_firebug_lite, false) -%>
|
17
10
|
<%= yield :head %>
|
18
|
-
</head>
|
11
|
+
</head>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
hide_empty_sections ||= !(show_empty_sections ||= false)
|
3
|
+
body_content_title = ((title = yield :body_content_title).present? or hide_empty_sections) ? title : page_title
|
4
|
+
body_content_left = ((body_content_left = yield :body_content_left).present? or hide_empty_sections) ? body_content_left : @page[:body]
|
5
|
+
body_content_right = ((body_content_right = yield :body_content_right).present? or hide_empty_sections) ? body_content_right : @page[:side_body]
|
5
6
|
extra_body_content_classes = []
|
6
7
|
extra_body_content_classes << "no_title" if body_content_title.blank?
|
7
8
|
extra_body_content_classes << "no_left" if body_content_left.blank?
|
@@ -9,17 +10,17 @@
|
|
9
10
|
-%>
|
10
11
|
<%= render :partial => "/shared/submenu" if !admin? and (show_submenu ||= true) and RefinerySetting.find_or_set(:show_submenu_on_content_pages, true) %>
|
11
12
|
<div id='body_content' class='clearfix<%= " #{extra_body_content_classes.join(" ")}" if extra_body_content_classes.any? %>'>
|
12
|
-
<% unless body_content_title.blank? and
|
13
|
+
<% unless body_content_title.blank? and hide_empty_sections -%>
|
13
14
|
<h1 id='body_content_page_title'>
|
14
15
|
<%= body_content_title %>
|
15
16
|
</h1>
|
16
17
|
<% end -%>
|
17
|
-
<% unless body_content_left.blank? and
|
18
|
+
<% unless body_content_left.blank? and hide_empty_sections -%>
|
18
19
|
<div id='body_content_left' class='clearfix'>
|
19
20
|
<%= body_content_left %>
|
20
21
|
</div>
|
21
22
|
<% end -%>
|
22
|
-
<% unless body_content_right.blank? and
|
23
|
+
<% unless body_content_right.blank? and hide_empty_sections -%>
|
23
24
|
<div id='body_content_right' class='clearfix'>
|
24
25
|
<%= body_content_right %>
|
25
26
|
</div>
|
@@ -11,5 +11,6 @@
|
|
11
11
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
12
12
|
<%= "<meta name=\"keywords\" content=\"#{@meta.meta_keywords}\" />" if @meta.meta_keywords.present? %>
|
13
13
|
<%= "<meta name=\"description\" content=\"#{@meta.meta_description}\" />" if @meta.meta_description.present? -%>
|
14
|
+
<%= yield :head_libraries %>
|
14
15
|
<%= yield :head %>
|
15
16
|
</head>
|
@@ -189,8 +189,8 @@ module Crud
|
|
189
189
|
|
190
190
|
def update_positions
|
191
191
|
unless params[:tree] == "true"
|
192
|
-
params[:sortable_list].
|
193
|
-
#{class_name}.find(i).update_attribute(:position,
|
192
|
+
params[:sortable_list].each_with_index do |i, index|
|
193
|
+
#{class_name}.find(i).update_attribute(:position, index)
|
194
194
|
end
|
195
195
|
else
|
196
196
|
params[:sortable_list].each do |position, id_hash|
|
@@ -7,26 +7,30 @@ class Refinery::ApplicationController < ActionController::Base
|
|
7
7
|
include Crud # basic create, read, update and delete methods
|
8
8
|
include AuthenticatedSystem
|
9
9
|
|
10
|
-
before_filter :take_down_for_maintenance?, :
|
10
|
+
before_filter :take_down_for_maintenance?, :find_pages_for_menu, :show_welcome_page
|
11
11
|
|
12
|
-
rescue_from ActiveRecord::RecordNotFound, :with => :error_404
|
13
|
-
rescue_from ActionController::UnknownAction, :with => :error_404
|
12
|
+
rescue_from ActiveRecord::RecordNotFound, ActionController::UnknownAction, :with => :error_404
|
14
13
|
|
15
14
|
def error_404
|
16
|
-
@page = Page.find_by_menu_match("^/404$", :include => [:parts, :slugs])
|
17
|
-
|
15
|
+
if (@page = Page.find_by_menu_match("^/404$", :include => [:parts, :slugs])).present?
|
16
|
+
# render the application's custom 404 page with layout.
|
17
|
+
render :template => "/pages/show", :status => 404
|
18
|
+
else
|
19
|
+
# fallback to the default 404.html page.
|
20
|
+
render :file => Rails.root.join("public", "404.html"), :layout => false, :status => 404
|
21
|
+
end
|
18
22
|
end
|
19
23
|
|
20
24
|
def home_page?
|
21
|
-
|
25
|
+
action_name == "home" and controller_name == "pages"
|
22
26
|
end
|
23
27
|
|
24
28
|
def local_request?
|
25
|
-
request.remote_ip =~ /(::1)|(127.0.0.1)|((192.168).*)/
|
29
|
+
ENV["RAILS_ENV"] == "development" or request.remote_ip =~ /(::1)|(127.0.0.1)|((192.168).*)/
|
26
30
|
end
|
27
31
|
|
28
32
|
def just_installed?
|
29
|
-
User.
|
33
|
+
!User.exists?
|
30
34
|
end
|
31
35
|
|
32
36
|
def from_dialog?
|
@@ -34,7 +38,7 @@ class Refinery::ApplicationController < ActionController::Base
|
|
34
38
|
end
|
35
39
|
|
36
40
|
def admin?
|
37
|
-
|
41
|
+
controller_name =~ /^admin\//
|
38
42
|
end
|
39
43
|
|
40
44
|
def wymiframe
|
@@ -43,10 +47,6 @@ class Refinery::ApplicationController < ActionController::Base
|
|
43
47
|
|
44
48
|
protected
|
45
49
|
|
46
|
-
def setup_theme
|
47
|
-
self.view_paths = ::ActionController::Base.view_paths.dup.unshift(Rails.root.join("themes", RefinerySetting[:theme], "views").to_s)
|
48
|
-
end
|
49
|
-
|
50
50
|
def take_down_for_maintenance?
|
51
51
|
if RefinerySetting.find_or_set(:down_for_maintenance, false)
|
52
52
|
if (@page = Page.find_by_menu_match("^/maintenance$", :include => [:parts, :slugs])).present?
|
@@ -58,7 +58,7 @@ protected
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def show_welcome_page
|
61
|
-
render :template => "/welcome", :layout => "admin" if just_installed? and
|
61
|
+
render :template => "/welcome", :layout => "admin" if just_installed? and controller_name != "users"
|
62
62
|
end
|
63
63
|
|
64
64
|
# get all the pages to be displayed in the site menu.
|
@@ -78,4 +78,4 @@ protected
|
|
78
78
|
super
|
79
79
|
end
|
80
80
|
|
81
|
-
end
|
81
|
+
end
|
@@ -52,6 +52,18 @@ module Refinery::ApplicationHelper
|
|
52
52
|
tag
|
53
53
|
end
|
54
54
|
|
55
|
+
def jquery_include_tags(use_caching=RefinerySetting.find_or_set(:use_resource_caching, false))
|
56
|
+
if !local_request? and RefinerySetting.find_or_set(:use_google_ajax_libraries, true)
|
57
|
+
"#{javascript_include_tag "http://www.google.com/jsapi"}
|
58
|
+
<script type='text/javascript'>
|
59
|
+
google.load('jquery', '1.4');
|
60
|
+
google.load('jqueryui', '1.8');
|
61
|
+
</script>"
|
62
|
+
else
|
63
|
+
javascript_include_tag 'jquery', 'jquery-ui-1.8rc1.min.js', :cache => (use_caching ? "cache/libraries" : nil)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
# you can override the object used for the title by supplying options[:object]
|
56
68
|
# this object must support custom_title_type if you want custom titles.
|
57
69
|
def page_title(options = {})
|
@@ -28,7 +28,7 @@ module Refinery
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def url
|
31
|
-
@url ||= "
|
31
|
+
@url ||= {:controller => "admin/#{self.directory.blank? ? self.title.gsub(" ", "_").downcase : self.directory.split('/').pop}"}
|
32
32
|
end
|
33
33
|
|
34
34
|
def menu_match
|
@@ -111,7 +111,7 @@ This file runs when your site is started up. All is does is registers this plugi
|
|
111
111
|
plugin.title = "Pages"
|
112
112
|
plugin.description = "Manage content pages"
|
113
113
|
plugin.version = 1.0
|
114
|
-
plugin.menu_match = /admin\/(
|
114
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
115
115
|
plugin.activity = {
|
116
116
|
:class => Page,
|
117
117
|
:url_prefix => "edit_",
|
@@ -131,7 +131,7 @@ In our example above we showed the use of ``plugin.activity`` for the pages plug
|
|
131
131
|
plugin.title = "Pages"
|
132
132
|
plugin.description = "Manage content pages"
|
133
133
|
plugin.version = 1.0
|
134
|
-
plugin.menu_match = /admin\/(
|
134
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
135
135
|
plugin.activity = {
|
136
136
|
:class => Page,
|
137
137
|
:url_prefix => "edit_",
|
@@ -1,17 +1,24 @@
|
|
1
1
|
class RefinerySetting < ActiveRecord::Base
|
2
|
-
class SettingNotFound < RuntimeError; end
|
3
2
|
|
4
3
|
validates_presence_of :name
|
5
4
|
validates_uniqueness_of :name
|
6
5
|
|
7
|
-
serialize :value
|
8
|
-
|
6
|
+
serialize :value # stores into YAML format
|
7
|
+
|
8
|
+
# Number of settings to show per page when using will_paginate
|
9
|
+
def self.per_page
|
10
|
+
10
|
11
|
+
end
|
12
|
+
|
13
|
+
# prettier version of the name.
|
14
|
+
# site_name becomes Site Name
|
9
15
|
def title
|
10
16
|
self.name.titleize
|
11
17
|
end
|
12
18
|
|
13
|
-
#
|
14
|
-
|
19
|
+
# Access method that allows dot notation to work.
|
20
|
+
# say you had a setting called "site_name". You could access that by going RefinerySetting[:site_name]
|
21
|
+
# but with this you can also access that by going RefinerySettting.site_name
|
15
22
|
def self.method_missing(method, *args)
|
16
23
|
method_name = method.to_s
|
17
24
|
super(method, *args)
|
@@ -24,8 +31,9 @@ class RefinerySetting < ActiveRecord::Base
|
|
24
31
|
end
|
25
32
|
end
|
26
33
|
|
27
|
-
def self.find_or_set(name,
|
28
|
-
|
34
|
+
def self.find_or_set(name, the_value)
|
35
|
+
setting = find_or_create_by_name(:name => name.to_s, :value => the_value)
|
36
|
+
setting.value
|
29
37
|
end
|
30
38
|
|
31
39
|
def self.[](name)
|
@@ -38,19 +46,37 @@ class RefinerySetting < ActiveRecord::Base
|
|
38
46
|
setting.save!
|
39
47
|
end
|
40
48
|
|
49
|
+
|
50
|
+
|
51
|
+
# Below is not very nice, but seems to be required
|
52
|
+
# The problem is when Rails serialises a fields like booleans
|
53
|
+
# it doesn't retreieve it back out as a boolean
|
54
|
+
# it just returns a string. This code maps the two boolean
|
55
|
+
# values correctly so a boolean is returned
|
41
56
|
REPLACEMENTS = {"true" => true, "false" => false}
|
42
57
|
|
43
58
|
def value
|
44
|
-
|
59
|
+
current_value = self[:value]
|
45
60
|
|
46
|
-
|
47
|
-
|
48
|
-
|
61
|
+
unless current_value.nil?
|
62
|
+
# This bit handles true and false so that true and false are actually returned
|
63
|
+
# not "0" and "1"
|
64
|
+
REPLACEMENTS.each do |current, new_value|
|
65
|
+
current_value = new_value if current_value == current
|
66
|
+
end
|
67
|
+
|
68
|
+
# converts the serialised value back to an integer
|
69
|
+
# if the value is an integer
|
70
|
+
begin
|
71
|
+
if current_value.to_i.to_s == current_value
|
72
|
+
current_value = current_value.to_i
|
73
|
+
end
|
74
|
+
rescue
|
75
|
+
current_value
|
49
76
|
end
|
50
|
-
_value = _value.to_i if _value.to_i.to_s == _value rescue _value
|
51
77
|
end
|
52
78
|
|
53
|
-
return
|
79
|
+
return current_value
|
54
80
|
end
|
55
81
|
|
56
82
|
def value=(new_value)
|
@@ -59,8 +85,4 @@ class RefinerySetting < ActiveRecord::Base
|
|
59
85
|
self[:value] = new_value
|
60
86
|
end
|
61
87
|
|
62
|
-
|
63
|
-
10
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
88
|
+
end
|
@@ -2,8 +2,7 @@ Refinery::Plugin.register do |plugin|
|
|
2
2
|
plugin.title = "Settings"
|
3
3
|
plugin.description = "Manage Refinery settings"
|
4
4
|
plugin.version = 1.0
|
5
|
-
plugin.
|
6
|
-
plugin.menu_match = /admin\/((refinery_settings)|(settings))$/
|
5
|
+
plugin.menu_match = /admin\/(refinery_)?settings$/
|
7
6
|
plugin.activity = {
|
8
7
|
:class => RefinerySetting,
|
9
8
|
:title => 'title',
|
@@ -1,18 +1,26 @@
|
|
1
1
|
class Resource < ActiveRecord::Base
|
2
2
|
|
3
|
+
# What is the max resource size a user can upload
|
4
|
+
MAX_SIZE_IN_MB = 50
|
5
|
+
|
3
6
|
# Docs for attachment_fu http://github.com/technoweenie/attachment_fu
|
4
7
|
has_attachment :storage => (USE_S3_BACKEND ? :s3 : :file_system),
|
5
|
-
:
|
8
|
+
:max_size => MAX_SIZE_IN_MB.megabytes,
|
6
9
|
:path_prefix => (USE_S3_BACKEND ? nil : 'public/system/resources')
|
7
10
|
|
11
|
+
# we could use validates_as_attachment but it produces 4 odd errors like
|
12
|
+
# "size is not in list". So we basically here enforce the same validation
|
13
|
+
# rules here accept display the error messages we want
|
14
|
+
# This is a known bug in attachment_fu
|
8
15
|
def validate
|
9
16
|
if self.filename.nil?
|
10
17
|
errors.add_to_base("You must choose a file to upload")
|
11
18
|
else
|
12
19
|
[:size].each do |attr_name|
|
13
20
|
enum = attachment_options[attr_name]
|
21
|
+
|
14
22
|
unless enum.nil? || enum.include?(send(attr_name))
|
15
|
-
errors.add_to_base("Files should be smaller than
|
23
|
+
errors.add_to_base("Files should be smaller than #{MAX_SIZE_IN_MB} MB in size") if attr_name == :size
|
16
24
|
end
|
17
25
|
end
|
18
26
|
end
|
@@ -45,7 +45,7 @@ class Theme < ActiveRecord::Base
|
|
45
45
|
|
46
46
|
def read_theme
|
47
47
|
self.title = File.basename(self.full_filename).split(".").first.titleize
|
48
|
-
self.
|
48
|
+
self.licence = File.open(File.join(theme_path, "LICENCE")).read if File.exists? File.join(theme_path, "LICENCE")
|
49
49
|
self.description = File.open(File.join(theme_path, "README")).read if File.exists? File.join(theme_path, "README")
|
50
50
|
end
|
51
51
|
|
@@ -7,20 +7,29 @@ class ThemeServer
|
|
7
7
|
def initialize(app)
|
8
8
|
@app = app
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def call(env)
|
12
12
|
if env["PATH_INFO"] =~ /^\/theme/
|
13
13
|
relative_path = env["PATH_INFO"].gsub(/^\/theme\//, '')
|
14
14
|
|
15
15
|
if (file_path = Rails.root.join "themes", RefinerySetting[:theme], relative_path).exist?
|
16
|
-
|
16
|
+
# generate an etag for client-side caching.
|
17
|
+
etag = Digest::MD5.hexdigest("#{file_path.to_s}#{file_path.mtime}")
|
18
|
+
unless env["HTTP_IF_NONE_MATCH"] == etag
|
19
|
+
[200, {
|
20
|
+
"Content-Type" => Rack::Mime.mime_type(file_path.extname),
|
21
|
+
"ETag" => etag
|
22
|
+
}, file_path.open]
|
23
|
+
else
|
24
|
+
[304, {"Content-Type" => Rack::Mime.mime_type(file_path.extname)}, "Not Modified"]
|
25
|
+
end
|
17
26
|
else
|
18
|
-
[404, {"Content-Type" => "text/html"}, ["
|
27
|
+
[404, {"Content-Type" => "text/html"}, ["Not Found"]]
|
19
28
|
end
|
20
29
|
else
|
21
30
|
status, headers, response = @app.call(env)
|
22
31
|
[status, headers, response]
|
23
32
|
end
|
24
33
|
end
|
25
|
-
|
34
|
+
|
26
35
|
end
|
@@ -11,4 +11,15 @@ Refinery::Plugin.register do |plugin|
|
|
11
11
|
}
|
12
12
|
end
|
13
13
|
|
14
|
-
config.middleware.use "ThemeServer"
|
14
|
+
config.middleware.use "ThemeServer"
|
15
|
+
::ActionController::Base.module_eval %(
|
16
|
+
view_paths.unshift Rails.root.join("themes", RefinerySetting[:theme], "views").to_s if RefinerySetting[:theme].present?
|
17
|
+
)
|
18
|
+
|
19
|
+
# set up controller paths.
|
20
|
+
if RefinerySetting[:theme].present?
|
21
|
+
controller_path = Rails.root.join("themes", RefinerySetting[:theme], "controllers").to_s
|
22
|
+
|
23
|
+
::ActiveSupport::Dependencies.load_paths.unshift controller_path
|
24
|
+
config.controller_paths.unshift controller_path
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refinerycms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.6.
|
4
|
+
version: 0.9.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Resolve Digital
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2010-02-
|
14
|
+
date: 2010-02-15 00:00:00 +13:00
|
15
15
|
default_executable:
|
16
16
|
dependencies: []
|
17
17
|
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- .gems
|
33
33
|
- .gitignore
|
34
34
|
- .yardopts
|
35
|
+
- Gemfile
|
35
36
|
- Rakefile
|
36
37
|
- VERSION
|
37
38
|
- app/controllers/admin/base_controller.rb
|
@@ -42,6 +43,7 @@ files:
|
|
42
43
|
- bin/refinery-override
|
43
44
|
- bin/refinery-update-core
|
44
45
|
- config/amazon_s3.yml.example
|
46
|
+
- config/application.rb
|
45
47
|
- config/boot.rb
|
46
48
|
- config/database.yml.example
|
47
49
|
- config/environment.rb
|
@@ -67,6 +69,7 @@ files:
|
|
67
69
|
- doc/.yardoc/checksums
|
68
70
|
- doc/.yardoc/objects/root.dat
|
69
71
|
- doc/.yardoc/proxy_types
|
72
|
+
- lib/attachment_fu_patch.rb
|
70
73
|
- lib/refinery_initializer.rb
|
71
74
|
- license.md
|
72
75
|
- public/.htaccess
|
@@ -214,16 +217,42 @@ files:
|
|
214
217
|
- script/server
|
215
218
|
- test/files/The world!.gif
|
216
219
|
- test/files/car-wallpapers19.jpg
|
220
|
+
- test/files/teng.pdf
|
217
221
|
- test/fixtures/images.yml
|
222
|
+
- test/fixtures/inquiries.yml
|
223
|
+
- test/fixtures/news_items.yml
|
218
224
|
- test/fixtures/page_parts.yml
|
219
225
|
- test/fixtures/pages.yml
|
226
|
+
- test/fixtures/refinery_settings.yml
|
227
|
+
- test/fixtures/resources.yml
|
228
|
+
- test/fixtures/themes.yml
|
220
229
|
- test/performance/browsing_test.rb
|
221
230
|
- test/test_helper.rb
|
222
231
|
- test/unit/image_test.rb
|
232
|
+
- test/unit/inquiry_test.rb
|
233
|
+
- test/unit/news_items_test.rb
|
223
234
|
- test/unit/page_part_test.rb
|
224
235
|
- test/unit/page_test.rb
|
236
|
+
- test/unit/refinery_setting_test.rb
|
237
|
+
- test/unit/resource_test.rb
|
238
|
+
- test/unit/theme_test.rb
|
225
239
|
- themes/demolicious.zip
|
226
240
|
- themes/hemingway.zip
|
241
|
+
- todo.md
|
242
|
+
- vendor/cache/aasm-2.1.3.gem
|
243
|
+
- vendor/cache/actionmailer-2.3.5.gem
|
244
|
+
- vendor/cache/actionpack-2.3.5.gem
|
245
|
+
- vendor/cache/activerecord-2.3.5.gem
|
246
|
+
- vendor/cache/activeresource-2.3.5.gem
|
247
|
+
- vendor/cache/activesupport-2.3.5.gem
|
248
|
+
- vendor/cache/friendly_id-2.3.1.gem
|
249
|
+
- vendor/cache/hpricot-0.8.2.gem
|
250
|
+
- vendor/cache/rack-1.0.1.gem
|
251
|
+
- vendor/cache/rails-2.3.5.gem
|
252
|
+
- vendor/cache/rake-0.8.7.gem
|
253
|
+
- vendor/cache/rubyzip-0.9.1.gem
|
254
|
+
- vendor/cache/slim_scrooge-1.0.3.gem
|
255
|
+
- vendor/cache/will_paginate-2.3.11.gem
|
227
256
|
- vendor/plugins/acts_as_indexed/CHANGELOG
|
228
257
|
- vendor/plugins/acts_as_indexed/MIT-LICENSE
|
229
258
|
- vendor/plugins/acts_as_indexed/README.rdoc
|
@@ -562,5 +591,10 @@ test_files:
|
|
562
591
|
- test/performance/browsing_test.rb
|
563
592
|
- test/test_helper.rb
|
564
593
|
- test/unit/image_test.rb
|
594
|
+
- test/unit/inquiry_test.rb
|
595
|
+
- test/unit/news_items_test.rb
|
565
596
|
- test/unit/page_part_test.rb
|
566
597
|
- test/unit/page_test.rb
|
598
|
+
- test/unit/refinery_setting_test.rb
|
599
|
+
- test/unit/resource_test.rb
|
600
|
+
- test/unit/theme_test.rb
|