- path = fragment_cache_key(options).gsub('?', '.').gsub(':', '.')
- expire_fragment(Regexp.new(Regexp.escape(path) + "\\..*"))
+ I18n.available_locales.each do |locale|
+ super options.merge(:host => SERVER_URL, :locale => locale)
+ end
+ end
+
+ ##
+ # is the requestor logged in?
+ def logged_in?
+ !@user.nil?
+ end
+
+ ##
+ # ensure that there is a "this_user" instance variable
+ def lookup_this_user
+ unless @this_user = User.active.find_by_display_name(params[:display_name])
+ render_unknown_user params[:display_name]
+ end
+ end
+
+ ##
+ # render a "no such user" page
+ def render_unknown_user(name)
+ @title = t "user.no_such_user.title"
+ @not_found_user = name
+
+ respond_to do |format|
+ format.html { render :template => "user/no_such_user", :status => :not_found }
+ format.all { render :nothing => true, :status => :not_found }
+ end
+ end
+
+ ##
+ # Unfortunately if a PUT or POST request that has a body fails to
+ # read it then Apache will sometimes fail to return the response it
+ # is given to the client properly, instead erroring:
+ #
+ # https://issues.apache.org/bugzilla/show_bug.cgi?id=44782
+ #
+ # To work round this we call rewind on the body here, which is added
+ # as a filter, to force it to be fetched from Apache into a file.
+ def fetch_body
+ request.body.rewind