<% end if %>
<%
Response.Expires=0
Dim Con
Dim rsQuery
Dim strAction
Dim strSubmit
Dim intID
Dim intReplies
Dim strName
Dim strTopic
Dim strMessage
'Need to initialise all Database stuff first!
Set Con = Server.CreateObject("ADODB.Connection")
Set rsQuery = Server.CreateObject("ADODB.Recordset")
strAction = Request.QueryString("Action")
strSubmit = Request.Form("Submit")
'response.write request.servervariables("PATH_TRANSLATED")
'response.end
'Con.Open "Provider=SQLOLEDB;DATA SOURCE=DARKANGEL;DATABASE=www;UID=www;PWD=www"
'strConAccess = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("BulletinBoard.mdb")&""
Con.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("forum/www.mdb")&""
'Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\inetpub\wwwroot\message\www.mdb;Mode=ReadWrite"
'If they have the cookie then log them in
'Cookie code shyte
If Session("Username") = "" Then
If Request.Cookies("NEVERGUESSUsername") <> "" Then
Set rsQuery = Con.Execute("SELECT Password,Admin,Username,LastLogin FROM UserDB WHERE Username='" & Request.Cookies("NEVERGUESSUsername") & "'")
If NOT rsQuery.EOF Then
If Request.Cookies("NEVERGUESSPassword") = rsQuery("Password").Value Then
'set sessions
Session("Username") = "[" & rsQuery("Username").Value & "]"
Application("Users" & Session("Start")) = Session("Username")
Session("Admin") = rsQuery("Admin").Value
If Session("LastLogin")="" Then
Session("LastLogin") = rsQuery("LastLogin").Value
Con.Execute "UPDATE UserDB SET LastLogin='" & Now() & "' WHERE Username='" & rsQuery("Username").Value & "'"
end if
End If
End If
End If
end if
intID = Request.QueryString("id")
If intID = "" Then intID = 0
If strSubmit = "" Then strSubmit = " "
If strAction = "" Then strAction = " "
If strAction <> "ipban" Then
Con.Execute "INSERT INTO LogDB([Username], IP, MsgID, SubmitCmd, [Action], [Admin]) valueS('" & Session("Username") & "', '" & Request.ServerVariables("REMOTE_ADDR") & "' , " & intID & ", '" & strSubmit & "', '" & strAction & "','" & Session("Admin") & "')"
Else
'Con.Execute "INSERT INTO LogDB(Username, IP, MsgID, SubmitCmd, Action, Admin, Comments) valueS('" & Session("Username") & "', '" & Request.ServerVariables("REMOTE_ADDR") & "' , 0, '" & strSubmit & "', '" & strAction & "','" & Session("Admin") & "', 'IP:" & intID & " is banned.')"
end if
Select Case strAction
Case "builtincodes"
%>
<%
Case "emoticons"
%> <%
Case "display"
Response.Write "
Users Currently Online:
"
For i = 1 to 10
Response.Write "
" & Application("Users" & i ) & "
"
Next
Response.Write "
"
Case "filter"
If Session("Admin") = "True" Then
Set rsQuery = Con.Execute("SELECT Message FROM MessageDB WHERE ID=" & intID)
If rsQuery.Eof Then
Response.Write "Invalid Post to filter."
Response.End
end if
'Lower Case
strMessage = rsQuery("Message").Value
strMessage = Replace(strMessage,"faggot","****")
strMessage = Replace(strMessage,"fagget","****")
strMessage = Replace(strMessage,"fucking","****")
strMessage = Replace(strMessage,"fuckin","****")
strMessage = Replace(strMessage,"shit","****")
strMessage = Replace(strMessage,"fuck","****")
strMessage = Replace(strMessage,"pussy","****")
strMessage = Replace(strMessage,"pussie","****")
strMessage = Replace(strMessage,"dick","****")
strMessage = Replace(strMessage,"cunt","****")
strMessage = Replace(strMessage,"fag","****")
strMessage = Replace(strMessage,"bitch","****")
'Upper case
strMessage = Replace(strMessage,"FAGGOT","****")
strMessage = Replace(strMessage,"FAGGET","****")
strMessage = Replace(strMessage,"FUCKING","****")
strMessage = Replace(strMessage,"FUCKIN","****")
strMessage = Replace(strMessage,"SHIT","****")
strMessage = Replace(strMessage,"FUCK","****")
strMessage = Replace(strMessage,"PUSSY","****")
strMessage = Replace(strMessage,"PUSSIE","****")
strMessage = Replace(strMessage,"DICK","****")
strMessage = Replace(strMessage,"CUNT","****")
strMessage = Replace(strMessage,"FAG","****")
strMessage = Replace(strMessage,"BITCH","****")
'Proper Gramma
strMessage = Replace(strMessage,"Faggot","****")
strMessage = Replace(strMessage,"Fagget","****")
strMessage = Replace(strMessage,"Fucking","****")
strMessage = Replace(strMessage,"Fuckin","****")
strMessage = Replace(strMessage,"Shit","****")
strMessage = Replace(strMessage,"Fuck","****")
strMessage = Replace(strMessage,"Pussy","****")
strMessage = Replace(strMessage,"Pussie","****")
strMessage = Replace(strMessage,"Dick","****")
strMessage = Replace(strMessage,"Cunt","****")
strMessage = Replace(strMessage,"Fag","****")
strMessage = Replace(strMessage,"Bitch","****")
strMessage = Replace(strMessage,"'","''")
strMessage = Replace(strMessage,Chr(34), Chr(34) & Chr(34))
Con.Execute "UPDATE MessageDB SET Message='" & strMessage & "' WHERE ID=" & intID
Response.Redirect "./discussion_forum.asp"
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "delpost"
If Session("Admin") = "True" Then
Set rsQuery = Con.Execute("SELECT ReplyID FROM MessageDB WHERE ID=" & intID)
If rsQuery.Eof Then
Response.Write "Invalid Post! Cannot delete."
Response.End
end if
intReplyID = rsQuery("ReplyID").Value
Set rsQuery = Con.Execute("SELECT Replies FROM MessageDB WHERE ID=" & intReplyID)
ReplyCnt = rsQuery("Replies").Value
Con.Execute "UPDATE MessageDB SET Replies=" & ReplyCnt - 1 & " WHERE ID=" & intReplyID
Con.Execute "DELETE FROM MessageDB WHERE ID=" & intID
Response.redirect "./discussion_forum.asp"
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "ipban"
If Session("Admin") = "True" Then
Con.Execute "INSERT INTO IPBanDB(IP) valueS('" & intID & "')"
Response.write "The IP:" & intID & " has now been banned from posting and replying."
Response.end
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "edit"
If Session("Admin") = "True" Then
If strSubmit = "Submit" Then
strMessage = Request.Form("txtMessage")
strMessage = Replace(strMessage, chr(13), " ")
strMessage = Replace(strMessage,"'","''")
strTopic = request.form("txtTopic")
strTopic = Replace(strTopic,"'","''")
strname = request.form("txtName")
strname = Replace(strname,"'","''")
'strMessage = strMessage & "
"
Con.Execute "UPDATE MessageDB SET Poster='" & strname & "', Subject='" & strTopic & "', Message='" & strMessage & "' WHERE ID=" & intID
Response.Redirect "./discussion_forum.asp"
Else
Set rsQuery = Con.Execute("SELECT * FROM MessageDB WHERE ID=" & intID)
If rsQuery.Eof Then
Response.write "Invalid Message to Edit!"
response.end
end if
%>
<%
end if
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "lock"
If Session("Admin") = "True" Then
Con.Execute("UPDATE MessageDB SET Locked=1 WHERE ID=" & intID)
Con.Execute("UPDATE MessageDB SET Locked=1 WHERE ReplyID=" & intID)
Response.Redirect "discussion_forum.asp"
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "unlock"
If Session("Admin") = "True" Then
Con.Execute("UPDATE MessageDB SET Locked=0 WHERE ID=" & intID)
Con.Execute("UPDATE MessageDB SET Locked=0 WHERE ReplyID=" & intID)
Response.Redirect "discussion_forum.asp"
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
Case "delete"
If Session("Admin") = "True" Then
Con.Execute("DELETE FROM MessageDB WHERE ID=" & intID)
Con.Execute("DELETE FROM MessageDB WHERE ReplyID=" & intID)
Response.Redirect "discussion_forum.asp"
Else
Response.Write "Sorry you don't have permision to perform this task."
End if
' ********************************************************************
' Everything below here is the "Post" page
' ********************************************************************
Case "post"
If strSubmit = "Submit" Then
'// Here we need to do all the database processing
'// and updating.
strName = CheckFields
strMessage = FilterGeneralMessage
strMessage = IsBanned(strMessage)
strMessage = ApplyBuiltInCommands(strMessage)
strMessage = ApplyEmoticons(strMessage)
strMessage = AttachSig(strMessage)
strMessage = Replace(strMessage,"'","''")
strTopic = Replace(strTopic,"'","''")
strName = Replace(strName,"'","''")
If len(strName) >100 Then
Response.Write "Name is too long"
Response.End
Elseif len(strTopic) >100 Then
Response.Write "Subject is too long"
Response.End
ElseIf len(strMessage) > 3000 Then
Response.Write "Sorry! Message is slightly too long - There is a 3000 letter limit. Please click your browser's back button and edit your message slightly."
Response.End
strMessage = Left(strMessage,3000)
strMessage2 = Right(strMessage, Len(strMessage)-3000)
If len(strMessage2) > 3000 Then
strMessage2 = Left(strMessage2,3000)
strMessage3 = Right(strMessage2, Len(strMessage2)-3000)
If len(strMessage3) > 3000 Then
strMessage3 = Left(strMessage3,3000)
strMessage4 = Right(strMessage3, Len(strMessage3)-3000)
If len(strMessage4) > 3000 Then
strMessage4 = Left(strMessage4,3000)
strMessage5 = Right(strMessage4, Len(strMessage4)-3000)
If len(strMessage5) > 3000 Then
strMessage5 = Left(strMessage5,3000)
strMessage6 = Right(strMessage5, Len(strMessage5)-3000)
end if
end if
end if
end if
end if
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,IP,Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage & "','" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
Set rsQuery = Con.Execute("SELECT ID FROM MessageDB WHERE Poster='" & strName & "' AND Subject='" & strTopic & "' AND LastPoster=''")
If not rsQuery.Eof Then
TmpintID = rsQuery("ID").Value
'Log statement
Con.Execute "INSERT INTO LogDB([Username], IP, MsgID, SubmitCmd, [Action], [Admin], Comments) valueS('" & Session("Username") & "', '" & Request.ServerVariables("REMOTE_ADDR") & "' , " & intID & ", '" & strSubmit & "', '" & strAction & "','" & Session("Admin") & "','Posted Message No. " & TmpintID & "')"
If strMessage2 <> "" Then
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,ReplyID, IP, Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage2 & "'," & IntID & ",'" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
End if
If strMessage3 <> "" Then
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,ReplyID, IP, Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage3 & "'," & IntID & ",'" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
end if
If strMessage4 <> "" Then
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,ReplyID, IP, Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage4 & "'," & IntID & ",'" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
end if
If strMessage5 <> "" Then
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,ReplyID, IP, Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage5 & "'," & IntID & ",'" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
end if
If strMessage6 <> "" Then
Con.Execute("INSERT INTO MessageDB(Poster,Subject,LastPoster,Message,ReplyID, IP, Icon) valueS('" & strName & "','" & strTopic & "','','" & strMessage6 & "'," & IntID & ",'" & Request.ServerVariables("REMOTE_ADDR") & "'," & Request.Form("Icon") & ") ")
end if
end if
Dim oMailSite, oMailUser, sBody, email
email = "discussion@brunel200.com"
sBody = "Brunel 200 Discussion Forum Posting Approval " & vbCrLF & vbCrLf & _
"User Name : " & strName & vbCrLf & _
"Topic: " & strTopic & vbCrLf & _
"message : " & strMessage & strMessage2 & strMessage3 & strMessage4 & strMessage5 & strMessage6 & vbcrLf & _
"Click here to approve this: http://www.brunel200.com/learning/approvepost.asp?messageid="&TmpintID
'Response.Write(sBody)
'Send details to main site
Set oMailSite = Server.CreateObject("CDONTS.NewMail")
oMailSite.MailFormat = 1
oMailSite.BodyFormat = 1
oMailSite.From = email
oMailSite.To = "dbond@availablelight.tv"
oMailSite.Subject = "Brunel 200 Discussion Forum Posting Approval"
oMailSite.Body = sBody
oMailSite.Send
Set oMailSite = nothing
Response.Redirect "moderation.asp"
Else
%>
<%
Set rsQuery = Con.Execute("SELECT * FROM MessageDB WHERE Approved=Yes and ReplyID=" & intId & " ORDER BY Time DESC")
WHILE NOT rsQuery.EOF
%>
<%=rsQuery("Subject").Value%>
<%=rsQuery("Poster").Value%>
<%=rsQuery("Time").Value%>
<%=rsQuery("Message").Value%>
<%
rsQuery.MoveNext
WEND
Else
Response.write "Error has occured: Invalid Post"
End If
End If
' ********************************************************************
' Everything below here is the READ page
' ********************************************************************
Case "read"
Set rsQuery = Con.Execute("SELECT * FROM MessageDB WHERE ID=" & intId)
If Not rsQuery.EOF Then
strTemp = rsQuery("Locked")
If strTemp = False Then
%>
<% End If %>
<%
Set rsQuery = Con.Execute("SELECT * FROM MessageDB WHERE Approved=Yes and ReplyID=" & intID & " ORDER BY ID ASC")
WHILE NOT rsQuery.EOF
%>
<% End If
End If
' ********************************************************************
' Everything below here is the main topic list - discussion home page
' ********************************************************************
Case Else
Set rsQuery = Con.Execute("SELECT * FROM MessageDB WHERE ReplyID=0 AND Approved=YES ORDER BY Time DESC")
%>