kit_cms 2.3.20 → 2.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/assets/images/kit/toolbar/smile.png +0 -0
- data/app/assets/images/kit/toolbar/wink.gif +0 -0
- data/app/assets/images/kit/toolbar/wink.png +0 -0
- data/app/assets/javascripts/codemirror/editor.js +55 -17
- data/app/assets/javascripts/codemirror/jquery.js +0 -1
- data/app/assets/javascripts/codemirror/ruby.js +196 -0
- data/app/assets/javascripts/jquery.js +3036 -2838
- data/app/assets/javascripts/kit/utilities.js +655 -586
- data/app/assets/stylesheets/codemirror/style.css +1 -1
- data/app/assets/stylesheets/codemirror/theme.css +23 -3
- data/app/assets/stylesheets/kit/calendar.css +6 -1
- data/app/assets/stylesheets/kit/cms/cms.css +36 -0
- data/app/assets/stylesheets/kit/forums.css +5 -1
- data/app/assets/stylesheets/kit/kit.css +3 -1
- data/app/controllers/account_controller.rb +306 -0
- data/app/controllers/ad_controller.rb +2 -0
- data/app/controllers/admin/ad_units_controller.rb +1 -1
- data/app/controllers/admin/ad_zones_controller.rb +15 -0
- data/app/controllers/admin/ads_controller.rb +5 -0
- data/app/controllers/admin/block_controller.rb +1 -65
- data/app/controllers/admin/blocks_controller.rb +2 -0
- data/app/controllers/admin/content_controller.rb +3 -1
- data/app/controllers/admin/dashboard_controller.rb +28 -4
- data/app/controllers/admin/dj_controller.rb +45 -0
- data/app/controllers/admin/help_controller.rb +1 -1
- data/app/controllers/admin/html_asset_controller.rb +0 -12
- data/app/controllers/admin/q_controller.rb +120 -0
- data/app/controllers/admin/user_controller.rb +4 -4
- data/app/controllers/api_controller.rb +34 -0
- data/app/controllers/calendar_controller.rb +1 -1
- data/app/controllers/form_controller.rb +3 -3
- data/app/controllers/forum_controller.rb +39 -29
- data/app/controllers/kit_controller.rb +42 -15
- data/app/controllers/pages_controller.rb +25 -5
- data/app/controllers/q_controller.rb +235 -0
- data/app/controllers/repo_controller.rb +7 -0
- data/app/controllers/user_controller.rb +14 -10
- data/app/controllers/utility_controller.rb +1 -1
- data/app/helpers/account_helper.rb +47 -0
- data/app/helpers/admin/layouts_helper.rb +8 -0
- data/app/helpers/admin/page_templates_helper.rb +8 -0
- data/app/helpers/ads_helper.rb +11 -12
- data/app/helpers/calendar_helper.rb +6 -2
- data/app/helpers/form_data_helper.rb +1 -1
- data/app/helpers/form_helper.rb +8 -0
- data/app/helpers/forum_helper.rb +5 -1
- data/app/helpers/kit_helper.rb +65 -35
- data/app/helpers/kit_modules_helper.rb +4 -0
- data/app/helpers/user_helper.rb +0 -28
- data/app/jobs/page_link_job.rb +34 -0
- data/app/jobs/queue_job.rb +134 -0
- data/app/mailers/notification.rb +10 -0
- data/app/mailers/queue_mailer.rb +13 -0
- data/app/models/ad.rb +6 -6
- data/app/models/ad_unit.rb +1 -1
- data/app/models/ad_zone.rb +4 -0
- data/app/models/block.rb +1 -1
- data/app/models/delayed_job.rb +3 -0
- data/app/models/form.rb +16 -4
- data/app/models/html_asset.rb +19 -4
- data/app/models/html_asset_usage.rb +3 -0
- data/app/models/html_assetable.rb +4 -0
- data/app/models/layout.rb +36 -6
- data/app/models/newsletter.rb +1 -1
- data/app/models/page.rb +36 -2
- data/app/models/page_link.rb +5 -0
- data/app/models/page_template.rb +22 -2
- data/app/models/preference.rb +1 -1
- data/app/models/q_event.rb +12 -0
- data/app/models/q_klass.rb +5 -0
- data/app/models/q_message.rb +9 -0
- data/app/models/q_publisher.rb +35 -0
- data/app/models/q_subscription.rb +7 -0
- data/app/models/q_user.rb +29 -0
- data/app/models/q_users_method.rb +6 -0
- data/app/models/q_users_publisher.rb +6 -0
- data/app/models/user.rb +127 -19
- data/app/models/user_login.rb +4 -0
- data/app/validators/email_validator.rb +14 -0
- data/app/views/account/_edit.html.haml +40 -0
- data/app/views/account/_edit_intro.html.haml +3 -0
- data/app/views/account/_forgotten.html.haml +20 -0
- data/app/views/account/_forgotten_intro.html.haml +5 -0
- data/app/views/account/_sign_in.html.haml +31 -0
- data/app/views/account/_sign_in_intro.html.haml +4 -0
- data/app/views/account/_sign_up.html.haml +51 -0
- data/app/views/account/_sign_up_intro.html.haml +4 -0
- data/app/views/account/edit.html.haml +1 -0
- data/app/views/account/forgotten.html.haml +1 -0
- data/app/views/account/sign_in.html.haml +2 -0
- data/app/views/account/sign_up.html.haml +1 -0
- data/app/views/ad/_buy.html.haml +2 -1
- data/app/views/admin/ad_zones/_form.html.haml +1 -1
- data/app/views/admin/ad_zones/show.html.haml +2 -0
- data/app/views/admin/blocks/_form.html.haml +11 -1
- data/app/views/admin/dashboard/broken_links.html.haml +9 -0
- data/app/views/admin/dashboard/system.html.haml +11 -0
- data/app/views/admin/dj/index.html.haml +43 -0
- data/app/views/admin/form/_form.html.haml +15 -10
- data/app/views/admin/group/index.html.haml +1 -1
- data/app/views/admin/help/edit.html.haml +1 -1
- data/app/views/admin/html_asset/show.html.haml +9 -2
- data/app/views/admin/layouts/show.html.haml +10 -16
- data/app/views/admin/page_templates/_form.html.haml +9 -17
- data/app/views/admin/page_templates/show.html.haml +5 -4
- data/app/views/admin/q/events.html.haml +26 -0
- data/app/views/admin/q/index.html.haml +28 -0
- data/app/views/admin/q/klasses.html.haml +61 -0
- data/app/views/admin/q/messages.html.haml +37 -0
- data/app/views/admin/q/show.html.haml +98 -0
- data/app/views/admin/q/subscriptions.html.haml +26 -0
- data/app/views/admin/q/users.html.haml +27 -0
- data/app/views/admin/snippet/edit.html.erb +1 -1
- data/app/views/admin/snippet/new.html.erb +1 -1
- data/app/views/admin/stylesheet/show.html.haml +1 -1
- data/app/views/admin/user/index.html.erb +15 -6
- data/app/views/admin/user/view.html.erb +5 -4
- data/app/views/admin/views/_form.html.haml +3 -3
- data/app/views/calendar/_buy_tickets.html.haml +1 -1
- data/app/views/calendar/_calendar_entry.html.haml +1 -1
- data/app/views/calendar/_month.html.haml +7 -7
- data/app/views/form/_show.html.haml +1 -1
- data/app/views/forum/_add_post.html.haml +7 -8
- data/app/views/forum/_mod_thread.js.erb +46 -6
- data/app/views/forum/_post_moderation.html.haml +2 -1
- data/app/views/forum/_post_preview.html.haml +1 -9
- data/app/views/forum/_post_scripts.js.erb +29 -5
- data/app/views/forum/fetch_raw.html.haml +1 -0
- data/app/views/forum/moderate.html.haml +1 -0
- data/app/views/forum/topic_index.html.haml +4 -0
- data/app/views/notification/{event.txt.erb → event.text.erb} +0 -0
- data/app/views/notification/forgotten_password.text.erb +2 -0
- data/app/views/pages/content_edit.html.haml +1 -1
- data/app/views/pages/info.html.erb +13 -2
- data/app/views/pages/links.html.haml +63 -0
- data/app/views/user/edit_profile.html.haml +1 -1
- data/app/views/utility/_cm_editor.html.erb +13 -10
- data/app/views/utility/_cm_toolbar_markdown.html.haml +8 -1
- data/app/views/utility/_menu.html.haml +4 -0
- data/app/views/utility/mercury_html.html.haml +1 -0
- data/config/initializers/elastic_search.rb +6 -3
- data/config/initializers/extend_controller.rb +3 -0
- data/config/initializers/string.rb +9 -6
- data/config/initializers/warden.rb +49 -0
- data/config/locales/en.yml +29 -1
- data/config/routes.rb +35 -2
- data/lib/kit_cms.rb +7 -2
- data/lib/tasks/kit.rake +90 -2
- metadata +139 -27
- data/app/controllers/user/confirmations_controller.rb +0 -11
- data/app/controllers/user/passwords_controller.rb +0 -13
- data/app/controllers/user/registrations_controller.rb +0 -110
- data/app/controllers/user/sessions_controller.rb +0 -33
- data/app/controllers/user/unlocks_controller.rb +0 -13
- data/app/views/devise/_links.erb +0 -25
- data/app/views/devise/confirmations/new.html.erb +0 -12
- data/app/views/devise/mailer/confirmation_instructions.html.erb +0 -5
- data/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
- data/app/views/devise/mailer/unlock_instructions.html.erb +0 -7
- data/app/views/devise/passwords/edit.html.erb +0 -16
- data/app/views/devise/passwords/new.html.erb +0 -12
- data/app/views/devise/registrations/edit.html.erb +0 -28
- data/app/views/devise/registrations/new.html.erb +0 -18
- data/app/views/devise/sessions/new.html.erb +0 -18
- data/app/views/devise/shared/_links.erb +0 -25
- data/app/views/devise/unlocks/new.html.erb +0 -12
- data/app/views/pages/links.html.erb +0 -8
- data/app/views/user/shared/_links.erb +0 -25
- data/config/initializers/devise.rb +0 -196
- data/config/initializers/devise_extender.rb +0 -39
@@ -0,0 +1,34 @@
|
|
1
|
+
class ApiController < ActionController::Base
|
2
|
+
include DomainController
|
3
|
+
|
4
|
+
before_filter :set_system, :except=>[:not_found_404]
|
5
|
+
before_filter :offline, :except=>[:not_found_404, :down_for_maintenance]
|
6
|
+
|
7
|
+
after_filter :clear_session
|
8
|
+
|
9
|
+
def clear_session
|
10
|
+
session.clear
|
11
|
+
request.session_options[:skip] = true
|
12
|
+
end
|
13
|
+
|
14
|
+
def protect_against_forgery?
|
15
|
+
end
|
16
|
+
|
17
|
+
rescue_from Exception, :with => :respond_error
|
18
|
+
|
19
|
+
def respond_error(exception)
|
20
|
+
head :internal_server_error
|
21
|
+
|
22
|
+
logger.error exception.message
|
23
|
+
end
|
24
|
+
|
25
|
+
def offline
|
26
|
+
message = Preference.get_cached(_sid, "down_for_maintenance_message")
|
27
|
+
if message
|
28
|
+
head :service_unavailable, :message=>message
|
29
|
+
return false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
@@ -19,7 +19,7 @@ class CalendarController < KitController
|
|
19
19
|
item.save
|
20
20
|
|
21
21
|
unless current_user.admin?
|
22
|
-
Notification.moderation_required("Ticket Sales", "Ticket sales set up for #{
|
22
|
+
Notification.moderation_required("Ticket Sales", "Ticket sales set up for #{item.calendar.name}. View: #{Preference.get_cached(_sid, 'host')}/admin/calendar_entries/#{item.id}", _sid).deliver if params[:item_model]=="CalendarEntry"
|
23
23
|
end
|
24
24
|
redirect_to (params[:redirect] || "/") and return
|
25
25
|
end
|
@@ -15,7 +15,7 @@ class FormController < KitController
|
|
15
15
|
search_size = (params[:per] || "25").to_i
|
16
16
|
the_page = (params[:page] || "1").to_i
|
17
17
|
|
18
|
-
search = Tire.search "
|
18
|
+
search = Tire.search "#{index_name}_form_submissions" do
|
19
19
|
query do
|
20
20
|
boolean do
|
21
21
|
must do
|
@@ -39,7 +39,7 @@ class FormController < KitController
|
|
39
39
|
@results = nil
|
40
40
|
end
|
41
41
|
|
42
|
-
kit_render "search", :layout=>"
|
42
|
+
kit_render "search", :layout=>Layout.preference(_sid, "forum-search")
|
43
43
|
end
|
44
44
|
|
45
45
|
|
@@ -85,7 +85,7 @@ class FormController < KitController
|
|
85
85
|
|
86
86
|
if @form.notify.not_blank?
|
87
87
|
@form.notify.split(',').each do |recipient|
|
88
|
-
Notification.form_submission(
|
88
|
+
Notification.form_submission(sub.id, _sid, recipient).deliver
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
include ActionView::Helpers::TextHelper
|
2
2
|
|
3
3
|
class ForumController < KitController
|
4
|
-
append_view_path Layout.resolver
|
5
|
-
layout "forums"
|
6
4
|
before_filter :load_forum_user_options, :only => [:topic_index, :thread, :search, :add_post, :recent, :im_on, :favourites, :thread_last_unread, :index]
|
7
5
|
|
8
6
|
before_filter :is_moderator
|
@@ -10,13 +8,13 @@ class ForumController < KitController
|
|
10
8
|
before_filter :post_order, :only=>[:thread]
|
11
9
|
|
12
10
|
def test
|
13
|
-
kit_render "test", :
|
11
|
+
kit_render "test", :layout_o=>get_layout('index')
|
14
12
|
end
|
15
13
|
|
16
14
|
def moderate
|
17
15
|
redirect_to "/users/sign_in" and return unless @mod
|
18
16
|
@topic_posts = TopicPost.sys(_sid).order("id desc").where(:is_visible=>1).page(params[:page]).per(25)
|
19
|
-
kit_render "moderate", :
|
17
|
+
kit_render "moderate", :layout_o=>get_layout('index')
|
20
18
|
end
|
21
19
|
|
22
20
|
def rate_post
|
@@ -60,7 +58,7 @@ class ForumController < KitController
|
|
60
58
|
@threads = current_user.topic_threads.page(params[:page]).per(@user_options.threads_per_page)
|
61
59
|
@page_title = "Forum: Favourite Threads"
|
62
60
|
@show_watch = true
|
63
|
-
kit_render "thread_list", :
|
61
|
+
kit_render "thread_list", :layout_o=>get_layout('im-watching', ['im-watching', 'threads'])
|
64
62
|
else
|
65
63
|
redirect_to "/users/sign_in"
|
66
64
|
end
|
@@ -72,7 +70,7 @@ class ForumController < KitController
|
|
72
70
|
if current_user
|
73
71
|
@page_title = "Forum: Threads I Posted To"
|
74
72
|
@threads = TopicThread.im_on(current_user, @user_options.threads_per_page, @mod, params[:page])
|
75
|
-
kit_render "thread_list", :
|
73
|
+
kit_render "thread_list", :layout_o=>get_layout('im-on', ['im-on', 'threads'])
|
76
74
|
else
|
77
75
|
redirect_to "/users/sign_in"
|
78
76
|
end
|
@@ -93,7 +91,7 @@ class ForumController < KitController
|
|
93
91
|
@destination_last = true
|
94
92
|
|
95
93
|
respond_to do |format|
|
96
|
-
format.html { kit_render "thread_list", :
|
94
|
+
format.html { kit_render "thread_list", :layout_o=>get_layout('recent', ['recent', 'threads']) }
|
97
95
|
format.rss { render "forum/thread_list.rss" }
|
98
96
|
end
|
99
97
|
end
|
@@ -120,7 +118,7 @@ class ForumController < KitController
|
|
120
118
|
return
|
121
119
|
end
|
122
120
|
|
123
|
-
kit_render "report", :
|
121
|
+
kit_render "report", :layout_o=>get_layout('report')
|
124
122
|
end
|
125
123
|
|
126
124
|
def index
|
@@ -129,7 +127,7 @@ class ForumController < KitController
|
|
129
127
|
@categories = categories.all
|
130
128
|
@page_title = "Forums"
|
131
129
|
@canonical_tag = "/forums"
|
132
|
-
kit_render "index", :
|
130
|
+
kit_render "index", :layout_o=>get_layout('index')
|
133
131
|
end
|
134
132
|
|
135
133
|
def search
|
@@ -151,7 +149,7 @@ class ForumController < KitController
|
|
151
149
|
log = logger
|
152
150
|
|
153
151
|
[ "TopicPost", "TopicThread" ].each do |model|
|
154
|
-
indexes << "
|
152
|
+
indexes << "#{index_name}_#{model.tableize}"
|
155
153
|
KitIndexed.indexed_columns(model).collect { |ic|
|
156
154
|
search_fields << ic[:name] if ic[:user]
|
157
155
|
}
|
@@ -185,7 +183,7 @@ class ForumController < KitController
|
|
185
183
|
@results = nil
|
186
184
|
end
|
187
185
|
|
188
|
-
kit_render "search", :
|
186
|
+
kit_render "search", :layout_o=>get_layout('search')
|
189
187
|
end
|
190
188
|
|
191
189
|
def topic_index
|
@@ -215,7 +213,7 @@ class ForumController < KitController
|
|
215
213
|
@page_title = "Forums: #{@topic.name}"
|
216
214
|
@canonical_tag = "/forums/#{@topic.url}"
|
217
215
|
@meta_description = "Forums"
|
218
|
-
kit_render "topic_index", :
|
216
|
+
kit_render "topic_index", :layout_o=>get_layout('threads')
|
219
217
|
end
|
220
218
|
|
221
219
|
def category_topic_list
|
@@ -292,7 +290,7 @@ class ForumController < KitController
|
|
292
290
|
@page_title = "#{@thread.topic.name} - #{@thread.title}"
|
293
291
|
@canonical_tag = @thread.link
|
294
292
|
|
295
|
-
kit_render "thread", :
|
293
|
+
kit_render "thread", :layout_o=>get_layout('posts')
|
296
294
|
end
|
297
295
|
|
298
296
|
def preview
|
@@ -304,9 +302,11 @@ class ForumController < KitController
|
|
304
302
|
end
|
305
303
|
|
306
304
|
def add_post
|
307
|
-
|
308
|
-
|
309
|
-
|
305
|
+
unless current_user && current_user.admin?
|
306
|
+
return unless anti_spam_okay?
|
307
|
+
return unless sanity_check_okay?
|
308
|
+
return unless check_post_rate?
|
309
|
+
end
|
310
310
|
|
311
311
|
@thread = TopicThread.where(:id=>params[:id]).first
|
312
312
|
redirect_to "/forums" and return unless level_okay(@thread.topic.write_access_level)
|
@@ -325,7 +325,7 @@ class ForumController < KitController
|
|
325
325
|
|
326
326
|
if params[:topic_post][:body] && params[:topic_post][:body].strip.length<2
|
327
327
|
flash[:form_message] = "Your message must be at least 2 characters"
|
328
|
-
kit_render "thread", :
|
328
|
+
kit_render "thread", :layout_o=>get_layout('thread')
|
329
329
|
return
|
330
330
|
end
|
331
331
|
|
@@ -353,7 +353,11 @@ class ForumController < KitController
|
|
353
353
|
@post.update_postnumber
|
354
354
|
end
|
355
355
|
|
356
|
-
|
356
|
+
if request.xhr?
|
357
|
+
render :js=>";"
|
358
|
+
else
|
359
|
+
redirect_to @thread.link_for_post(@post.id, @user_options, @mod)
|
360
|
+
end
|
357
361
|
end
|
358
362
|
|
359
363
|
def comments
|
@@ -392,7 +396,7 @@ class ForumController < KitController
|
|
392
396
|
@threads = nil
|
393
397
|
@page_id = params[:page_id]
|
394
398
|
@about_page_title = Page.find_sys_id(_sid, @page_id).title
|
395
|
-
kit_render "topic_index", :
|
399
|
+
kit_render "topic_index", :layout_o=>get_layout('threads')
|
396
400
|
end
|
397
401
|
|
398
402
|
def create_thread
|
@@ -408,12 +412,12 @@ class ForumController < KitController
|
|
408
412
|
|
409
413
|
if @post.raw_body.strip.length<2
|
410
414
|
flash[:form_message] = "Your message must be at least 2 characters"
|
411
|
-
kit_render "topic_index", :
|
415
|
+
kit_render "topic_index", :layout_o=>get_layout('threads')
|
412
416
|
return
|
413
417
|
end
|
414
418
|
if params[:topic_post][:title].strip.length<2
|
415
419
|
flash[:form_message] = "Title must be at least 4 characters"
|
416
|
-
kit_render "topic_index", :
|
420
|
+
kit_render "topic_index", :layout_o=>get_layout('threads')
|
417
421
|
return
|
418
422
|
end
|
419
423
|
@post.system_id = _sid
|
@@ -563,9 +567,13 @@ class ForumController < KitController
|
|
563
567
|
@post = TopicPost.sys(_sid).where(:id=>params[:id]).first
|
564
568
|
|
565
569
|
if can?(:moderate, self) || (@post.is_visible==1 && @post.topic_thread.is_visible==1 && @post.topic_thread.topic.is_visible==1 && level_okay(@post.topic_thread.topic.read_access_level))
|
566
|
-
|
570
|
+
if params[:editor]
|
571
|
+
render "fetch_raw", :layout=>false, :locals=>{:is_mod=>params[:mod]=="1"}
|
572
|
+
else
|
573
|
+
render :text=>@post.raw_body, :layout_o=>false
|
574
|
+
end
|
567
575
|
else
|
568
|
-
render :text=>"n/a", :
|
576
|
+
render :text=>"n/a", :layout_o=>false
|
569
577
|
end
|
570
578
|
end
|
571
579
|
|
@@ -642,23 +650,25 @@ class ForumController < KitController
|
|
642
650
|
end
|
643
651
|
|
644
652
|
def get_layout(name, names = nil)
|
645
|
-
ll = Rails.cache.fetch("layout-exists-forum-#{name}", :expires_in=>
|
653
|
+
ll = Rails.cache.fetch("layout-exists-forum-#{_sid}-#{name}", :expires_in=>60.seconds) do
|
646
654
|
l = nil
|
647
655
|
names = [name] unless names
|
648
656
|
names.each do |aname|
|
649
|
-
if Layout.name_exists?("forum-#{aname}")
|
657
|
+
if Layout.name_exists?(_sid, "forum-#{aname}")
|
650
658
|
l = "forum-#{aname}"
|
651
659
|
break
|
652
660
|
end
|
653
661
|
end
|
654
662
|
if l==nil
|
655
|
-
if Layout.name_exists?("forum")
|
663
|
+
if Layout.name_exists?(_sid, "forum")
|
656
664
|
l = "forum"
|
657
|
-
else
|
658
|
-
l = "application"
|
659
665
|
end
|
660
666
|
end
|
661
|
-
l
|
667
|
+
if l
|
668
|
+
Layout.sys(_sid).where(:name=>l).first
|
669
|
+
else
|
670
|
+
Layout.preference(_sid, "forum_layout")
|
671
|
+
end
|
662
672
|
end
|
663
673
|
ll
|
664
674
|
end
|
@@ -5,6 +5,7 @@ class KitController < ActionController::Base
|
|
5
5
|
before_filter :set_requested_url, :except=>[:not_found_404]
|
6
6
|
before_filter :set_system, :except=>[:not_found_404]
|
7
7
|
before_filter :offline, :except=>[:not_found_404, :down_for_maintenance]
|
8
|
+
before_filter :check_user
|
8
9
|
before_filter :kit_session, :except=>[:not_found_404]
|
9
10
|
after_filter :kit_session_end, :except=>[:not_found_404]
|
10
11
|
append_view_path Layout.resolver
|
@@ -12,13 +13,23 @@ class KitController < ActionController::Base
|
|
12
13
|
after_filter :check_and_record_goal, :except=>[:not_found_404]
|
13
14
|
|
14
15
|
|
15
|
-
attr_accessor :
|
16
|
+
attr_accessor :layout_being_used
|
16
17
|
attr_accessor :template_being_used
|
17
18
|
attr_accessor :requested_url
|
18
19
|
|
19
20
|
attr_accessor :is_image_request
|
20
21
|
attr_accessor :kit_request
|
21
22
|
|
23
|
+
def check_user
|
24
|
+
return true unless self.kit_system
|
25
|
+
|
26
|
+
u = User.cookie_authenticate(_sid, cookies[:sign_in])
|
27
|
+
if u
|
28
|
+
u.record_signin(_sid, request, 'c')
|
29
|
+
warden.set_user u
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
22
33
|
def set_requested_url
|
23
34
|
self.is_image_request = false
|
24
35
|
self.requested_url = request.fullpath
|
@@ -76,25 +87,25 @@ class KitController < ActionController::Base
|
|
76
87
|
|
77
88
|
def stylesheets
|
78
89
|
if @page
|
79
|
-
return (@page.page_template.layout.stylesheets +
|
90
|
+
return (@page.page_template.layout.stylesheets + @page.page_template.stylesheets).uniq
|
80
91
|
elsif @form
|
81
|
-
return @form.
|
92
|
+
return (@form.stylesheets + @form.layout.stylesheets).uniq
|
82
93
|
else
|
83
94
|
layout = kit_layout_in_use
|
84
95
|
if layout
|
85
|
-
return layout.stylesheets
|
86
|
-
else
|
87
|
-
return ["application"]
|
96
|
+
return layout.stylesheets
|
88
97
|
end
|
89
98
|
end
|
99
|
+
|
100
|
+
return []
|
90
101
|
end
|
91
102
|
|
92
103
|
|
93
104
|
def kit_layout_in_use
|
94
105
|
l = nil
|
95
106
|
|
96
|
-
if self.
|
97
|
-
l =
|
107
|
+
if self.layout_being_used # this gets set if kit_render is being used
|
108
|
+
l = self.layout_being_used
|
98
109
|
else
|
99
110
|
l = @page.layout if @page
|
100
111
|
end
|
@@ -127,12 +138,17 @@ class KitController < ActionController::Base
|
|
127
138
|
@content = render_to_string name, :layout=>false
|
128
139
|
options[:type] = custom_template.template_type || 'erb'
|
129
140
|
options[:inline] = custom_template.body
|
130
|
-
options[:layout] = custom_template.layout.
|
141
|
+
options[:layout] = custom_template.layout.name
|
131
142
|
self.template_being_used = custom_template
|
132
|
-
self.
|
143
|
+
self.layout_id_being_used = custom_template.layout_id
|
133
144
|
super_render options
|
134
145
|
else
|
135
|
-
|
146
|
+
if options[:layout_o]
|
147
|
+
self.layout_being_used = options[:layout_o]
|
148
|
+
options[:layout] = self.layout_being_used.path
|
149
|
+
elsif options[:layout]
|
150
|
+
self.layout_being_used = Layout.sys(_sid).where(:path=>options[:layout]).first rescue nil
|
151
|
+
end
|
136
152
|
super_render name, options
|
137
153
|
end
|
138
154
|
end
|
@@ -239,7 +255,8 @@ HERE
|
|
239
255
|
inline_template = "<div id='page_#{page.id}' class='template_#{error_template.id}'>\n\n" + error_template.body + "\n\n</div>"
|
240
256
|
render :inline=>inline_template, :layout=>error_template.layout.path, :type=>error_template.template_type || 'erb'
|
241
257
|
else
|
242
|
-
render "error/application",
|
258
|
+
render "error/application",
|
259
|
+
:layout=>Layout.sys(_sid).where(:id=>(Preference.getCached(_sid, "error_layout").path || Layout.sys(_sid).first.id)).first.path, :status=>status
|
243
260
|
end
|
244
261
|
end
|
245
262
|
|
@@ -280,12 +297,12 @@ HERE
|
|
280
297
|
end
|
281
298
|
|
282
299
|
def can_use
|
283
|
-
|
300
|
+
authenticate!
|
284
301
|
authorize! :use, self.class
|
285
302
|
end
|
286
303
|
|
287
304
|
def can_moderate
|
288
|
-
|
305
|
+
authenticate!
|
289
306
|
authorize! :moderate, self.class
|
290
307
|
end
|
291
308
|
|
@@ -324,6 +341,13 @@ HERE
|
|
324
341
|
Preference.get_cached(_sid, "app_name")
|
325
342
|
end
|
326
343
|
|
344
|
+
def index_name
|
345
|
+
ElasticSearch::INDEX_NAME
|
346
|
+
end
|
347
|
+
|
348
|
+
def rails_app_name
|
349
|
+
Rails.application.class.to_s.split("::").first
|
350
|
+
end
|
327
351
|
|
328
352
|
def show_form(form)
|
329
353
|
@page_title = form.title
|
@@ -337,7 +361,7 @@ HERE
|
|
337
361
|
end
|
338
362
|
end
|
339
363
|
|
340
|
-
render "form/show", :layout=>
|
364
|
+
render "form/show", :layout=>form.layout.path
|
341
365
|
end
|
342
366
|
|
343
367
|
def captcha_okay?
|
@@ -437,6 +461,9 @@ HERE
|
|
437
461
|
@gibbon = Gibbon.new(Preference.get_cached(_sid,'mailchimp_api_key'))
|
438
462
|
end
|
439
463
|
|
464
|
+
def pref(name)
|
465
|
+
Preference.get_cached(_sid, name)
|
466
|
+
end
|
440
467
|
|
441
468
|
Pagebase = Page.includes([:page_contents_version0, {:page_template=>:layout}, {:block_instances0=>:block}])
|
442
469
|
|
@@ -1,8 +1,7 @@
|
|
1
1
|
class PagesController < KitController
|
2
|
-
|
2
|
+
|
3
3
|
before_filter :load_page, :except=>[:search, :cookie_text, :unique, :index, :new, :create, :stub, :zoom, :terms, :editor_trial]
|
4
4
|
before_filter :can_use, :except=>[:show, :search, :cookie_text, :editor_trial, :save, :redir]
|
5
|
-
|
6
5
|
layout "layouts/cms"
|
7
6
|
|
8
7
|
def copy
|
@@ -91,6 +90,25 @@ class PagesController < KitController
|
|
91
90
|
params[:mode] = 'current' unless params[:mode]
|
92
91
|
end
|
93
92
|
|
93
|
+
def links
|
94
|
+
if params[:refresh]
|
95
|
+
@page.queue_crawl
|
96
|
+
redirect_to "/page/#{@page.id}/info", :notice=>"Request processed"
|
97
|
+
return
|
98
|
+
end
|
99
|
+
|
100
|
+
if params[:deep]
|
101
|
+
Page.sys(_sid).find_each do |p|
|
102
|
+
p.queue_crawl(false)
|
103
|
+
redirect_to "/page/#{@page.id}/info", :notice=>"Request processed"
|
104
|
+
return
|
105
|
+
end
|
106
|
+
|
107
|
+
@page.queue_crawl
|
108
|
+
redirect_to "/page/#{@page.id}/links"
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
94
112
|
def search
|
95
113
|
if params[:search]
|
96
114
|
search_fields = []
|
@@ -100,7 +118,7 @@ class PagesController < KitController
|
|
100
118
|
the_page = (params[:page] || "1").to_i
|
101
119
|
|
102
120
|
[ "Page" ].each do |model|
|
103
|
-
indexes << "
|
121
|
+
indexes << "#{index_name}_#{model.downcase.pluralize}"
|
104
122
|
KitIndexed.indexed_columns(model).collect { |c|
|
105
123
|
search_fields << c[:name] if c[:user]
|
106
124
|
}
|
@@ -117,6 +135,7 @@ class PagesController < KitController
|
|
117
135
|
size search_size
|
118
136
|
filter :term, :system_id=>system_id
|
119
137
|
end
|
138
|
+
logger.info "SEARCH: #{indexes.join(',')} #{search.to_json}"
|
120
139
|
@results = search.results
|
121
140
|
else
|
122
141
|
@results = nil
|
@@ -125,7 +144,7 @@ class PagesController < KitController
|
|
125
144
|
@searched_for = params[:search]
|
126
145
|
|
127
146
|
@show_edit_link = user_can_edit = can?(:use, self)
|
128
|
-
kit_render "pages/search", :
|
147
|
+
kit_render "pages/search", :layout_o=>Layout.preference(_sid, "layout_search")
|
129
148
|
end
|
130
149
|
|
131
150
|
def auto_save_delete
|
@@ -167,6 +186,7 @@ class PagesController < KitController
|
|
167
186
|
@page.updated_at = Time.now
|
168
187
|
@page.save
|
169
188
|
@page.update_index
|
189
|
+
@page.queue_crawl
|
170
190
|
end
|
171
191
|
|
172
192
|
render :js=>""
|
@@ -271,7 +291,7 @@ class PagesController < KitController
|
|
271
291
|
|
272
292
|
if (@page==nil || @page.is_deleted==1 || !@page.is_published?) && !@page.editable && cannot?(:use, self)
|
273
293
|
session[:error_message] = "Page not found"
|
274
|
-
render "/error/404", :status=>404, :
|
294
|
+
render "/error/404", :status=>404, :layout_o=>@page ? @page.dif_template(use_mobile?).layout : false
|
275
295
|
return
|
276
296
|
end
|
277
297
|
|