From 26c168bdcd5fe68b7dd732798dff05ad6cac7b60 Mon Sep 17 00:00:00 2001 From: BrokenEagle Date: Mon, 18 Dec 2017 11:59:27 -0800 Subject: [PATCH] Fixed incorrect showing of favorites - Moved all favorite checking logic to same file --- app/logical/post_query_builder.rb | 6 ------ app/models/tag.rb | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index 75ba7f592..b1a24af42 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -400,12 +400,6 @@ class PostQueryBuilder if q[:ordfav].present? user_id = q[:ordfav].to_i - user = User.find(user_id) - - if user.hide_favorites? - raise User::PrivilegeError.new - end - relation = relation.joins("INNER JOIN favorites ON favorites.post_id = posts.id") relation = relation.where("favorites.user_id % 100 = ? and favorites.user_id = ?", user_id % 100, user_id).order("favorites.id DESC") end diff --git a/app/models/tag.rb b/app/models/tag.rb index 5f3a3fdc2..9e1c8cb4d 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -617,13 +617,31 @@ class Tag < ApplicationRecord q[:favgroups] << favgroup_id when "-fav" + favuser = User.find_by_name(g2) + + if favuser.hide_favorites? + raise User::PrivilegeError.new + end + q[:tags][:exclude] << "fav:#{User.name_to_id(g2)}" when "fav" + favuser = User.find_by_name(g2) + + if favuser.hide_favorites? + raise User::PrivilegeError.new + end + q[:tags][:related] << "fav:#{User.name_to_id(g2)}" when "ordfav" user_id = User.name_to_id(g2) + favuser = User.find(user_id) + + if favuser.hide_favorites? + raise User::PrivilegeError.new + end + q[:tags][:related] << "fav:#{user_id}" q[:ordfav] = user_id