show featured sites on site creation if no tag sites

This commit is contained in:
Kyle Drake 2015-11-04 20:14:23 -08:00
parent 6559f9b129
commit 67c37e57c5
2 changed files with 20 additions and 2 deletions

View file

@ -29,7 +29,7 @@ end
def browse_sites_dataset def browse_sites_dataset
site_dataset = Site.where(is_deleted: false, is_banned: false, is_crashing: false, site_changed: true) site_dataset = Site.browse_dataset
if current_site if current_site
site_dataset.or! sites__id: current_site.id site_dataset.or! sites__id: current_site.id

View file

@ -1141,13 +1141,31 @@ class Site < Sequel::Model
end end
=end =end
def self.browse_dataset
dataset.where is_deleted: false, is_banned: false, is_crashing: false, site_changed: true
end
def suggestions(limit=SUGGESTIONS_LIMIT, offset=0) def suggestions(limit=SUGGESTIONS_LIMIT, offset=0)
suggestions_dataset = Site.exclude(id: id).exclude(is_banned: true).exclude(is_nsfw: true).order(:views.desc, :updated_at.desc) suggestions_dataset = Site.exclude(id: id).exclude(is_banned: true).exclude(is_nsfw: true).order(:views.desc, :updated_at.desc)
suggestions = suggestions_dataset.where(tags: tags).limit(limit, offset).all suggestions = suggestions_dataset.where(tags: tags).limit(limit, offset).all
return suggestions if suggestions.length == limit return suggestions if suggestions.length == limit
suggestions += suggestions_dataset.where("views >= #{SUGGESTIONS_VIEWS_MIN}").limit(limit-suggestions.length).order(Sequel.lit('RANDOM()')).all # Old.
#suggestions += suggestions_dataset.where("views >= #{SUGGESTIONS_VIEWS_MIN}").limit(limit-suggestions.length).order(Sequel.lit('RANDOM()')).all
# New:
site_dataset = self.class.browse_dataset.association_left_join :follows
site_dataset.select_all! :sites
site_dataset.select_append! Sequel.lit("count(follows.site_id) AS follow_count")
site_dataset.group! :sites__id
site_dataset.order! :follow_count.desc, :updated_at.desc
site_dataset.where! "views >= #{SUGGESTIONS_VIEWS_MIN}"
site_dataset.limit! limit-suggestions.length
#site_dataset.order! Sequel.lit('RANDOM()')
suggestions += site_dataset.all
end end
def screenshot_path(path, resolution) def screenshot_path(path, resolution)