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 
     | 
    
         |