X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/970e1a99d7dce64f0631e88c5b9f060fb48d75fe..e9483dcc5d51e034a9ef37446df1894cbdc57ee5:/script/deliver-message diff --git a/script/deliver-message b/script/deliver-message index c15d36596..6907637a6 100755 --- a/script/deliver-message +++ b/script/deliver-message @@ -6,7 +6,7 @@ if recipient = ARGV[0].match(/^c-(\d+)-(\d+)-(.*)$/) comment = DiaryComment.find(recipient[1]) digest = comment.digest date = comment.created_at - from = User.find(recipient[2]) + from = comment.diary_entry.subscribers.find(recipient[2]) to = comment.user token = recipient[3] elsif recipient = ARGV[0].match(/^m-(\d+)-(.*)$/) @@ -20,12 +20,15 @@ else exit 0 end +exit 0 unless from.active? exit 0 unless token == digest[0, 6] exit 0 if date < 1.month.ago -message.update_attribute(:message_read, true) if message +message&.update(:message_read => true) -mail = Mail.new(STDIN.readlines.join) +mail = Mail.new($stdin.read + .encode(:universal_newline => true) + .encode(:crlf_newline => true)) message = Message.from_mail(mail, from, to) message.save!