From 50a0c1a7515ac29e224cd438bd5b9da8d33c2739 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 28 May 2014 00:15:09 +1000 Subject: [PATCH] BUGFIX: fix redirect, correct multisite --- app/controllers/user_avatars_controller.rb | 6 +++--- .../lib/rails_multisite/connection_management.rb | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/user_avatars_controller.rb b/app/controllers/user_avatars_controller.rb index 5d71564d13f..717ef6e9f9b 100644 --- a/app/controllers/user_avatars_controller.rb +++ b/app/controllers/user_avatars_controller.rb @@ -23,13 +23,13 @@ class UserAvatarsController < ApplicationController def show # we need multisite support to keep a single origin pull for CDNs RailsMultisite::ConnectionManagement.with_hostname(params[:hostname]) do - show_in_site + show_in_site(RailsMultisite::ConnectionManagement.current_hostname) end end protected - def show_in_site + def show_in_site(hostname) username = params[:username].to_s return render_dot unless user = User.find_by(username_lower: username.downcase) @@ -47,7 +47,7 @@ class UserAvatarsController < ApplicationController upload ||= user.uploaded_avatar if user.uploaded_avatar_id == version if user.uploaded_avatar && !upload - return redirect_to "/avatar/#{user.username_lower}/#{size}/#{user.uploaded_avatar_id}.png" + return redirect_to "/avatar/#{hostname}/#{user.username_lower}/#{size}/#{user.uploaded_avatar_id}.png" elsif upload original = Discourse.store.path_for(upload) if Discourse.store.external? || File.exists?(original) diff --git a/vendor/gems/rails_multisite/lib/rails_multisite/connection_management.rb b/vendor/gems/rails_multisite/lib/rails_multisite/connection_management.rb index 8bcfc1d866a..5cb58140c76 100644 --- a/vendor/gems/rails_multisite/lib/rails_multisite/connection_management.rb +++ b/vendor/gems/rails_multisite/lib/rails_multisite/connection_management.rb @@ -48,13 +48,13 @@ module RailsMultisite old = current_hostname connected = ActiveRecord::Base.connection_pool.connected? - establish_connection(:hostname => hostname) unless connected && hostname == old + establish_connection(:host => hostname) unless connected && hostname == old rval = yield hostname unless connected && hostname == old ActiveRecord::Base.connection_handler.clear_active_connections! - establish_connection(:hostname => old) + establish_connection(:host => old) ActiveRecord::Base.connection_handler.clear_active_connections! unless connected end