T O P I C R E V I E W |
elvis711 |
Posted - 29 March 2007 : 11:37:31 New guy here--I inherited our forums and am in no way shape or form a programmer. I am wanting to know if it is possible to modify what is sent to subscribers when a post/reply is made? Currently the forum subject is sent. My subscribers are asking if the forum "message" can include the actual message, instead of just the subject. Thanks for any assistance< |
15 L A T E S T R E P L I E S (Newest First) |
Carefree |
Posted - 23 September 2011 : 01:11:57 Tested the code above on a stock 3.4.06 installation here and does not give an error. |
korray |
Posted - 22 September 2011 : 17:03:31 any updates, any one? |
Carefree |
Posted - 20 September 2011 : 22:41:43 I'll install a 3.4.06 forum and test it here. |
korray |
Posted - 20 September 2011 : 17:35:54 this did not help to solve the problem. |
Carefree |
Posted - 20 September 2011 : 13:09:15 quote: Originally posted by korray
another error with the updated code:
Microsoft VBScript compilation error '800a0400'
Expected statement
/disabb/inc_subscription.asp, line 188
End If ^
Delete that line |
korray |
Posted - 20 September 2011 : 12:47:29 another error with the updated code:
Microsoft VBScript compilation error '800a0400'
Expected statement
/disabb/inc_subscription.asp, line 188
End If ^ |
Carefree |
Posted - 19 September 2011 : 18:30:26 Oops, sorry - forgot to post the 3.4.06 version. See above. |
korray |
Posted - 19 September 2011 : 17:25:33 Thanks a lot for your help Carefree. I tried the new code, but it gives the following error. Can you check it out?
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/disabb/inc_subscription.asp, line 127
|
Carefree |
Posted - 19 September 2011 : 15:51:38 That was quite some time ago, I'll look at it - but that code was for version 3.4.07 - I'll have to check differences.
This is 3.4.06 compatible.
<%
'###############################################################################
'##
'## Snitz Forums 2000 v3.4.07
'##
'###############################################################################
'##
'## Copyright © 2000-09 Michael Anderson, Pierre Gorissen,
'## Huw Reddick and Richard Kinser
'##
'## This program is free. You can redistribute and/or modify it under the
'## terms of the GNU General Public License as published by the Free Software
'## Foundation; either version 2 or (at your option) any later version.
'##'## All copyright notices regarding Snitz Forums 2000 must remain intact in
'## the scripts and in the HTML output. The "powered by" text/logo with a
'## link back to http://forum.snitz.com in the footer of the pages MUST
'## remain visible when the pages are viewed on the internet or intranet.
'##
'## This program is distributed in the hope that it will be useful but
'## WITHOUT ANY WARRANTY; without even an implied warranty of MERCHANTABILITY
'## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
'## for more details.
'##
'## You should have received a copy of the GNU General Public License along
'## with this program; if not, write to:
'##
'## Free Software Foundation, Inc.
'## 59 Temple Place, Suite 330
'## Boston, MA 02111-1307
'##
'## Support can be obtained from our support forums at:
'##
'## http://forum.snitz.com
'##
'## Correspondence and marketing questions can be sent to:
'##
'## manderson@snitz.com
'##
'###############################################################################
Sub ProcessSubScriptions (pMemberId, CatID, ForumId, TopicId, Moderation)
ThisMemberID = MemberID
If strSubscription = 0 or strEmail = 0 Then
Exit Sub
End If
strSql = "SELECT C.CAT_SUBSCRIPTION, C.CAT_NAME, F.F_SUBJECT, F.F_SUBSCRIPTION, T.T_SUBJECT, M.M_NAME " & _
" FROM " & strTablePrefix & "CATEGORY C, " & _
" " & strTablePrefix & "FORUM F, " & _
" " & strTablePrefix & "TOPICS T, " & _
" " & strMemberTablePrefix & "MEMBERS M " & _
" WHERE C.CAT_ID = " & CatID & " AND F.FORUM_ID = " & ForumID & _
" AND T.TOPIC_ID = " & TopicID & " AND M.MEMBER_ID = " & pMemberID
Set rsSub = Server.CreateObject("ADODB.Recordset")
rsSub.Open strSql, my_Conn
If not (RsSub.EOF or RsSub.BOF) Then
Set rsSub = Nothing
Exit Sub
Else
allSubsData = rsSub.GetRows(adGetRowsRest)
SubCnt = UBound(allSubsData,2)
rsSub.Close
Set rsSub = Nothing
End If
CatSubscription = allSubsData(0, 0)
CatName = allSubsData(1, 0)
ForumName = allSubsData(2, 0)
ForumSubscription = allSubsData(3, 0)
TopicName = allSubsData(4, 0)
MemberName = allSubsData(5, 0)
If CatSubscription = 0 or ForumSubscription = 0 Then
Exit Sub
End If
If strSubscription = 4 or CatSubscription = 3 or ForumSubscription = 2 Then
SubLevel = "TOPIC"
ElseIf strSubscription = 3 Then
SubLevel = "FORUM"
ElseIf CatSubscription > 1 Then
SubLevel = "FORUM"
ElseIf strSubscription > 1 Then
SubLevel = "CATEGORY"
Else
SubLevel = "ALL"
End If
If Moderation <> "No" Then
strSql = "SELECT MOD_ID from " & strTablePrefix & "MODERATOR"
Set modCheck = Server.CreateObject("ADODB.Recordset")
modCheck.Open strSql, my_Conn
If modCheck.EOF or modCheck.BOF Then
strUniqueModID = "none"
Else
strUniqueModID = modCheck("Mod_ID")
End If
modCheck.Close
Set modCheck = Nothing
Else
strUniqueModID = "none"
End If
strSql = "SELECT S.MEMBER_ID, S.CAT_ID, S.TOPIC_ID, S.FORUM_ID, S.LAST_EMAIL, M.M_EMAIL, M.M_NAME, M.M_LASTHEREDATE" & _
" FROM " & strTablePrefix & "SUBSCRIPTIONS S, " & strMemberTablePrefix & "MEMBERS M"
If Moderation <> "No" and strUniqueModID <> "none" Then
strSql = strSql & ", " & strTablePrefix & "MODERATOR Mo"
End If
strSql = strSql & " WHERE S.MEMBER_ID <> " & pMemberID & _
" AND S.MEMBER_ID <> " & ThisMemberID & _
" AND M.MEMBER_ID = S.MEMBER_ID" & _
" AND M.M_STATUS <> 0" & _
" AND (S.TOPIC_ID = " & TopicId
If SubLevel <> "TOPIC" Then
strSql = strSql & " OR (S.CAT_ID = " & CatID & " AND S.FORUM_ID = " & ForumID & " AND S.TOPIC_ID = 0)"
End If
If SubLevel = "CATEGORY" or SubLevel = "ALL" Then
strSql = strSql & " OR (S.CAT_ID = " & CatID & " AND S.FORUM_ID = 0 AND S.TOPIC_ID = 0)"
End If
If SubLevel = "ALL" Then
strSql = strSql & " OR (S.CAT_ID = 0 AND S.FORUM_ID = 0 AND S.TOPIC_ID = 0)"
End If
strSql = strSql & ")"
If Moderation <> "No" Then
StrSql = StrSql & " AND ((M.M_LEVEL > 2"
If strUniqueModID = "none" Then
strSql = strSql & "))"
Else
strSql = strSql & " AND Mo.MOD_ID = " & strUniqueModID & ") OR (M.M_LEVEL = 2 AND S.MEMBER_ID = Mo.MEMBER_ID AND Mo.FORUM_ID = " & ForumId & "))"
End If
End If
Set rsLoop = Server.CreateObject("ADODB.Recordset") : rsLoop.Open strSql, my_Conn
If not (rsLoop.EOF or rsLoop.BOF) Then
allLoopData = rsLoop.GetRows(adGetRowsRest) : LoopCount = UBound(allLoopData,2)
rsLoop.Close
Set rsLoop = Nothing
For iSub = 0 to LoopCount
LoopMemberID = allLoopData(0, iSub)
LoopCatID = allLoopData(1, iSub)
LoopForumID = allLoopData(2, iSub)
LoopTopicID = allLoopData(3, iSub)
LoopMemberName = allLoopData(4, iSub)
LoopMemberEmail = allLoopData(5, iSub)
If chkForumAccess(ForumID, LoopMemberID, false) <> FALSE Then
strSql = "SELECT R_MESSAGE, REPLY_ID from " & strTablePrefix & "REPLY WHERE TOPIC_ID = " & TopicID & " ORDER BY REPLY_ID DESC"
Set rsRpl = my_Conn.Execute(strSql)
If not rsRpl.EOF Then
strNewMessage=rsRpl("R_MESSAGE")
rsRpl.Close
Else
strSql = "SELECT T_MESSAGE FROM " & strTablePrefix & "TOPICS WHERE TOPIC_ID=" & TopicID
Set rsMsg = my_Conn.Execute(strSql)
If not rsMsg.EOF Then
strNewMessage=rsMsg("T_MESSAGE")
rsMsg.Close
End If
Set rsMsg=Nothing
End If
strRecipientsName = LoopMemberName
strRecipients = LoopMemberEmail
strMessage = "Hello " & LoopMemberName & vbNewline & vbNewline
If LoopCatID > 0 Then
if LoopForumID > 0 then
If LoopTopicID > 0 Then
strSubject = strForumTitle & " - Reply to a posting in " & ForumName & " - " & TopicName
strMessage = strMessage & MemberName & " has replied to the topic '" & TopicName & "' on the forum '" & ForumName & "' at " & strForumTitle & " that you requested notification on. " & vbNewline & vbNewline
strMessage = strMessage & "Subject: " & TopicName & vbNewline & vbNewline
strMessage = strMessage & "Message: " & vbNewline & "==========================" & vbNewline
strMessage = strMessage & StripCode(strNewMessage) & vbNewline & "==========================" & vbNewline & vbNewline & vbNewline
Else
strSubject = strForumTitle & " - New posting in " & ForumName & " - " & TopicName
strMessage = strMessage & MemberName & " has posted the following to the forum '" & ForumName & "' at " & strForumTitle & " that you requested notification on. " & vbNewline & vbNewline
strMessage = strMessage & "Subject: " & TopicName & vbNewline & vbNewline
strMessage = strMessage & "Message: " & vbNewline & "==========================" & vbNewline
strMessage = strMessage & StripCode(strNewMessage) & vbNewline & "==========================" & vbNewline & vbNewline & vbNewline
End If
Else
strSubject = strForumTitle & " - New posting in " & ForumName & " - " & TopicName
strMessage = strMessage & MemberName & " has replied to the topic '" & TopicName & "' on the forum '" & ForumName & "' in the category '" & CatName & "' at " & strForumTitle & " that you requested notification on. " & vbNewline & vbNewline
strMessage = strMessage & "Subject: " & TopicName & vbNewline & vbNewline
strMessage = strMessage & "Message: " & vbNewline & "==========================" & vbNewline
strMessage = strMessage & StripCode(strNewMessage) & vbNewline & "==========================" & vbNewline & vbNewline & vbNewline
End If
Else
strSubject = strForumTitle & " - New posting"
strMessage = strMessage & MemberName & " has posted to the " & strForumTitle & " board that you requested notification on. "
End If
strMessage = strMessage & "You can view the posting at " & strForumURL & "topic.asp?whichpage=-1&TOPIC_ID=" & TopicId & vbNewline
strMessage = strMessage & "<br><br>Manage your subscriptions at " & strForumURL & "subscription_list.asp" & vbNewline
%>
<!--#INCLUDE FILE="inc_mail.asp" -->
<%
end if
Next
End If
End Sub
Function PullSubscriptions(sCatID, sForumID, sTopicID)
If strSubscription = "0" or lcase(strEmail) <> "1" or mLev = 0 Then
PullSubscriptions = "" : Exit Function
End If
Dim BoardSubs, CatSubs, ForumSubs, TopicSubs, rsSub, SubCnt, allSubData, iSub
Dim SubCatID, SubForumID, SubTopicID
subStrSQL = "SELECT CAT_ID, FORUM_ID, TOPIC_ID " & _
" FROM " & strTablePrefix & "SUBSCRIPTIONS" & _
" WHERE MEMBER_ID = " & MemberID
subStrSQL = subStrSQL & GetCheck("CAT_ID", Clng(sCatID))
subStrSQL = subStrSQL & GetCheck("FORUM_ID", Clng(sForumID))
subStrSQL = subStrSQL & GetCheck("TOPIC_ID", Clng(sTopicID))
Set rsSub = Server.CreateObject("ADODB.Recordset")
rsSub.Open subStrSQL, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
If rsSub.EOF or rsSub.BOF Then
SubCnt = ""
PullSubscriptions = ""
Else
allSubData = rsSub.GetRows(adGetRowsRest)
SubCnt = UBound(allSubData,2)
rsSub.Close
End If
Set rsSub = Nothing
If SubCnt = "" Then
PullSubscriptions = ""
Else
BoardSubs = "N"
CatSubs = 0
ForumSubs = 0
TopicSubs = 0
For iSub = 0 to SubCnt
SubCatID = allSubData(0, iSub)
SubForumID = allSubData(1, iSub)
SubTopicID = allSubData(2, iSub)
If SubCatID = 0 Then
BoardSubs = "Y"
ElseIf SubForumID = 0 Then
If CatSubs > "" Then
CatSubs = CatSubs & ","
End If
CatSubs = CatSubs & SubCatID
ElseIf SubTopicID = 0 Then
If ForumSubs > "" Then
ForumSubs = ForumSubs & ","
End If
ForumSubs = ForumSubs & SubForumID
Else
If TopicSubs > "" Then TopicSubs = TopicSubs & ","
TopicSubs = TopicSubs & SubTopicID
End If
Next
PullSubscriptions = BoardSubs & ";" & CatSubs & ";" & ForumSubs & ";" & TopicSubs
End If
End Function
Function GetCheck(ObjectName, ObjectID)
If ObjectID > 0 Then
GetCheck = " AND " & ObjectName & " = " & ObjectID
ElseIf ObjectID = -99 Then
GetCheck = " AND " & ObjectName & " = 0"
Else
GetCheck = ""
End If
End Function
Function ShowSubLink (SubOption, CatID, ForumID, TopicID, ShowText)
Dim DefaultFont
DefaultFont = "<font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>"
Dim StandardLinkInfo, LinkText, LinkIcon, LinkLevel, LinkParam
If Instr(Request.ServerVariables("SCRIPT_NAME"),"post.asp") Then
If SubOption = "S" Then
ShowSubLink = "<input type=""checkbox"" name=""Tnotify"" value=""1"" />Check here to subscribe to this topic."
Else
ShowSubLink = "<input type=""checkbox"" name=""Tnotify"" value=""0"" />Check here to unsubscribe from this topic."
End If
Else
StandardLinkInfo = "<a href=""Javascript:"
If SubOption = "U" Then
StandardLinkInfo = StandardLinkInfo & "unsub_confirm"
Else
StandardLinkInfo = StandardLinkInfo & "openWindow"
End If
StandardLinkInfo = StandardLinkInfo & "('pop_subscription.asp?SUBSCRIBE=" & SubOption & "&MEMBER_ID=" & MemberID & "&LEVEL="
LinkParam = ""
If CatID = 0 Then
LinkLevel = "BOARD"
Else
LinkParam = "&CAT_ID=" & CatID
If ForumID = 0 Then
LinkLevel = "CAT"
Else
LinkParam = LinkParam & "&FORUM_ID=" & ForumID
If TopicID = 0 Then
LinkLevel = "FORUM"
Else
LinkLevel = "TOPIC" : LinkParam = LinkParam & "&TOPIC_ID=" & TopicID
End If
End If
End If
If SubOption = "U" Then
LinkIcon = strIconUnsubscribe
select case LinkLevel
case "BOARD" : LinkText = "Unsubscribe from this board"
case "CAT" : LinkText = "Unsubscribe from this category"
case "FORUM" : LinkText = "Unsubscribe from this forum"
case "TOPIC" : LinkText = "Unsubscribe from this topic"
End select
Else
LinkIcon = strIconSubscribe
select case LinkLevel
case "BOARD" : LinkText = "Subscribe to this board"
case "CAT" : LinkText = "Subscribe to this category"
case "FORUM" : LinkText = "Subscribe to this forum"
case "TOPIC" : LinkText = "Subscribe to this topic"
End select
End If
ShowSubLink = StandardLinkInfo & LinkLevel & LinkParam & "')"">" & getCurrentIcon(LinkIcon, LinkText,"align=""absmiddle""" & dwStatus(LinkText)) & "</a>"
If ShowText <> "N" Then
ShowSubLink = ShowSubLink & " " & StandardLinkInfo & LinkLevel & LinkParam & "')""" & dwStatus(LinkText) & ">" & DefaultFont & LinkText & "</font></a>"
End If
End If
End Function
Function StripCode(ByVal fString)
If fString = "" Then
fString = " empty string test"
ElseIf strAllowForumCode = "1" Then
fStringLeft = ""
fFound = False
Do While InStr(fString, "[")
fFound = True
fStringLeft = fStringLeft & " " & Left(fString, InStr(fString, "[")-1)
fString = MID(fString, InStr(fString, "]") + 1)
Loop
StripCode = fStringLeft & fString
If Not fFound Then
StripCode = fString
End If
ElseIf strAllowHTML = "1" Then
fStringLeft = ""
fFound = False
Do While InStr(fString, "<")
fFound = True
fStringLeft = fStringLeft & " " & Left(fString, InStr(fString, "<")-1)
fString = MID(fString, InStr(fString, ">") + 1)
Loop
StripCode = fStringLeft & fString
If Not fFound Then
StripCode = fString
End If
End If
If strBadWordFilter = "1" Then
fString = ChkBadWords(fString)
End If
StripCode = fString
End Function
Response.Write " <script language=""JavaScript"" type=""text/javascript"">" & vbNewLine & _
" <!--" & vbNewLine & _
" function unsub_confirm(link){" & vbNewLine & _
" var where_to= confirm(""Do you really want to Unsubscribe?"");" & vbNewLine & _
" if (where_to== true) {" & vbNewLine & _
" popupWin = window.open(link,'new_page','width=400,height=400')" & vbNewLine & _
" }" & vbNewLine & _
" }" & vbNewLine & _
" //-->" & vbNewLine & _
" </script>" & vbNewLine
%>
|
korray |
Posted - 19 September 2011 : 11:11:32 hey I am new here. I just tried the code Carefree sent, but I get an empty message like below:
Message: ==========================
==========================
or:
Message: ========================== empty string test ==========================
I am using the exact code you sent and running: [Snitz Forums 2000 Version 3.4.06]
can you please help or send me the latest version that inc_subscription.asp file? thanks a lot. |
desmo907 |
Posted - 14 March 2010 : 12:04:06 I did here:
http://forum.snitz.com/forum/topic.asp?TOPIC_ID=69208
Thanks for the help. |
Carefree |
Posted - 14 March 2010 : 10:40:10 You should start a new topic with this request so people can search and follow it. quote: Now I just need to figure out how to add another user variable to the Author column (it just shows the ID and Country and # of posts). I had changed one of the Member details "Occupation" to "Team" in various files and would like that to post under the ID.
|
desmo907 |
Posted - 13 March 2010 : 16:57:09 Congrads and Thank you. This works well. I assume if anyone uses the formatting commands that code will just be embedded within the message as well but that's fine as many may not use it anyway.
Now I just need to figure out how to add another user variable to the Author column (it just shows the ID and Country and # of posts). I had changed one of the Member details "Occupation" to "Team" in various files and would like that to post under the ID.
Results are:
-------------------------------
Hello m
admin has replied to the topic 'Forum Registration & Getting Started' on the forum 'Forum Information' at Windsor Men's Softball League that you requested notification on.
Subject: Forum Registration & Getting Started Message:
========================== Game is off
field under water
==========================
You can view the posting at http://www.windsorsoftball.com/forum/topic.asp?TOPIC_ID=6 |
Carefree |
Posted - 13 March 2010 : 12:19:45 Delete the & " at the end of the line. |
desmo907 |
Posted - 13 March 2010 : 08:30:28 Now the site won't work and I get this in my browser:
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
/forum/inc_subscription.asp, line 171
strSql = "SELECT T_MESSAGE FROM " & strTablePrefix & "TOPICS WHERE TOPIC_ID=" & LoopTopicID & " -----------------------------------------------------------------------------------------------^
|
|
|