From 999cde94a6a2d67cf36160365378951d3b55b868 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 25 Jan 2017 00:49:08 +0100 Subject: Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text Federate spoiler_text using warning attribute on instead of a Clean up schema file from accidental development migrations --- app/lib/formatter.rb | 17 +---------------- app/lib/status_length_validator.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 16 deletions(-) create mode 100644 app/lib/status_length_validator.rb (limited to 'app/lib') diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index 72cd3d234..ff2a16f1b 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -14,15 +14,7 @@ class Formatter html = status.text html = encode(html) - - if (status.spoiler?) - spoilerhtml = status.spoiler_text - spoilerhtml = encode(spoilerhtml) - html = wrap_spoilers(html, spoilerhtml) - else - html = simple_format(html, sanitize: false) - end - + html = simple_format(html, {}, sanitize: false) html = html.gsub(/\n/, '') html = link_urls(html) html = link_mentions(html, status.mentions) @@ -51,13 +43,6 @@ class Formatter HTMLEntities.new.encode(html) end - def wrap_spoilers(html, spoilerhtml) - spoilerhtml = simple_format(spoilerhtml, {class: "spoiler-helper"}, {sanitize: false}) - html = simple_format(html, {class: ["spoiler", "spoiler-on"]}, {sanitize: false}) - - spoilerhtml + html - end - def link_urls(html) html.gsub(URI.regexp(%w(http https))) do |match| link_html(match) diff --git a/app/lib/status_length_validator.rb b/app/lib/status_length_validator.rb new file mode 100644 index 000000000..55135a598 --- /dev/null +++ b/app/lib/status_length_validator.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +class StatusLengthValidator < ActiveModel::Validator + MAX_CHARS = 500 + + def validate(status) + return unless status.local? && !status.reblog? + status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if [status.text, status.spoiler_text].join.length > MAX_CHARS + end +end -- cgit