application_controller.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. # The filters added to this controller will be run for all controllers in the application.
  2. # Likewise will all the methods added be available for all controllers.
  3. class ApplicationController < ActionController::Base
  4.   include ::LoginSystem
  5.   protect_from_forgery :only => [:edit, :update, :delete]
  6.   
  7.   before_filter :reset_local_cache, :fire_triggers, :load_lang
  8.   after_filter :reset_local_cache
  9.   class << self
  10.     unless self.respond_to? :template_root
  11.       def template_root
  12.         ActionController::Base.view_paths.last
  13.       end
  14.     end
  15.     # Log all path in file path_cache in Rails.root
  16.     # When we sweep all cache. We just need delete this file
  17.     def cache_page_with_log_page(content, path)
  18.       return unless perform_caching
  19.       cache_page_without_log_page(content, path)
  20.       CacheInformation.create(:path => page_cache_file(path))
  21.     end
  22.     alias_method_chain :cache_page, :log_page
  23.   end
  24.   protected
  25.   def setup_themer
  26.     # Ick!
  27.     self.view_paths = ::ActionController::Base.view_paths.dup.unshift("#{RAILS_ROOT}/themes/#{this_blog.theme}/views")
  28.   end
  29.   def error(message = "Record not found...", options = { })
  30.     @message = message.to_s
  31.     render :template => 'articles/error', :status => options[:status] || 404
  32.   end
  33.   def fire_triggers
  34.     Trigger.fire
  35.   end
  36.   def load_lang
  37.     Localization.lang = this_blog.lang
  38.     # _("Localization.rtl") 
  39.   end
  40.   def reset_local_cache
  41.     if !session
  42.       session :session => new
  43.     end
  44.     @current_user = nil
  45.   end
  46.   # Helper method to get the blog object.
  47.   def this_blog
  48.     @blog ||= Blog.default
  49.   end
  50.   helper_method :this_blog
  51.   # The base URL for this request, calculated by looking up the URL for the main
  52.   # blog index page.
  53.   def blog_base_url
  54.     url_for(:controller => '/articles').gsub(%r{/$},'')
  55.   end
  56.   def add_to_cookies(name, value, path=nil, expires=nil)
  57.     cookies[name] = { :value => value, :path => path || "/#{controller_name}",
  58.                        :expires => 6.weeks.from_now }
  59.   end
  60. end