bunch of updates
[iankelling.org] / _site / cgi / comment
index 4b14c3c7c7bd9c3dfa9337a8494656913f662917..149799447b0afee0640d587c226d502cd43f8a31 100755 (executable)
@@ -26,7 +26,6 @@ require 'cgi'
 require 'fileutils'
 require 'time'
 require 'sqlite3'
-
 Dir.chdir(File.join(File.dirname(__FILE__), '..'))
 
 require '../b'
@@ -85,7 +84,7 @@ def do_captcha
 <p>#{captcha_q}</p>
 
 <form action="/cgi/comment" method="post">
-  <input class="misc" type="text" name="url">
+  <input class="misc-comment-input" type="text" name="url">
   <input name="goto" type="hidden" value="#{GOTO}">
   <input name="question" type="hidden" value="#{captcha_q}">
   <input name="answer">
@@ -142,6 +141,10 @@ if COMMENT_TXT.length > 1000 or GOTO.length > 150
   fail('length of comment or goto is too great')
 end
 
+if COMMENT_TXT.length <= 2 or COMMENT_TXT =~ /\A\s*\Z/
+  fail('not enough content in comment')
+end
+
 
 captchad = false
 if cgi.has_key?('answer') && cgi.has_key?('question')
@@ -300,7 +303,7 @@ $db.execute('insert into c values (NULL, ?, ?, ?, ?, ?)',
              COMMENT_TXT])
 
 if date
-  new_count = $db.execute(query + 'and date > ?',date)
+  new_count = $db.execute(query + 'and date > ?', date)
 else
   new_count = $db.execute(query)
 end
@@ -308,27 +311,19 @@ new_count = new_count[0][0]
 
 if new_count == 1
   require 'net/smtp'
-  def send_email(opts={})
-    opts[:to]          ||= 'root'
-    opts[:server]      ||= 'localhost'
-    opts[:from]        ||= 'root'
-    opts[:from_alias]  ||= 'root'
-    opts[:subject]     ||= "test subject"
-    opts[:body]        ||= ""
-
-    msg = <<END_OF_MESSAGE
-From: #{opts[:from_alias]} <#{opts[:from]}>
-To: <#{opts[:to]}>
-Subject: #{opts[:subject]}
-
-#{opts[:body]}
+  to = 'root@' + FQDN
+  from = 'www-data@' + FQDN
+  server = 'localhost'
+  msg = <<END_OF_MESSAGE
+From: h <#{from}>
+To: <#{to}>
+Subject: "new comment on #{FQDN}"
+
+empty body
 END_OF_MESSAGE
-
-    Net::SMTP.start(opts[:server]) do |smtp|
-      smtp.send_message msg, opts[:from], opts[:to]
-    end
+  Net::SMTP.start(server) do |smtp|
+    smtp.send_message msg, from, to
   end
-  send_email :subject => 'new comments on iankelling.org'
 end
 
 post(md_file)