<%@ Language=VBScript %>
<% Option Explicit
'==============================
' post.asp
'
' 掲示板記事の新規/リプライの投稿
'==============================
Dim Sql, refer_id, sender, sender_addr, refurl, subject, body
Dim th_level, pwd, datestr, Message

'Form提出データのデコード
refer_id = Request("refer_id")
sender = Escape(Request("sender"))
sender_addr = Escape(Request("sender_addr"))
refurl = Escape(Request("refurl"))
subject = Escape(Request("subject"))
body = Escape(Request("body"))
th_level = Request("th_level")
pwd = Request("pwd")

datestr = Year(Now) & "-" & Month(Now) & "-" & Day(Now) & _
" " & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)

'数値列にinsertする変数が空の場合エラーになるので初期化
If refer_id = "" Then refer_id = "NULL"
If th_level = "" Then th_level = 0


' 記事の投稿(送信)時はDBにinsert
If Request("act") = "送信" Then
If sender = "" or subject = "" or body = "" Then
Message = "投稿者名またはタイトル、本文が空です"
Else
'SQL文作成
Sql = "INSERT INTO tbl_article(" & _
"refer_id," & _
"sender," & _
"sender_addr," & _
"url,subject," & _
"pwd," & _
"body," & _
"th_level," & _
"update_date) " & _
"VALUES(" & refer_id & ",'" & _
sender & "','" & _
sender_addr & "','" & _
refurl & "','" & _
subject & "','" & _
pwd & "','" & _
body & "'," & _
th_level & ",'" & _
datestr & "')"
On Error Resume Next
Err.Clear
objDBCon.Execute Sql
If Err.number <> 0 Then
Message = "エラーが起きました<BR>" & Err.description & Err.Number
Else
Message = "投稿しました"
subject = ""
body = ""
End If
End if
Else
' refer_idがNULLでない == コメントを付けようとしている場合、
' 親記事を取得する
If refer_id <> "NULL" Then
GetArticle refer_id, subject, body, th_level
th_level = th_level + 1
End If
End If

' 以下サブルーチン

'---------------------------------------
' idで指定される記事を取得し、
' Reply用処理後の文字列を、(タイトル)subj、
' (本文)bod, (階層レベル)t_levelに返す
'---------------------------------------
Sub GetArticle(ByVal id, subj, bod, t_level)
Dim Query, Recset, TempArray, tmp
Query = "SELECT subject, body, th_level " & _
"FROM tbl_article " & _
"WHERE mess_id = " & id

Set Recset = objDBCon.Execute(Query)
subj = "Re: " & Recset("subject")
TempArray = Split(Recset("body"), Chr(10))
For Each tmp In TempArray
bod = bod & "&gt;" & tmp & VbCr
Next
t_level = Recset("th_level")
Recset.Close
Set Recset = Nothing
End Sub
%>

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis">
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY bgcolor="#fff8dc">

<FONT size=4 color=#333333><STRONG>記事の投稿</STRONG></FONT>
<HR noshade color="#ff1493" width=95 size=5 align="left">
<FONT size=2 color="#333333">
<A href="list.asp">記事の一覧</A>
</FONT>
<HR noshade color="#333333" size=2 align="left">

<BR>
<FONT size=3 color="#ff1493"><STRONG><%=Message%></STRONG></FONT>

<FORM method=post action="post.asp">
<INPUT type="hidden" name="refer_id" value="<%=refer_id%>">
<INPUT type="hidden" name="th_level" value="<%=th_level%>">
<TABLE>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">投稿者名</FONT>
 <TD><INPUT type="text" name="sender" value="<%=sender%>" size=50></TD>
</TR>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">E-Mail</FONT>
 <TD><INPUT type="text" name="sender_addr" value="<%=sender_addr%>" size=50></TD>
</TR>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">URL</FONT>
 <TD><INPUT type="text" name="refurl" value="<%=refurl%>" size=50></TD>
</TR>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">タイトル</FONT>
 <TD><INPUT type="text" name="subject" value="<%=subject%>" size=50></TD>
</TR>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">本文</FONT>
 <TD><TEXTAREA cols=50 rows=10 name=body>
<%=body%>
</TEXTAREA>
</TR>
<TR>
<TH align="left"><FONT size=3 color="#1e90ff">編集用パスワード</FONT>
 <TD><INPUT type="password" name="pwd" value="<%=pwd%>" size=50></TD>
</TR>
<TR>
<TH colspan=2><INPUT type="submit" name="act" value="送信">
<INPUT type="reset" valule="リセット">
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<!-- #include file="mod_const.inc"-->