X-Git-Url: https://iankelling.org/git/?p=iankelling.org;a=blobdiff_plain;f=_site%2Fcgi%2Fcomment;h=149799447b0afee0640d587c226d502cd43f8a31;hp=b1e8796607706a844cf9a33ecf1a46500acfebec;hb=e81919074554ec1e719f1431667299c9c84dc854;hpb=3c09af9cc854c716d9f772d1c8c1e568cacc92b9 diff --git a/_site/cgi/comment b/_site/cgi/comment index b1e8796..1497994 100755 --- a/_site/cgi/comment +++ b/_site/cgi/comment @@ -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

#{captcha_q}

- + @@ -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') @@ -292,45 +295,37 @@ state != 'rate_limited' and state != 'suspect' SQL +$db.execute('insert into c values (NULL, ?, ?, ?, ?, ?)', + [state, + IP, + NOW, + GOTO, + 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 +new_count = new_count[0][0] if new_count == 1 require 'net/smtp' - def send_email(opts={}) - opts[:to] ||= ENV['USER'] - opts[:server] ||= 'localhost' - opts[:from] ||= ENV['USER'] - opts[:from_alias] ||= ENV['USER'] - opts[:subject] ||= "test subject" - opts[:body] ||= "" - - msg = < -To: <#{opts[:to]}> -Subject: #{opts[:subject]} - -#{opts[:body]} + to = 'root@' + FQDN + from = 'www-data@' + FQDN + server = 'localhost' + msg = < +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 -$db.execute('insert into c values (NULL, ?, ?, ?, ?, ?)', - [state, - IP, - NOW, - GOTO, - COMMENT_TXT]) - post(md_file) redir