From 3dfac8387d6faba8e40bb562b47bf6f6d4c3a6eb Mon Sep 17 00:00:00 2001 From: Z Date: Sat, 11 Jul 2020 10:15:48 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bugs=20&&=20=E5=8C=BF=E5=90=8D=E5=8F=AF?= =?UTF-8?q?=E7=A6=81=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/v1/statuses_controller.rb | 9 ++++----- app/lib/formatter.rb | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index f1ff8b506..10cfc2c9d 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -6,12 +6,12 @@ class AnonTag @@map = {} @@last_use = Time.now - def self.get_or_generate(pid) + def self.get_or_generate(pid, note) if Time.now - @@last_use > 1.day - @@last_use = Time.now @@map = {} @@used_name = [] end + @@last_use = Time.now pre = @@map.empty? ? '*' : '' @@ -19,8 +19,7 @@ class AnonTag @@map[pid] = (@@namelist - @@used_name).sample() @@used_name.append(@@map[pid]) end - - pre + @@map[pid] + @@map[pid].in?(note) ? nil : pre + @@map[pid] end end @@ -64,7 +63,7 @@ class Api::V1::StatusesController < Api::BaseController end def create - anon = Rails.configuration.x.anon_acc && status_params[:status].end_with?(Rails.configuration.x.anon_tag) && AnonTag.get_or_generate(current_user.account_id) + anon = Rails.configuration.x.anon_acc && status_params[:status].end_with?(Rails.configuration.x.anon_tag) && AnonTag.get_or_generate(current_user.account_id, Account.find(Rails.configuration.x.anon_acc).note) sender = anon ? Account.find(Rails.configuration.x.anon_acc) : current_user.account st_text = anon ? ("[#{anon}]:\n#{status_params[:status]}"[0..5000]) : status_params[:status] diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index a3983df0f..9da41c9e4 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -114,7 +114,7 @@ class Formatter aft_s = html[indices.last ..] bef_s = html[0 .. indices.first-1] - re = /(!?)\[(.*?)\]\($/ + re = /(!?)\[([^\n\[\]]*?)\]\($/ if aft_s and bef_s and aft_s.start_with?(')') and bef_s =~ re new_indices = [bef_s =~ re, indices.last+1] new_entity = {