#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../config/environment'
require 'tmail'

exit 0 unless recipient = ARGV[0].match(/^([cm])-(\d+)-(.*)$/)

if recipient[1] == "c"
  comment = DiaryComment.find(recipient[2])
  digest = comment.digest
  from = comment.diary_entry.user
  to = comment.user
else
  message = Message.find(recipient[2])
  digest = message.digest
  from = message.recipient
  to = message.sender
end

exit 0 unless recipient[3] == digest[0,6]

mail = TMail::Mail.parse(STDIN.readlines.join)

message = Message.new(:sender => from, :recipient => to,
                      :sent_on => Time.now.getutc,
                      :title => mail.subject,
                      :body => mail.body)
message.save!

Notifier::deliver_message_notification(message)

exit 0
