module Pixways

  class SearchesHelper

    class << self

      def filter_keywords(keywords)
        # ToDo: manage single double-quote, parenthesis, brackets, ... to avoid ThinkingSphinx::SyntaxError (search if odd numbers of those characters removed them ?)
        keywords.split(/(".*?")/).collect do |subset|
          if subset[0..0]=='"'
            subset = "\"#{Riddle::Query.escape(subset)}\""
          else
            subset.gsub!('/','\/')
          end
          subset
        end.join
      end

      def dates_to_range(date_left,date_right)
        left = date_left.blank? ? Time.utc(1000,01,01,00,00).to_i : DateTime.strptime(date_left,I18n.t('date.formats.default')).at_beginning_of_day.to_i rescue Time.utc(1000,01,01,00,00).to_i
        right = date_right.blank? ? Time.utc(9999,12,31,23,59).to_i : DateTime.strptime(date_right,I18n.t('date.formats.default')).at_end_of_day.to_i rescue Time.utc(9999,12,31,23,59).to_i
        left..right
      end

    end

  end

end
