diff options
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/email_validator.rb | 31 | ||||
-rw-r--r-- | app/lib/formatter.rb | 3 | ||||
-rw-r--r-- | app/lib/status_length_validator.rb | 10 | ||||
-rw-r--r-- | app/lib/url_validator.rb | 14 |
4 files changed, 2 insertions, 56 deletions
diff --git a/app/lib/email_validator.rb b/app/lib/email_validator.rb deleted file mode 100644 index 06e9375f6..000000000 --- a/app/lib/email_validator.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -class EmailValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.errors.add(attribute, I18n.t('users.invalid_email')) if blocked_email?(value) - end - - private - - def blocked_email?(value) - on_blacklist?(value) || not_on_whitelist?(value) - end - - def on_blacklist?(value) - return false if Rails.configuration.x.email_domains_blacklist.blank? - - domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.') - regexp = Regexp.new("@(.+\\.)?(#{domains})", true) - - value =~ regexp - end - - def not_on_whitelist?(value) - return false if Rails.configuration.x.email_domains_whitelist.blank? - - domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.') - regexp = Regexp.new("@(.+\\.)?(#{domains})", true) - - value !~ regexp - end -end diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index b6d371ed2..64b1f86d4 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -15,6 +15,7 @@ class Formatter html = status.text html = encode(html) html = simple_format(html, {}, sanitize: false) + html = html.gsub(/\n/, '') html = link_urls(html) html = link_mentions(html, status.mentions) html = link_hashtags(html) @@ -95,6 +96,6 @@ class Formatter end def mention_html(match, account) - "#{match.split('@').first}<span class=\"h-card\"><a href=\"#{TagManager.instance.url_for(account)}\" class=\"u-url mention\">@#{account.username}</a></span>" + "#{match.split('@').first}<span class=\"h-card\"><a href=\"#{TagManager.instance.url_for(account)}\" class=\"u-url mention\">@<span>#{account.username}</span></a></span>" end end diff --git a/app/lib/status_length_validator.rb b/app/lib/status_length_validator.rb deleted file mode 100644 index 55135a598..000000000 --- a/app/lib/status_length_validator.rb +++ /dev/null @@ -1,10 +0,0 @@ -# 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 diff --git a/app/lib/url_validator.rb b/app/lib/url_validator.rb deleted file mode 100644 index 4a5c4ef3f..000000000 --- a/app/lib/url_validator.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -class UrlValidator < ActiveModel::EachValidator - def validate_each(record, attribute, value) - record.errors.add(attribute, I18n.t('applications.invalid_url')) unless compliant?(value) - end - - private - - def compliant?(url) - parsed_url = Addressable::URI.parse(url) - !parsed_url.nil? && %w(http https).include?(parsed_url.scheme) && parsed_url.host - end -end |