nsfw banning, and ip banning for spammers

This commit is contained in:
Kyle Drake 2013-06-24 13:13:58 -07:00
parent 4b82bdec2e
commit a456232e05
2 changed files with 42 additions and 4 deletions

25
app.rb
View file

@ -256,7 +256,8 @@ end
get '/admin' do
require_admin
@banned_sites = Site.filter(is_banned: true).order(:username).all
@banned_sites = Site.select(:username).filter(is_banned: true).order(:username).all
@nsfw_sites = Site.select(:username).filter(is_nsfw: true).order(:username).all
slim :'admin'
end
@ -277,9 +278,29 @@ post '/admin/banhammer' do
DB.transaction {
FileUtils.mv site_base_path(site.username), File.join(settings.public_folder, 'banned_sites', site.username)
site.is_banned = true
site.save(validate: false)
site.save validate: false
}
if !['127.0.0.1', 'nil', ''].include? site.ip
`sudo ufw deny from #{site.ip}`
end
flash[:success] = 'MISSION ACCOMPLISHED'
redirect '/admin'
end
post '/admin/mark_nsfw' do
require_admin
site = Site[username: params[:username]]
if site.nil?
flash[:error] = 'User not found'
redirect '/admin'
end
site.is_nsfw = true
site.save validate: false
flash[:success] = 'MISSION ACCOMPLISHED'
redirect '/admin'
end

View file

@ -5,11 +5,11 @@
.row
.span6
h2 Ban User for REASONS OF TERRRROROR!
h2 Ban User
form action="/admin/banhammer" method="POST"
input name="csrf_token" type="hidden" value="#{csrf_token}"
p TerrRRRROR Suspect:
p Site Name:
input type="text" name="username" placeholder="edwardsnowden"
br
input.btn.btn-danger type="submit" value="Ban"
@ -18,3 +18,20 @@
- @banned_sites.each do |banned_site|
= banned_site.username
br
.row
.span6
h2 Mark NSFW
form action="/admin/mark_nsfw" method="POST"
input name="csrf_token" type="hidden" value="#{csrf_token}"
p Site name:
input type="text" name="username" placeholder="edwardsnowden"
br
input.btn.btn-danger type="submit" value="Mark NSFW"
.span6
h2 NSFW Sites
- @nsfw_sites.each do |nsfw_site|
= nsfw_site.username
br