X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/2038cd52c65158a9b31299c62e4beb72c61a18b7..584748fe0a9b20f7af5f9c6ebf127ec15b1350ad:/script/deliver-message?ds=sidebyside diff --git a/script/deliver-message b/script/deliver-message index 58afa3451..c15d36596 100755 --- a/script/deliver-message +++ b/script/deliver-message @@ -1,33 +1,35 @@ #!/usr/bin/env ruby -require File.dirname(__FILE__) + '/../config/environment' -require 'tmail' +require File.dirname(__FILE__) + "/../config/environment" -exit 0 unless recipient = ARGV[0].match(/^([cm])-(\d+)-(.*)$/) - -if recipient[1] == "c" - comment = DiaryComment.find(recipient[2]) +if recipient = ARGV[0].match(/^c-(\d+)-(\d+)-(.*)$/) + comment = DiaryComment.find(recipient[1]) digest = comment.digest - from = comment.diary_entry.user + date = comment.created_at + from = User.find(recipient[2]) to = comment.user -else - message = Message.find(recipient[2]) + token = recipient[3] +elsif recipient = ARGV[0].match(/^m-(\d+)-(.*)$/) + message = Message.find(recipient[1]) digest = message.digest + date = message.sent_on from = message.recipient to = message.sender - subject = message.subject.sub(/\[OpenStreetMap\] */, "") + token = recipient[2] +else + exit 0 end -exit 0 unless recipient[3] == digest[0,6] +exit 0 unless token == digest[0, 6] +exit 0 if date < 1.month.ago + +message.update_attribute(:message_read, true) if message -mail = TMail::Mail.parse(STDIN.readlines.join) +mail = Mail.new(STDIN.readlines.join) -message = Message.new(:sender => from, :recipient => to, - :sent_on => Time.now.getutc, - :title => subject, - :body => mail.body) +message = Message.from_mail(mail, from, to) message.save! -Notifier::deliver_message_notification(message) +Notifier.message_notification(message).deliver exit 0