?? editpost.asp
字號:
<!--#INCLUDE FILE="inc/db_inc.asp"-->
<!--#INCLUDE FILE="inc/char_inc.asp"-->
<!--#INCLUDE FILE="inc/xbcode_inc.asp"-->
<!--#INCLUDE FILE="header.asp"-->
<%
dim StrSql, toptext, rs, rs2, StrHtml, StrHtml2, error, sex, avatar, err, userid, threadid, threadtitle, postid, posttitle
StrHtml = loadtemplate("htmltop")
StrHtml = Replace(StrHtml, "{pagetitle}", loadtemplate("editposttitle"))
StrHtml = Replace(StrHtml, "{forumtitle}", boardtitle)
response.write StrHtml
' 短消息提示
response.write pmpopwin
StrHtml = loadtemplate("pagetitle")
if request.cookies("sf")("username") = "" then
toptext = loadtemplate("toptextguest")
else
toptext = loadtemplate("toptextuser")
end if
toptext = toptext & loadtemplate("toptext")
StrHtml = Replace(StrHtml, "{top_text}", toptext)
StrHtml = Replace(StrHtml, "{username}", request.cookies("sf")("username"))
response.write StrHtml
' 論壇關閉
StrSql = "select * from sf_setup"
Set rs2 = Conn.Execute(StrSql)
if rs2("forumclose") = 1 then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", rs2("forumclosehint"))
response.write StrHtml
response.end
end if
' 禁止IP訪問
if rs2("killip") = 1 then
userip = cstr(request.ServerVariables("REMOTE_ADDR"))
killiplist = rs2("killiplist")
if killiplist <> "" and userip <> "" then
killip = split(killiplist, "|")
struserip = split(userip, ".")
i = 0
do until i > ubound(killip)
strkillip = split(killip(i), ".")
bolkill = true
if (struserip(0) <> strkillip(0)) and (strkillip(0) <> "*") then bolkill = false
if (struserip(1) <> strkillip(1)) and (strkillip(1) <> "*") then bolkill = false
if (struserip(2) <> strkillip(2)) and (strkillip(2) <> "*") then bolkill = false
if (struserip(3) <> strkillip(3)) and (strkillip(3) <> "*") then bolkill = false
if bolkill then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", rs2("killiphint"))
response.write StrHtml
Response.End
end if
i = i + 1
loop
end if
end if
' 檢測postid是否合法
err = false
error = ""
postid = ChkSql(request("postid"))
if not IsNumeric(postid) then
err = true
else
StrSql = "select * from sf_post where postid = " & postid
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
err = true
else
posttitle = rs2("title")
threadid = rs2("threadid")
userid = rs2("userid")
StrSql = "select * from sf_thread where threadid = " & threadid
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
error = true
else
threadtitle = rs2("title")
forumid = rs2("forumid")
open = rs2("open")
end if
end if
end if
if err then error = error & "<br><li>" & loadtemplate("err_postnotexist")
' 如果有錯誤則提示
if error <> "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", error)
response.write StrHtml
response.end
end if
' 檢測forumid是否合法
err = false
if not IsNumeric(forumid) then
err = true
else
StrSql = "select sf_forum.forumid, sf_forum.title, sf_forum.allowposting, sf_forum.caneditpost, sf_forum.onlyuser, sf_forum.onlymember, sf_forum.memberlist, sf_forum.cateid, sf_cate.cateid, sf_cate.catetitle from sf_forum left join sf_cate on sf_forum.cateid = sf_cate.cateid where forumid = " & forumid
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
err = true
else
forumtitle = rs2("title")
cateid = rs2("cateid")
catetitle = rs2("catetitle")
allowpost = rs2("allowposting")
caneditpost = rs2("caneditpost")
onlymember = rs2("onlymember")
memberlist = rs2("memberlist")
' 如果只允許內部成員訪問...
if onlymember = 1 then
if not IsMember(forumid, memberlist) then error = error & "<br><li>" & loadtemplate("err_member")
StrSql = "select password, userid from sf_user where username = '" & ChkSql(request.cookies("sf")("username")) & "'"
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
error = error & "<br><li>" & loadtemplate("err_chkpassword")
else
if request.cookies("sf")("password") <> rs2("password") then error = error & loadtemplate("err_chkpassword")
end if
end if
end if
end if
if err then error = error & "<br><li>" & loadtemplate("err_forumnotexist")
' 如果有錯誤則提示
if error <> "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", error)
response.write StrHtml
response.end
end if
' 顯示當前頁面路徑
StrHtml = loadtemplate("pagepath")
StrHtml = Replace(StrHtml, "{path_text}", "<a href=""index.asp"">" & boardtitle & "</a> » <a href=""showcate.asp?cateid=" & cateid & """>" & catetitle & "</a> » <a href=""showforum.asp?forumid=" & forumid & """>" & forumtitle & "</a> » " & loadtemplate("editposttitle"))
response.write StrHtml
' 如果未注冊或未登錄...
if request.cookies("sf")("username") = "" or request.cookies("sf")("password") = "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", loadtemplate("err_unregistered"))
response.write StrHtml
response.end
end if
' 檢測密碼...
error = ""
userinfo = 0
StrSql = "select password, userid from sf_user where username = '" & ChkSql(request.cookies("sf")("username")) & "'"
Set rs2 = Conn.Execute(StrSql)
if rs2.bof or rs2.eof then
error = loadtemplate("err_chkpassword")
else
if request.cookies("sf")("password") <> rs2("password") then
error = loadtemplate("err_chkpassword")
else
' 如果是帖子原作者userinfo=1
if userid = rs2("userid") then
userinfo = 1
end if
StrSql = "select * from sf_moderator where userid = " & rs2("userid") & "and (forumid = " & forumid & " or super = 1 or isadmin = 1)"
Set rs2 = Conn.Execute(StrSql)
'如果是斑竹userinfo=2
if rs2.bof or rs2.eof then
if userinfo = 0 then error = loadtemplate("err_purview")
else
userinfo = 2
if rs2("isadmin") = 1 then userinfo = 3
end if
end if
end if
if userinfo < 2 then
if allowpost = 0 then error = error & "<br><li>" & loadtemplate("err_post")
if caneditpost = 0 then error = error & "<br><li>" & loadtemplate("err_editpost")
if open <> 1 then error = error & "<br><li>" & loadtemplate("err_threadclose")
end if
if error <> "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", error)
response.write StrHtml
response.end
end if
%>
<!--#INCLUDE FILE="inc/btn.js"-->
<%
step = ChkSql(request("step"))
select case step
case "2"
error = ""
err = false
if request("subject") = "" then
error = error & "<br><li>" & loadtemplate("err_postsubject")
else
if strLength(request("subject")) > 100 then error = error & "<br><li>" & loadtemplate("err_postsubject")
end if
StrHtml = loadtemplate("err_posttext")
StrHtml = Replace(StrHtml, "{textmaxlength}", postmaxlength)
if request("text") = "" then
error = error & "<br><li>" & StrHtml
else
if strLength(request("text")) > postmaxlength then error = error & "<br><li>" & StrHtml
end if
'如果有錯誤則輸出錯誤信息
if error <> "" then
StrHtml = loadtemplate("error")
StrHtml = Replace(StrHtml, "{error_text}", error)
response.write StrHtml
response.end
end if
' 保存
icon = ChkSql(request("icon"))
if not IsNumeric(icon) then
icon = 0
else
icon = cint(icon)
if icon < 0 or icon > 14 then icon = 0
end if
nowtime = now()
sign = 0
emot = 0
xbcode = 0
autourl = 0
if request("sign") = "1" then sign = 1
if request("usexbcode") = "1" then xbcode = 1
if request("useemot") = "1" then emot = 1
if request("url") = "1" then autourl = 1
' lock database
Application.Lock
StrSql = "update sf_post set title = '" & ChkSql(server.htmlencode(request("subject"))) & "', notes = '" & ChkSql(request.cookies("sf")("username")) & " " & nowtime & "', pagetext = '" & ChkSql(server.htmlencode(request("text"))) & "', allowsmilie = " & emot & ", allowautourl = " & autourl & ", allowxbcode = " & xbcode & ", showsignature = " & sign & ", iconid = " & icon & " where postid = " & postid
Conn.Execute(StrSql)
StrSql = "update sf_user set lastactivity = '" & now() & "' where username = '" & ChkSql(request.cookies("sf")("username")) & "'"
Conn.Execute(StrSql)
' unlock database
Application.UnLock
StrHtml = loadtemplate("hint")
StrHtml = Replace(StrHtml, "{hint_text}", loadtemplate("hint_editpost"))
StrHtml = Replace(StrHtml, "{pro_name}", "showthread.asp?threadid=" & threadid)
response.write StrHtml
case else
StrSql = "select * from sf_post where postid = " & postid
Set rs2 = Conn.Execute(StrSql)
StrHtml = loadtemplate("editpost")
StrHtml2 = ""
for i = 1 to 14
if i = 8 then StrHtml2 = StrHtml2 + "<br>"
if rs2("iconid") = i then
StrHtml2 = StrHtml2 & "<input type=""radio"" value=""" & i & """ name=""icon"" checked>" & "<img src=""image/posticon/icon" & i & ".gif""> " & chr(10)
else
StrHtml2 = StrHtml2 & "<input type=""radio"" value=""" & i & """ name=""icon"">" & "<img src=""image/posticon/icon" & i & ".gif""> " & chr(10)
end if
next
StrHtml = Replace(StrHtml, "{post_icon}", StrHtml2)
StrHtml2 = ""
StrHtml2 = StrHtml2 & "<img onClick=btn_b() src=""image/postbtn/b.gif"" alt=""Bold"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_u() src=""image/postbtn/u.gif"" alt=""Underline"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_i() src=""image/postbtn/i.gif"" alt=""Italic"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_url() src=""image/postbtn/url.gif"" alt=""Url"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_code() src=""image/postbtn/code.gif"" alt=""Code"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_img() src=""image/postbtn/img.gif"" alt=""Image"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_swf() src=""image/postbtn/swf.gif"" alt=""Flash"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_mp() src=""image/postbtn/mp.gif"" alt=""WindowsMediaPlayer"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_rm() src=""image/postbtn/rm.gif"" alt=""RealPlayer"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<img onClick=btn_q() src=""image/postbtn/quote.gif"" alt=""Quote"" align=""absbottom"">" & chr(10)
StrHtml2 = StrHtml2 & "<select onchange=""if(this.options[this.selectedIndex].value!=''){showcolor(this.options[this.selectedIndex].value);this.options[0].selected=true;}else {this.selectedIndex=0;}"" name=color>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#000000;color:#000000"" value=""#000000"">#000000</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#FF0000;color:#FF0000"" value=""#FF0000"">#FF0000</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#0000FF;color:#0000FF"" value=""#0000FF"">#0000FF</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#336699;color:#336699"" value=""#336699"">#336699</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#339900;color:#339900"" value=""#339900"">#339900</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#CC6600;color:#CC6600"" value=""#CC6600"">#339900</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#663399;color:#663399"" value=""#663399"">#663399</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#3399CC;color:#3399CC"" value=""#3399CC"">#3399CC</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#66CC00;color:#66CC00"" value=""#66CC00"">#66CC00</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#FF6699;color:#FF6699"" value=""#FF6699"">#FF6699</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#CC66CC;color:#CC66CC"" value=""#CC66CC"">#CC66CC</option>" & chr(10)
StrHtml2 = StrHtml2 & "<option style=""background-color:#FF9900;color:#FF9900"" value=""#FF9900"">#FF9900</option>" & chr(10)
StrHtml2 = StrHtml2 & "</select>" & chr(10)
StrHtml2 = StrHtml2 & "<select onchange=""if(this.options[this.selectedIndex].value!=''){showsize(this.options[this.selectedIndex].value);this.options[0].selected=true;}else {this.selectedIndex=0;}"" name=size>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=1> 1 </option>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=2 selected> 2 </option>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=3> 3 </option>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=4> 4 </option>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=5> 5 </option>" & chr(10)
StrHtml2 = StrHtml2 & "<option value=6> 6 </option>" & chr(10)
StrHtml2 = StrHtml2 & "</select>" & chr(10)
StrHtml = Replace(StrHtml, "{post_btn}", StrHtml2)
StrHtml2 = ""
for i = 1 to 36
if i =19 then StrHtml2 = StrHtml2 & "<br>"
StrHtml2 = StrHtml2 & " <img src=""image/emot/" & i & ".gif"" alt = ""[em"& i& "]"" style=""CURSOR: hand"" onClick=""insertstr('[em" & i &"]')""> "
next
StrHtml = Replace(StrHtml, "{emot_icon}", StrHtml2)
StrHtml = Replace(StrHtml, "{subject}", server.htmlencode(posttitle))
StrHtml = Replace(StrHtml, "{text}", rs2("pagetext"))
if rs2("showsignature") = 1 then
StrHtml = Replace(StrHtml, "{sign_box}", "<input type=""checkbox"" name=""sign"" value=""1"" checked>")
else
StrHtml = Replace(StrHtml, "{sign_box}", "<input type=""checkbox"" name=""sign"" value=""1"">")
end if
if rs2("allowsmilie") = 1 then
StrHtml = Replace(StrHtml, "{emot_box}", "<input type=""checkbox"" name=""useemot"" value=""1"" checked>")
else
StrHtml = Replace(StrHtml, "{emot_box}", "<input type=""checkbox"" name=""useemot"" value=""1"">")
end if
if rs2("allowautourl") = 1 then
StrHtml = Replace(StrHtml, "{url_box}", "<input type=""checkbox"" name=""url"" value=""1"" checked>")
else
StrHtml = Replace(StrHtml, "{url_box}", "<input type=""checkbox"" name=""url"" value=""1"">")
end if
if rs2("allowxbcode") = 1 then
StrHtml = Replace(StrHtml, "{xbcode_box}", "<input type=""checkbox"" name=""usexbcode"" value=""1"" checked>")
else
StrHtml = Replace(StrHtml, "{xbcode_box}", "<input type=""checkbox"" name=""usexbcode"" value=""1"">")
end if
' 產生隱含值
if postid <> -1 then
StrHtml = Replace(StrHtml, "{hidden_field}", "<input type=""hidden"" name=""postid"" value=""" & postid & """>")
else
StrHtml = Replace(StrHtml, "{hidden_field}", "<input type=""hidden"" name=""threadid"" value=""" & threadid & """>")
end if
StrHtml = Replace(StrHtml, "{thread_title}", threadtitle)
response.write StrHtml
response.write sfcopyright
end select
response.write loadtemplate("htmlbottom")
Conn.Close
Set Conn = nothing
Set rs = nothing
Set rs2 = nothing
set ip = nothing
set strip = nothing
set killip = nothing
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -