fixes #1133
This commit is contained in:
@@ -58,7 +58,7 @@ class Artist < ActiveRecord::Base
|
||||
|
||||
module ClassMethods
|
||||
def normalize_name(name)
|
||||
name.to_s.downcase.strip.gsub(/ /, '_')
|
||||
name.to_s.mb_chars.downcase.strip.gsub(/ /, '_')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class Ban < ActiveRecord::Base
|
||||
return q if params.blank?
|
||||
|
||||
if params[:banner_name]
|
||||
q = q.where("banner_id = (select _.id from users _ where lower(_.name) = ?)", params[:banner_name].downcase)
|
||||
q = q.where("banner_id = (select _.id from users _ where lower(_.name) = ?)", params[:banner_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:banner_id]
|
||||
@@ -24,7 +24,7 @@ class Ban < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:user_name]
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].downcase)
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:user_id]
|
||||
|
||||
@@ -111,11 +111,11 @@ class Dmail < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def to_name_matches(name)
|
||||
where("to_id = (select _.id from users _ where lower(_.name) = ?)", name.downcase)
|
||||
where("to_id = (select _.id from users _ where lower(_.name) = ?)", name.mb_chars.downcase)
|
||||
end
|
||||
|
||||
def from_name_matches(name)
|
||||
where("from_id = (select _.id from users _ where lower(_.name) = ?)", name.downcase)
|
||||
where("from_id = (select _.id from users _ where lower(_.name) = ?)", name.mb_chars.downcase)
|
||||
end
|
||||
|
||||
def search(params)
|
||||
|
||||
@@ -12,7 +12,7 @@ class JanitorTrial < ActiveRecord::Base
|
||||
return q if params.blank?
|
||||
|
||||
if params[:user_name]
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].downcase)
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:user_id]
|
||||
|
||||
@@ -58,7 +58,7 @@ class Pool < ActiveRecord::Base
|
||||
if name =~ /^\d+$/
|
||||
name.to_i
|
||||
else
|
||||
select_value_sql("SELECT id FROM pools WHERE lower(name) = ?", name.downcase.tr(" ", "_")).to_i
|
||||
select_value_sql("SELECT id FROM pools WHERE lower(name) = ?", name.mb_chars.downcase.tr(" ", "_")).to_i
|
||||
end
|
||||
end
|
||||
|
||||
@@ -91,7 +91,7 @@ class Pool < ActiveRecord::Base
|
||||
if name =~ /^\d+$/
|
||||
where("id = ?", name.to_i).first
|
||||
elsif name
|
||||
where("lower(name) = ?", normalize_name(name).downcase).first
|
||||
where("lower(name) = ?", normalize_name(name).mb_chars.downcase).first
|
||||
else
|
||||
nil
|
||||
end
|
||||
|
||||
@@ -20,7 +20,7 @@ class PoolVersion < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:updater_name].present?
|
||||
q = q.where("updater_id = (select _.id from users _ where lower(_.name) = ?)", params[:updater_name].downcase)
|
||||
q = q.where("updater_id = (select _.id from users _ where lower(_.name) = ?)", params[:updater_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:pool_id].present?
|
||||
|
||||
@@ -973,7 +973,7 @@ class Post < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def updater_name_matches(name)
|
||||
where("updater_id = (select _.id from users _ where lower(_.name) = ?)", name.downcase)
|
||||
where("updater_id = (select _.id from users _ where lower(_.name) = ?)", name.mb_chars.downcase)
|
||||
end
|
||||
|
||||
def after_id(num)
|
||||
|
||||
@@ -27,7 +27,7 @@ class PostAppeal < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:creator_name].present?
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].downcase)
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:post_id].present?
|
||||
|
||||
@@ -36,7 +36,7 @@ class PostFlag < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:creator_name].present?
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].downcase)
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:post_id].present?
|
||||
|
||||
@@ -9,7 +9,7 @@ class PostVersion < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def updater_name(name)
|
||||
where("updater_id = (select _.id from users _ where lower(_.name) = ?)", name.downcase)
|
||||
where("updater_id = (select _.id from users _ where lower(_.name) = ?)", name.mb_chars.downcase)
|
||||
end
|
||||
|
||||
def search(params)
|
||||
|
||||
@@ -121,7 +121,7 @@ class Tag < ActiveRecord::Base
|
||||
|
||||
module NameMethods
|
||||
def normalize_name(name)
|
||||
name.downcase.tr(" ", "_").gsub(/\A[-~]+/, "").gsub(/\*/, "")
|
||||
name.mb_chars.downcase.tr(" ", "_").gsub(/\A[-~]+/, "").gsub(/\*/, "").to_s
|
||||
end
|
||||
|
||||
def find_or_create_by_name(name, options = {})
|
||||
@@ -233,10 +233,10 @@ class Tag < ActiveRecord::Base
|
||||
|
||||
def parse_tag(tag, output)
|
||||
if tag[0] == "-" && tag.size > 1
|
||||
output[:exclude] << tag[1..-1].downcase
|
||||
output[:exclude] << tag[1..-1].mb_chars.downcase
|
||||
|
||||
elsif tag[0] == "~" && tag.size > 1
|
||||
output[:include] << tag[1..-1].downcase
|
||||
output[:include] << tag[1..-1].mb_chars.downcase
|
||||
|
||||
elsif tag =~ /\*/
|
||||
matches = Tag.name_matches(tag.downcase).all(:select => "name", :limit => Danbooru.config.tag_query_limit, :order => "post_count DESC").map(&:name)
|
||||
@@ -244,7 +244,7 @@ class Tag < ActiveRecord::Base
|
||||
output[:include] += matches
|
||||
|
||||
else
|
||||
output[:related] << tag.downcase
|
||||
output[:related] << tag.mb_chars.downcase
|
||||
end
|
||||
end
|
||||
|
||||
@@ -431,7 +431,7 @@ class Tag < ActiveRecord::Base
|
||||
|
||||
module SearchMethods
|
||||
def name_matches(name)
|
||||
where("name LIKE ? ESCAPE E'\\\\'", name.downcase.to_escaped_for_sql_like)
|
||||
where("name LIKE ? ESCAPE E'\\\\'", name.mb_chars.downcase.to_escaped_for_sql_like)
|
||||
end
|
||||
|
||||
def named(name)
|
||||
|
||||
@@ -12,7 +12,7 @@ class TagAlias < ActiveRecord::Base
|
||||
|
||||
module SearchMethods
|
||||
def name_matches(name)
|
||||
where("(antecedent_name like ? escape E'\\\\' or consequent_name like ? escape E'\\\\')", name.downcase.to_escaped_for_sql_like, name.downcase.to_escaped_for_sql_like)
|
||||
where("(antecedent_name like ? escape E'\\\\' or consequent_name like ? escape E'\\\\')", name.mb_chars.downcase.to_escaped_for_sql_like, name.downcase.to_escaped_for_sql_like)
|
||||
end
|
||||
|
||||
def active
|
||||
|
||||
@@ -71,7 +71,7 @@ class TagSubscription < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:creator_name]
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].downcase)
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
q
|
||||
@@ -113,7 +113,7 @@ class TagSubscription < ActiveRecord::Base
|
||||
relation = where("creator_id = ?", user_id)
|
||||
|
||||
if name
|
||||
relation = relation.where("lower(name) LIKE ? ESCAPE E'\\\\'", name.downcase.to_escaped_for_sql_like)
|
||||
relation = relation.where("lower(name) LIKE ? ESCAPE E'\\\\'", name.mb_chars.downcase.to_escaped_for_sql_like)
|
||||
end
|
||||
|
||||
relation.each do |tag_sub|
|
||||
|
||||
@@ -359,7 +359,7 @@ class Upload < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:uploader_name].present?
|
||||
q = q.where("uploader_id = (select _.id from users _ where lower(_.name) = ?)", params[:uploader_name].downcase)
|
||||
q = q.where("uploader_id = (select _.id from users _ where lower(_.name) = ?)", params[:uploader_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:source].present?
|
||||
|
||||
@@ -35,7 +35,7 @@ class UserFeedback < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:user_name].present?
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].downcase)
|
||||
q = q.where("user_id = (select _.id from users _ where lower(_.name) = ?)", params[:user_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
if params[:creator_id].present?
|
||||
@@ -43,7 +43,7 @@ class UserFeedback < ActiveRecord::Base
|
||||
end
|
||||
|
||||
if params[:creator_name].present?
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].downcase)
|
||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase)
|
||||
end
|
||||
|
||||
q
|
||||
|
||||
@@ -14,7 +14,7 @@ class WikiPage < ActiveRecord::Base
|
||||
|
||||
module SearchMethods
|
||||
def titled(title)
|
||||
where("title = ?", title.downcase.tr(" ", "_"))
|
||||
where("title = ?", title.mb_chars.downcase.tr(" ", "_"))
|
||||
end
|
||||
|
||||
def recent
|
||||
@@ -30,7 +30,7 @@ class WikiPage < ActiveRecord::Base
|
||||
params = {} if params.blank?
|
||||
|
||||
if params[:title].present?
|
||||
q = q.where("title LIKE ? ESCAPE E'\\\\'", params[:title].downcase.tr(" ", "_").to_escaped_for_sql_like)
|
||||
q = q.where("title LIKE ? ESCAPE E'\\\\'", params[:title].mb_chars.downcase.tr(" ", "_").to_escaped_for_sql_like)
|
||||
end
|
||||
|
||||
if params[:creator_id].present?
|
||||
@@ -102,7 +102,7 @@ class WikiPage < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def normalize_title
|
||||
self.title = title.downcase.tr(" ", "_")
|
||||
self.title = title.mb_chars.downcase.tr(" ", "_")
|
||||
end
|
||||
|
||||
def creator_name
|
||||
@@ -156,6 +156,6 @@ class WikiPage < ActiveRecord::Base
|
||||
else
|
||||
match
|
||||
end
|
||||
end.map {|x| x.downcase.tr(" ", "_")}
|
||||
end.map {|x| x.mb_chars.downcase.tr(" ", "_")}
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user