This commit is contained in:
albert
2013-03-29 16:45:59 -04:00
parent d7c6702be0
commit 85a5fcc658
16 changed files with 28 additions and 28 deletions

View File

@@ -58,7 +58,7 @@ class Artist < ActiveRecord::Base
module ClassMethods module ClassMethods
def normalize_name(name) def normalize_name(name)
name.to_s.downcase.strip.gsub(/ /, '_') name.to_s.mb_chars.downcase.strip.gsub(/ /, '_')
end end
end end

View File

@@ -16,7 +16,7 @@ class Ban < ActiveRecord::Base
return q if params.blank? return q if params.blank?
if params[:banner_name] 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 end
if params[:banner_id] if params[:banner_id]
@@ -24,7 +24,7 @@ class Ban < ActiveRecord::Base
end end
if params[:user_name] 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 end
if params[:user_id] if params[:user_id]

View File

@@ -111,11 +111,11 @@ class Dmail < ActiveRecord::Base
end end
def to_name_matches(name) 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 end
def from_name_matches(name) 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 end
def search(params) def search(params)

View File

@@ -12,7 +12,7 @@ class JanitorTrial < ActiveRecord::Base
return q if params.blank? return q if params.blank?
if params[:user_name] 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 end
if params[:user_id] if params[:user_id]

View File

@@ -58,7 +58,7 @@ class Pool < ActiveRecord::Base
if name =~ /^\d+$/ if name =~ /^\d+$/
name.to_i name.to_i
else 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
end end
@@ -91,7 +91,7 @@ class Pool < ActiveRecord::Base
if name =~ /^\d+$/ if name =~ /^\d+$/
where("id = ?", name.to_i).first where("id = ?", name.to_i).first
elsif name elsif name
where("lower(name) = ?", normalize_name(name).downcase).first where("lower(name) = ?", normalize_name(name).mb_chars.downcase).first
else else
nil nil
end end

View File

@@ -20,7 +20,7 @@ class PoolVersion < ActiveRecord::Base
end end
if params[:updater_name].present? 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 end
if params[:pool_id].present? if params[:pool_id].present?

View File

@@ -973,7 +973,7 @@ class Post < ActiveRecord::Base
end end
def updater_name_matches(name) 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 end
def after_id(num) def after_id(num)

View File

@@ -27,7 +27,7 @@ class PostAppeal < ActiveRecord::Base
end end
if params[:creator_name].present? 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 end
if params[:post_id].present? if params[:post_id].present?

View File

@@ -36,7 +36,7 @@ class PostFlag < ActiveRecord::Base
end end
if params[:creator_name].present? 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 end
if params[:post_id].present? if params[:post_id].present?

View File

@@ -9,7 +9,7 @@ class PostVersion < ActiveRecord::Base
end end
def updater_name(name) 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 end
def search(params) def search(params)

View File

@@ -121,7 +121,7 @@ class Tag < ActiveRecord::Base
module NameMethods module NameMethods
def normalize_name(name) def normalize_name(name)
name.downcase.tr(" ", "_").gsub(/\A[-~]+/, "").gsub(/\*/, "") name.mb_chars.downcase.tr(" ", "_").gsub(/\A[-~]+/, "").gsub(/\*/, "").to_s
end end
def find_or_create_by_name(name, options = {}) def find_or_create_by_name(name, options = {})
@@ -233,10 +233,10 @@ class Tag < ActiveRecord::Base
def parse_tag(tag, output) def parse_tag(tag, output)
if tag[0] == "-" && tag.size > 1 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 elsif tag[0] == "~" && tag.size > 1
output[:include] << tag[1..-1].downcase output[:include] << tag[1..-1].mb_chars.downcase
elsif tag =~ /\*/ elsif tag =~ /\*/
matches = Tag.name_matches(tag.downcase).all(:select => "name", :limit => Danbooru.config.tag_query_limit, :order => "post_count DESC").map(&:name) 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 output[:include] += matches
else else
output[:related] << tag.downcase output[:related] << tag.mb_chars.downcase
end end
end end
@@ -431,7 +431,7 @@ class Tag < ActiveRecord::Base
module SearchMethods module SearchMethods
def name_matches(name) 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 end
def named(name) def named(name)

View File

@@ -12,7 +12,7 @@ class TagAlias < ActiveRecord::Base
module SearchMethods module SearchMethods
def name_matches(name) 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 end
def active def active

View File

@@ -71,7 +71,7 @@ class TagSubscription < ActiveRecord::Base
end end
if params[:creator_name] 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 end
q q
@@ -113,7 +113,7 @@ class TagSubscription < ActiveRecord::Base
relation = where("creator_id = ?", user_id) relation = where("creator_id = ?", user_id)
if name 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 end
relation.each do |tag_sub| relation.each do |tag_sub|

View File

@@ -359,7 +359,7 @@ class Upload < ActiveRecord::Base
end end
if params[:uploader_name].present? 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 end
if params[:source].present? if params[:source].present?

View File

@@ -35,7 +35,7 @@ class UserFeedback < ActiveRecord::Base
end end
if params[:user_name].present? 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 end
if params[:creator_id].present? if params[:creator_id].present?
@@ -43,7 +43,7 @@ class UserFeedback < ActiveRecord::Base
end end
if params[:creator_name].present? 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 end
q q

View File

@@ -14,7 +14,7 @@ class WikiPage < ActiveRecord::Base
module SearchMethods module SearchMethods
def titled(title) def titled(title)
where("title = ?", title.downcase.tr(" ", "_")) where("title = ?", title.mb_chars.downcase.tr(" ", "_"))
end end
def recent def recent
@@ -30,7 +30,7 @@ class WikiPage < ActiveRecord::Base
params = {} if params.blank? params = {} if params.blank?
if params[:title].present? 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 end
if params[:creator_id].present? if params[:creator_id].present?
@@ -102,7 +102,7 @@ class WikiPage < ActiveRecord::Base
end end
def normalize_title def normalize_title
self.title = title.downcase.tr(" ", "_") self.title = title.mb_chars.downcase.tr(" ", "_")
end end
def creator_name def creator_name
@@ -156,6 +156,6 @@ class WikiPage < ActiveRecord::Base
else else
match match
end end
end.map {|x| x.downcase.tr(" ", "_")} end.map {|x| x.mb_chars.downcase.tr(" ", "_")}
end end
end end