diff --git a/app/assets/javascripts/blacklists.js b/app/assets/javascripts/blacklists.js
index 64f88e25b..cafe44671 100644
--- a/app/assets/javascripts/blacklists.js
+++ b/app/assets/javascripts/blacklists.js
@@ -4,7 +4,7 @@
Danbooru.Blacklist.blacklists = [];
Danbooru.Blacklist.parse_entries = function() {
- var entries = (Danbooru.meta("blacklisted-tags") || "").replace(/(rating:[qes])\w+/, "$1").split(/,/);
+ var entries = ($.parseJSON(Danbooru.meta("blacklisted-tags") || "[]")).replace(/(rating:[qes])\w+/, "$1").split(/,/);
$.each(entries, function(i, tags) {
var blacklist = {
"tags": tags,
diff --git a/app/models/post.rb b/app/models/post.rb
index 652aa22fe..3f7c6f955 100644
--- a/app/models/post.rb
+++ b/app/models/post.rb
@@ -595,6 +595,11 @@ class Post < ActiveRecord::Base
def fast_count(tags = "")
tags = tags.to_s.strip
+
+ if tags.blank?
+ return Danbooru.config.blank_tag_search_fast_count || 1_000_000
+ end
+
count = get_count_from_cache(tags)
if count.nil?
if tags.blank? && Danbooru.config.blank_tag_search_fast_count
diff --git a/app/models/user.rb b/app/models/user.rb
index 04096e65a..c33f8009c 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -219,7 +219,7 @@ class User < ActiveRecord::Base
return {
"Member" => Levels::MEMBER,
"Privileged" => Levels::PRIVILEGED,
- "Builder" => Levels::BUIDLER,
+ "Builder" => Levels::BUILDER,
"Contributor" => Levels::CONTRIBUTOR,
"Janitor" => Levels::JANITOR,
"Moderator" => Levels::MODERATOR,
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index e3826e2e4..88c6cde45 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -9,7 +9,7 @@
<% unless CurrentUser.user.blacklisted_tags.blank? %>
-
+
<% end %>
<% if flash[:notice] =~ /error/ %>
diff --git a/app/views/legacy/tags.xml.erb b/app/views/legacy/tags.xml.erb
index 071f28936..68a0c5354 100644
--- a/app/views/legacy/tags.xml.erb
+++ b/app/views/legacy/tags.xml.erb
@@ -1,6 +1,6 @@
<% @tags.each do |tag| %>
-
+
<% end %>
diff --git a/app/views/tags/search.html.erb b/app/views/tags/search.html.erb
index 2ed583ab2..c53be075b 100644
--- a/app/views/tags/search.html.erb
+++ b/app/views/tags/search.html.erb
@@ -5,7 +5,7 @@
- <%= select "search", "category", Tag.canonical_tag_category_mapping.to_a %>
+ <%= select "search", "category", Danbooru.config.canonical_tag_category_mapping.to_a %>
diff --git a/config/routes.rb b/config/routes.rb
index 2f9c4bd33..fa0a63be3 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -224,12 +224,13 @@ Danbooru::Application.routes.draw do
match "/post/index.xml", :controller => "legacy", :action => "posts", :format => "xml"
match "/post/index.json", :controller => "legacy", :action => "posts", :format => "json"
match "/post/create.xml", :controller => "legacy", :action => "create_post"
- match "/post/index" => redirect {|params, req| "/posts?tags=#{req.params[:tags].to_s.gsub(/ /, '%20')}&page=#{req.params[:page]}"}
- match "/post" => redirect {|params, req| "/posts?tags=#{req.params[:tags].to_s.gsub(/ /, '%20')}&page=#{req.params[:page]}"}
+ match "/post/piclens", :controller => "legacy", :action => "unavailable"
+ match "/post/index" => redirect {|params, req| "/posts?tags=#{u(req.params[:tags])}&page=#{req.params[:page]}"}
+ match "/post" => redirect {|params, req| "/posts?tags=#{u(req.params[:tags])}&page=#{req.params[:page]}"}
match "/post/upload" => redirect("/uploads/new")
match "/post/moderate" => redirect("/moderator/post/queue")
- match "/post/atom" => redirect {|params, req| "/posts.atom?tags=#{req.params[:tags].to_s.gsub(/ /, '%20')}"}
- match "/post/atom.feed" => redirect {|params, req| "/posts.atom?tags=#{req.params[:tags].to_s.gsub(/ /, '%20')}"}
+ match "/post/atom" => redirect {|params, req| "/posts.atom?tags=#{u(req.params[:tags])}"}
+ match "/post/atom.feed" => redirect {|params, req| "/posts.atom?tags=#{u(req.params[:tags])}"}
match "/post/popular_by_day" => redirect("/explore/posts/popular")
match "/post/popular_by_week" => redirect("/explore/posts/popular")
match "/post/popular_by_month" => redirect("/explore/posts/popular")
@@ -255,7 +256,7 @@ Danbooru::Application.routes.draw do
match "/wiki" => redirect {|params, req| "/wiki_pages?page=#{req.params[:page]}"}
match "/wiki/index" => redirect {|params, req| "/wiki_pages?page=#{req.params[:page]}"}
- match "/wiki/show" => redirect {|params, req| "/wiki_pages?title=#{req.params[:title]}"}
+ match "/wiki/show" => redirect {|params, req| "/wiki_pages?title=#{u(req.params[:title])}"}
match "/wiki/recent_changes" => redirect("/wiki_page_versions")
match "/wiki/history/:title" => redirect("/wiki_page_versions?title=%{title}")