diff --git a/app/controllers/advertisement_hits_controller.rb b/app/controllers/advertisement_hits_controller.rb
deleted file mode 100644
index 926304707..000000000
--- a/app/controllers/advertisement_hits_controller.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-class AdvertisementHitsController < ApplicationController
- def create
- advertisement = Advertisement.find(params[:advertisement_id])
- advertisement.hits.create(:ip_addr => request.remote_ip)
- redirect_to advertisement.referral_url
- end
-
-protected
- def set_title
- @page_title = Danbooru.config.app_name + "/advertisements"
- end
-end
diff --git a/app/controllers/advertisements_controller.rb b/app/controllers/advertisements_controller.rb
deleted file mode 100644
index 5bfc91841..000000000
--- a/app/controllers/advertisements_controller.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-class AdvertisementsController < ApplicationController
- before_filter :advertiser_only
-
- def new
- @advertisement = Advertisement.new(
- :ad_type => "vertical",
- :status => "active"
- )
- end
-
- def edit
- @advertisement = Advertisement.find(params[:id])
- end
-
- def index
- @advertisements = Advertisement.order("id desc")
- @start_date = 1.month.ago.to_date
- @end_date = Date.today
- end
-
- def show
- @advertisement = Advertisement.find(params[:id])
- end
-
- def create
- @advertisement = Advertisement.new(params[:advertisement])
- if @advertisement.save
- redirect_to advertisement_path(@advertisement), :notice => "Advertisement created"
- else
- flash[:notice] = "There were errors"
- render :action => "new"
- end
- end
-
- def update
- @advertisement = Advertisement.find(params[:id])
- if @advertisement.update_attributes(params[:advertisement])
- redirect_to advertisement_path(@advertisement), :notice => "Advertisement updated"
- else
- flash[:notice] = "There were errors"
- render :action => "edit"
- end
- end
-
- def destroy
- @advertisement = Advertisement.find(params[:id])
- @advertisement.destroy
- redirect_to advertisements_path, :notice => "Advertisement destroyed"
- end
-
-private
- def advertiser_only
- if !Danbooru.config.is_user_advertiser?(CurrentUser.user)
- raise User::PrivilegeError
- return false
- end
- end
-end
diff --git a/app/helpers/advertisements_helper.rb b/app/helpers/advertisements_helper.rb
deleted file mode 100644
index 1904c8214..000000000
--- a/app/helpers/advertisements_helper.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-module AdvertisementsHelper
- def render_advertisement(ad_type)
- if Danbooru.config.can_see_ads?(CurrentUser.user)
- @advertisement = Advertisement.find(:first, :conditions => ["ad_type = ? AND status = 'active'", ad_type], :order => "random()")
- if @advertisement
- content_tag(
- "div",
- link_to(
- image_tag(
- @advertisement.image_url,
- :alt => "Advertisement",
- :width => @advertisement.width,
- :height => @advertisement.height
- ),
- advertisement_hits_path(:advertisement_id => @advertisement.id),
- :method => :post
- ),
- :style => "margin-bottom: 1em;"
- )
- end
- else
- ""
- end
- end
-
- def render_rss_advertisement(short_or_long, safe)
- if Danbooru.config.can_see_ads?(CurrentUser.user)
- if safe
- render "advertisements/jlist_rss_ads_explicit_#{short_or_long}"
- else
- render "advertisements/jlist_rss_ads_safe_#{short_or_long}"
- end
- end
- end
-end
diff --git a/app/models/advertisement.rb b/app/models/advertisement.rb
deleted file mode 100644
index c6234398d..000000000
--- a/app/models/advertisement.rb
+++ /dev/null
@@ -1,91 +0,0 @@
-class Advertisement < ActiveRecord::Base
- validates_inclusion_of :ad_type, :in => %w(horizontal vertical)
- has_many :hits, :class_name => "AdvertisementHit"
- after_create :copy_to_servers
- after_destroy :delete_from_servers
- attr_accessible :ad_type, :width, :height, :referral_url, :status, :file_name, :is_work_safe, :hit_count
-
- def copy_to_servers
- RemoteFileManager.new(image_path).distribute
- end
-
- def delete_from_servers
- RemoteFileManager.new(image_path).delete
- end
-
- def hit!(ip_addr)
- hits.create(:ip_addr => ip_addr)
- end
-
- def hit_sum(start_date, end_date)
- hits.where(["created_at BETWEEN ? AND ?", start_date, end_date]).count
- end
-
- def unique_identifier
- @unique_identifier ||= ("%.0f" % (Time.now.to_f * 1_000))
- end
-
- def image_url
- "/images/advertisements/ads-#{date_prefix}/#{file_name}"
- end
-
- def date_prefix
- created_at.try(:strftime, "%Y%m%d")
- end
-
- def image_path
- "#{Danbooru.config.advertisement_path}/ads-#{date_prefix}/#{file_name}"
- end
-
- def file
- nil
- end
-
- def file=(f)
- if f.size > 0
- self.file_name = unique_identifier + File.extname(f.original_filename)
- FileUtils.mkdir_p(File.dirname(image_path))
-
- if f.local_path
- FileUtils.cp(f.local_path, image_path)
- else
- File.open(image_path, 'wb') {|nf| nf.write(f.read)}
- end
-
- File.chmod(0644, image_path)
- File.open(image_path, "rb") do |file|
- image_size = ImageSpec.new(file)
- self.width = image_size.width
- self.height = image_size.height
- end
-
- if width > height
- self.ad_type = "horizontal"
- else
- self.ad_type = "vertical"
- end
- end
- end
-
- def preview_width
- if width > 100 || height > 100
- if width < height
- ratio = 100.0 / height
- return (width * ratio).to_i
- else
- return 100
- end
- end
- end
-
- def preview_height
- if width > 100 || height > 100
- if height < width
- ratio = 100.0 / width
- return (height * ratio).to_i
- else
- return 100
- end
- end
- end
-end
diff --git a/app/models/advertisement_hit.rb b/app/models/advertisement_hit.rb
deleted file mode 100644
index e6a04338d..000000000
--- a/app/models/advertisement_hit.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-class AdvertisementHit < ActiveRecord::Base
- belongs_to :advertisement
-
- scope :between, lambda {|start_date, end_date| where("created_at BETWEEN ? AND ?", start_date, end_date)}
- attr_accessible :ip_addr
-end
diff --git a/app/views/advertisements/_form.html.erb b/app/views/advertisements/_form.html.erb
deleted file mode 100644
index 8b20bddf9..000000000
--- a/app/views/advertisements/_form.html.erb
+++ /dev/null
@@ -1,6 +0,0 @@
-<%= simple_form_for @advertisement, :html => {:multipart => true} do |f| %>
- <%= f.input :file, :as => :file %>
- <%= f.input :referral_url, :as => :string %>
- <%= f.input :status, :collection => %w(active inactive) %>
- <%= f.button :submit, "Submit" %>
-<% end %>
diff --git a/app/views/advertisements/_jlist_rss_ads_explicit_long.html.erb b/app/views/advertisements/_jlist_rss_ads_explicit_long.html.erb
deleted file mode 100644
index 1d1b6f9b4..000000000
--- a/app/views/advertisements/_jlist_rss_ads_explicit_long.html.erb
+++ /dev/null
@@ -1,70 +0,0 @@
-
diff --git a/app/views/advertisements/_jlist_rss_ads_explicit_short.html.erb b/app/views/advertisements/_jlist_rss_ads_explicit_short.html.erb
deleted file mode 100644
index 36ec8bcb2..000000000
--- a/app/views/advertisements/_jlist_rss_ads_explicit_short.html.erb
+++ /dev/null
@@ -1,70 +0,0 @@
-
diff --git a/app/views/advertisements/_jlist_rss_ads_safe_long.html.erb b/app/views/advertisements/_jlist_rss_ads_safe_long.html.erb
deleted file mode 100644
index a7206ebd0..000000000
--- a/app/views/advertisements/_jlist_rss_ads_safe_long.html.erb
+++ /dev/null
@@ -1,63 +0,0 @@
-
diff --git a/app/views/advertisements/_jlist_rss_ads_safe_short.html.erb b/app/views/advertisements/_jlist_rss_ads_safe_short.html.erb
deleted file mode 100644
index 213bad3b1..000000000
--- a/app/views/advertisements/_jlist_rss_ads_safe_short.html.erb
+++ /dev/null
@@ -1,63 +0,0 @@
-
diff --git a/app/views/advertisements/_secondary_links.html.erb b/app/views/advertisements/_secondary_links.html.erb
deleted file mode 100644
index ef17422d7..000000000
--- a/app/views/advertisements/_secondary_links.html.erb
+++ /dev/null
@@ -1,11 +0,0 @@
-<% content_for(:secondary_links) do %>
-
-<% end %>
diff --git a/app/views/advertisements/edit.html.erb b/app/views/advertisements/edit.html.erb
deleted file mode 100644
index cadebbd90..000000000
--- a/app/views/advertisements/edit.html.erb
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
Edit Advertisement
- <%= image_tag(@advertisement.image_url) %>
- <%= render "form" %>
-
-
-
-<%= render "secondary_links" %>
-
-<% content_for(:page_title) do %>
- Edit Advertisement - <%= Danbooru.config.app_name %>
-<% end %>
-
diff --git a/app/views/advertisements/index.html.erb b/app/views/advertisements/index.html.erb
deleted file mode 100644
index 5d1a6a451..000000000
--- a/app/views/advertisements/index.html.erb
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
Advertisements
-
-
-
-
- |
- Hits |
- |
-
-
-
- <% @advertisements.each do |advertisement| %>
-
- | <%= image_tag(advertisement.image_url, :width => advertisement.preview_width, :height => advertisement.preview_height) %> |
- <%= advertisement.hits.between(@start_date, @end_date).count %> |
- <%= link_to "Edit", edit_advertisement_path(advertisement) %> |
-
- <% end %>
-
-
-
-
-
-<%= render "secondary_links" %>
-
-<% content_for(:page_title) do %>
- Advertisements - <%= Danbooru.config.app_name %>
-<% end %>
diff --git a/app/views/advertisements/new.html.erb b/app/views/advertisements/new.html.erb
deleted file mode 100644
index 5da23351b..000000000
--- a/app/views/advertisements/new.html.erb
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
New Advertisement
- <%= error_messages_for :advertisement %>
- <%= render "form" %>
-
-
-
-<%= render "secondary_links" %>
-
-<% content_for(:page_title) do %>
- New Advertisement - <%= Danbooru.config.app_name %>
-<% end %>
diff --git a/app/views/advertisements/show.html.erb b/app/views/advertisements/show.html.erb
deleted file mode 100644
index 8d59e384c..000000000
--- a/app/views/advertisements/show.html.erb
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
Advertisement
-
- <%= image_tag(@advertisement.image_url, :width => @advertisement.preview_width, :height => @advertisement.preview_height) %>
-
-
- - Hits: <%= @advertisement.hits.between(@start_date, @end_date).count %>
-
-
-
-
-<%= render "secondary_links" %>
-
-<% content_for(:page_title) do %>
- Advertisement - <%= Danbooru.config.app_name %>
-<% end %>
diff --git a/app/views/static/site_map.html.erb b/app/views/static/site_map.html.erb
index 1e6ce1e4b..6803d451e 100644
--- a/app/views/static/site_map.html.erb
+++ b/app/views/static/site_map.html.erb
@@ -130,10 +130,6 @@
<%= link_to("Alias & Implication Import", new_admin_alias_and_implication_import_path) %>
<%= link_to("Admin Dashboard", admin_dashboard_path) %>
<% end %>
-
- <% if Danbooru.config.is_user_advertiser?(CurrentUser.user) %>
- <%= link_to("Advertisements", advertisements_path) %>
- <% end %>
diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb
index 3adffe542..2d84aecd4 100644
--- a/config/danbooru_default_config.rb
+++ b/config/danbooru_default_config.rb
@@ -107,11 +107,6 @@ module Danbooru
300
end
- # Where the ad banners are stored in the file system
- def advertisement_path
- nil
- end
-
# List of memcached servers
def memcached_servers
%w(127.0.0.1:11211)
@@ -266,10 +261,6 @@ module Danbooru
!user.is_gold?
end
- def is_user_advertiser?(user)
- user.is_admin?
- end
-
def can_user_see_post?(user, post)
if is_user_restricted?(user) && is_post_restricted?(post)
false
diff --git a/config/routes.rb b/config/routes.rb
index 39546c755..2af146ac7 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -71,9 +71,6 @@ Rails.application.routes.draw do
end
end
- resources :advertisements do
- resources :hits, :controller => "advertisement_hits", :only => [:create]
- end
resources :artists do
member do
put :revert
diff --git a/lib/tasks/images.rake b/lib/tasks/images.rake
index 26daab670..7b93fb0d7 100644
--- a/lib/tasks/images.rake
+++ b/lib/tasks/images.rake
@@ -104,16 +104,7 @@ namespace :images do
upload.generate_resizes(post.file_path)
post.distribute_files
end
-
- desc "Finds advertisement images that don't exist"
- task :find_missing_ads => :environment do
- Advertisement.where("status = 'active'").each do |ad|
- if !File.exists?(ad.image_path)
- puts ad.image_path
- end
- end
- end
-
+
desc "Generate thumbnail-sized images of posts"
task :generate_preview => :environment do
Post.where("image_width > ?", Danbooru.config.small_image_width).find_each do |post|
diff --git a/script/sanitize.sql b/script/sanitize.sql
index 6a937644f..573ba0ab0 100644
--- a/script/sanitize.sql
+++ b/script/sanitize.sql
@@ -1,5 +1,3 @@
-truncate table advertisement_hits;
-truncate table advertisements;
update artist_versions set updater_ip_addr = '127.0.0.1';
truncate table bans;
truncate table comment_votes;
diff --git a/test/factories/advertisement.rb b/test/factories/advertisement.rb
deleted file mode 100644
index 5e2b7bec3..000000000
--- a/test/factories/advertisement.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-FactoryGirl.define do
- factory(:advertisement) do
- referral_url "http://google.com"
- ad_type "vertical"
- status "active"
- width 728
- height 90
- file_name "google.gif"
- end
-end
diff --git a/test/functional/advertisement_hits_controller_test.rb b/test/functional/advertisement_hits_controller_test.rb
deleted file mode 100644
index 7a554268a..000000000
--- a/test/functional/advertisement_hits_controller_test.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-require 'test_helper'
-
-class AdvertisementHitsControllerTest < ActionController::TestCase
- context "An advertisement hits controller" do
- setup do
- @ad = FactoryGirl.create(:advertisement)
- @advertiser = FactoryGirl.create(:admin_user)
- end
-
- should "create a new hit" do
- assert_difference("AdvertisementHit.count", 1) do
- post :create, {:advertisement_id => @ad.id}
- end
- assert_redirected_to(@ad.referral_url)
- end
- end
-end
diff --git a/test/functional/advertisements_controller_test.rb b/test/functional/advertisements_controller_test.rb
deleted file mode 100644
index 72b2a5d77..000000000
--- a/test/functional/advertisements_controller_test.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-require 'test_helper'
-
-class AdvertisementsControllerTest < ActionController::TestCase
- context "An advertisement controller" do
- setup do
- @ad = FactoryGirl.create(:advertisement)
- @advertiser = FactoryGirl.create(:admin_user)
- end
-
- should "get the new page" do
- get :new, {}, {:user_id => @advertiser.id}
- assert_response :success
- end
-
- should "get the edit page" do
- get :edit, {:id => @ad.id}, {:user_id => @advertiser.id}
- assert_response :success
- end
-
- should "get the index page" do
- get :index, {}, {:user_id => @advertiser.id}
- assert_response :success
- end
-
- should "get the show page" do
- get :show, {:id => @ad.id}, {:user_id => @advertiser.id}
- assert_response :success
- end
-
- should "create an ad" do
- assert_difference("Advertisement.count", 1) do
- post :create, {:advertisement => FactoryGirl.attributes_for(:advertisement)}, {:user_id => @advertiser.id}
- end
- ad = Advertisement.last
- assert_redirected_to(advertisement_path(ad))
- end
-
- should "update an ad" do
- post :update, {:id => @ad.id, :advertisement => {:width => 100}}, {:user_id => @advertiser.id}
- ad = Advertisement.last
- assert_equal(100, ad.width)
- assert_redirected_to(advertisement_path(ad))
- end
-
- should "delete an ad" do
- assert_difference("Advertisement.count", -1) do
- post :destroy, {:id => @ad.id}, {:user_id => @advertiser.id}
- end
- assert_redirected_to(advertisements_path)
- end
-
- should "block non-advertisers" do
- regular_user = FactoryGirl.create(:user)
- get :index, {}, {:user_id => regular_user.id}
- assert_response(403)
- end
- end
-end
diff --git a/test/unit/advertisement_test.rb b/test/unit/advertisement_test.rb
deleted file mode 100644
index bc429ec74..000000000
--- a/test/unit/advertisement_test.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-require 'test_helper'
-require 'helpers/upload_test_helper'
-
-class AdvertisementTest < ActiveSupport::TestCase
- include UploadTestHelper
-
- context "An advertisement" do
- setup do
- Danbooru.config.stubs(:advertisement_path).returns("/tmp")
- @ad = FactoryGirl.create(:advertisement, :file => upload_jpeg("#{Rails.root}/test/files/test.jpg"))
- end
-
- teardown do
- FileUtils.rm_f(Dir.glob("#{Rails.root}/public/images/advertisements/*.jpg"))
- end
-
- should "create new hit records" do
- assert_difference("AdvertisementHit.count") do
- @ad.hit!("0.0.0.0")
- end
- assert_equal("0.0.0.0", AdvertisementHit.first.ip_addr.to_s)
- assert_equal(@ad.id, AdvertisementHit.first.advertisement_id)
- assert_equal(1, @ad.hit_sum(1.day.ago, 1.day.from_now))
- assert_equal(0, @ad.hit_sum(2.days.ago, 1.day.ago))
- end
-
- should "know its preview height and preview width" do
- assert_equal(100, @ad.preview_width)
- assert_equal(67, @ad.preview_height)
- end
- end
-end