#!/usr/local/bin/ruby
#encoding:utf-8
print "Content-type: text/html\n"
#
#test04.rb ID表示
#

### code表示 ,rbファイル名
pgmei=File.basename($0)
code=%Q[<br><a href="dispcode.rb?fmei=#{pgmei}" target="_blank">code</a>]
$pgmei=pgmei;load'cntsub.rb'   #cnt,cnt_ip

### css
css=%Q[<link rel="stylesheet" href="./css/test02.css" type="text/css">]

### htmlテンプレ %reshtml%展開
wt=%Q[<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
#{css}
<title>#{pgmei}</title>
</head>
<body>
<h1>テスト投稿</h1>
<h2>#{pgmei}  (date textarea ID計算)</h2>
<br>
<form action="#{pgmei}" method="post">
名前<input type="text" name="namae" value="%namae%"><br>
<textarea rows="4" cols="40" name="txt" spellcheck="false"></textarea>
<input type="submit" value="書込">
</form>
<hr>
%reshtml%
<br>
#{code}
</body>
</html>
]


### データファイル名
$datamei="data2.txt"
### 書込
def kakikomi(w)
   open($datamei,"a"){|f|
      f.write(w+"\n")
   }
end
### 読込
def yomikomi
   w=""
   open($datamei,"r:utf-8"){|f|
      f.each{|line|
         line.gsub!(/<>/,"<>")
         w=w+line.chomp!+"<br>"
      }
   }  
   return w
end
### ID作成
def idhenkan(p1,p2,p3)      #ブラウザ,IP,ヒヅケ   とりあえずの処理
   w1=p1.length
   w=p2.split(".")
   w2=w[0].to_i
   w3=w[1].to_i
   w4=w[2].to_i
   w5=w[3].to_i
   w6=p3
   i1=(w1*w2)%63
   i2=(w3+w4)%63
   i3=(w5+w6)%63
   tt="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
   #ww=i1.to_s+"="+i2.to_s+"="+i3.to_s
   ww=tt.slice(i1)+tt.slice(i2)+tt.slice(i3)
   return ww
end
#


### 初期判断
require"date"
$coo=""    #cookie用
require"cgi"
cgi=CGI.new
cdata=cgi['namae']
pdata=cgi['txt']        #コメント
#
if pdata!="" then     #書込
   pdata.gsub!(/\R/,"<br>")
   pdata=CGI.escapeHTML(pdata)
   w1=ENV['HTTP_USER_AGENT']
   w2=ENV['REMOTE_ADDR']
   pid=idhenkan(w1,w2,Time.now.day)
   dd=Time.now.strftime("%Y/%m/%d(#{%w(日 月 火 水 木 金 土)[Time.now.wday]})%H:%M:%S")
   wd="#{cdata}<><>#{dd} ID:#{pid}<> #{pdata} <>"
   kakikomi(wd)  #内容  
   cookie=CGI::Cookie.new({'name'=>'c1','expires'=>(Time.now+60*60*24),'value'=>cdata})
   $coo="Set-Cookie:"+cookie.to_s
   wt.sub!("%namae%",cdata)
else                  #読込
   ck=cgi.cookies['c1'].first.to_s
   wt.sub!("%namae%",ck)
end
#
### 表示
print $coo+"\n\n"
print wt.sub!("%reshtml%",yomikomi)