#!/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)