2024-02-25 12:15:55 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-02-25 12:09:02 -05:00
|
|
|
class PostSearchContext
|
2023-11-08 13:22:01 -05:00
|
|
|
attr_reader :post
|
2013-03-19 08:10:10 -04:00
|
|
|
|
2013-02-25 12:09:02 -05:00
|
|
|
def initialize(params)
|
2023-11-08 13:22:01 -05:00
|
|
|
tags = params[:q].presence || params[:tags].presence || ""
|
|
|
|
tags += " rating:s" if CurrentUser.safe_mode?
|
|
|
|
tags += " -status:deleted" unless TagQuery.has_metatag?(tags, "status", "-status")
|
|
|
|
pagination_mode = params[:seq] == "prev" ? "a" : "b"
|
|
|
|
@post = Post.tag_match(tags).paginate("#{pagination_mode}#{params[:id]}", limit: 1).first || Post.find(params[:id])
|
2013-02-25 12:09:02 -05:00
|
|
|
end
|
|
|
|
end
|