Snitz Forums 2000
Snitz Forums 2000
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Snitz Forums 2000 MOD-Group
 MOD Add-On Forum (W/O Code)
 Stick/Edit topic question
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

philsbbs
Junior Member

United Kingdom
397 Posts

Posted - 19 April 2009 :  17:49:45  Show Profile  Reply with Quote
Hi,

I want to automatically send a private message to an author when a moderator or administrator edits or makes there topic sticky or unsticky.

Has anyone done such coding on there forum that they wish to share.

Thanks in advance.

Phil

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 22 April 2009 :  02:21:01  Show Profile  Reply with Quote
I haven't, no, but I'll write it for you tonight.
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 22 April 2009 :  09:11:27  Show Profile  Reply with Quote
Here you are.

In "pop_lock.asp", look for the following lines (appx 192-196):


	case "StickyTopic"
		strEncodedPassword = sha256("" & strPassword)
		mLev = cLng(chkUser(strDBNTFUserName, strEncodedPassword,-1))
		if mLev > 0 then  '## is Member
			if (chkForumModerator(Forum_ID, strDBNTFUserName) = "1") or (mLev = 4) then


Replace them with the following:

	case "StickyTopic"
		strEncodedPassword = sha256("" & strPassword)
		mLev = cLng(chkUser(strDBNTFUserName, strEncodedPassword,-1))
		if mLev > 0 then  '## is Member
			if (chkForumModerator(Forum_ID, strDBNTFUserName) = "1") or (mLev > 2) then
				strSql="SELECT M.M_EMAIL, M.M_NAME, M.MEMBER_ID, T.T_AUTHOR, T.T_SUBJECT, T.TOPIC_ID FROM " & strMemberTablePrefix &_
				"MEMBERS M INNER JOIN " & strTablePrefix & "TOPICS T ON (T.T_AUTHOR=M.MEMBER_ID AND T.TOPIC_ID="& Topic_ID &")"
				set rsPost=my_Conn.Execute(strSql)
				if not rsPost.EOF then
					strT2=rsPost("T_SUBJECT")
					strT3=rsPost("M_EMAIL")
					strT4=rsPost("M_NAME")
				end if
				rsPost.Close
				set rsPost=Nothing
				strRecipients = chkString(strT3,"SQLString")
				strRecipientsName = chkString(strT4,"SQLString")
				strFrom = strSender
				strFromName = strForumTitle
				strsubject = strForumTitle & " Sticky Topic Change, "&strRecipientsName
				strMessage = strMessage & "Your topic on "& strForumTitle &", titled: "& chr(34)& strT2 & chr(34) &" was made sticky by staff member: "& strDBNTFUserName& vbNewLine& "Link:  "&strForumURL& "topic.asp?topic_id="&Topic_ID & vbNewLine
				%>
				<!--#INCLUDE FILE="inc_mail.asp" -->
				<%


Then, in "pop_open.asp", look for the following lines (appx 156-160):


	case "UnStickyTopic"
		strEncodedPassword = sha256("" & strPassword)
		mLev = cLng(ChkUser(strDBNTFUserName, strEncodedPassword,-1)) 
		if mLev > 0 then  '## is Member
			if (chkForumModerator(Forum_ID, strDBNTFUserName) = "1") or (mLev = 4) then


Replace them with the following:

	case "UnStickyTopic"
		strEncodedPassword = sha256("" & strPassword)
		mLev = cLng(ChkUser(strDBNTFUserName, strEncodedPassword,-1))
		if mLev > 0 then  '## is Member
			if (chkForumModerator(Forum_ID, strDBNTFUserName) = "1") or (mLev > 2) then
				strSql="SELECT M.M_EMAIL, M.M_NAME, M.MEMBER_ID, T.T_AUTHOR, T.T_SUBJECT, T.TOPIC_ID FROM " & strMemberTablePrefix &_
				"MEMBERS M INNER JOIN " & strTablePrefix & "TOPICS T ON (T.T_AUTHOR=M.MEMBER_ID AND T.TOPIC_ID="& Topic_ID &")"
				set rsPost=my_Conn.Execute(strSql)
				if not rsPost.EOF then
					strT2=rsPost("T_SUBJECT")
					strT3=rsPost("M_EMAIL")
					strT4=rsPost("M_NAME")
				end if
				rsPost.Close
				set rsPost=Nothing
				strRecipients = chkString(strT3,"SQLString")
				strRecipientsName = chkString(strT4,"SQLString")
				strFrom = strSender
				strFromName = strForumTitle
				strsubject = strForumTitle & " Sticky Topic Change, "&strRecipientsName
				strMessage = strMessage & "Your topic on "& strForumTitle &", titled: "& chr(34)& strT2 & chr(34) &" was made un-sticky by staff member: "& strDBNTFUserName& vbNewLine& "Link:  "&strForumURL& "topic.asp?topic_id="&Topic_ID & vbNewLine
				%>
				<!--#INCLUDE FILE="inc_mail.asp" -->
				<%

Edited by - Carefree on 22 April 2009 15:13:06
Go to Top of Page

philsbbs
Junior Member

United Kingdom
397 Posts

Posted - 23 April 2009 :  05:08:11  Show Profile  Reply with Quote
Thanks it works a treat, is it possible to have it also send a private message as well as a email ??


Phil
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 23 April 2009 :  05:29:31  Show Profile  Reply with Quote
Sure. I'll add that today for you.
Go to Top of Page

Carefree
Advanced Member

Philippines
4207 Posts

Posted - 23 April 2009 :  05:59:54  Show Profile  Reply with Quote
To also send a PM to the topic's author, replace the routines as follows.

"pop_lock.asp"


	case "StickyTopic"
		strEncodedPassword = sha256("" & strPassword)
		mLev = cLng(chkUser(strDBNTFUserName, strEncodedPassword,-1))
		if mLev > 0 then  '## is Member
			if (chkForumModerator(Forum_ID, strDBNTFUserName) = "1") or (mLev > 2) then
				strSql="SELECT M.M_EMAIL, M.M_NAME, M.MEMBER_ID, T.T_AUTHOR, T.T_SUBJECT, T.TOPIC_ID FROM " & strMemberTablePrefix &_
				"MEMBERS M INNER JOIN " & strTablePrefix & "TOPICS T ON (T.T_AUTHOR=M.MEMBER_ID AND T.TOPIC_ID="& Topic_ID &")"
				set rsPost=my_Conn.Execute(strSql)
				if not rsPost.EOF then
					T1=rsPost("T_AUTHOR")
					strT2=rsPost("T_SUBJECT")
					strT3=rsPost("M_EMAIL")
					strT4=rsPost("M_NAME")
				end if
				rsPost.Close
				set rsPost=Nothing
				strRecipients = chkString(strT3,"SQLString")
				strRecipientsName = chkString(strT4,"SQLString")
				strFrom = strSender
				strFromName = strForumTitle
				strsubject = strForumTitle & " Sticky Topic Change, "&strRecipientsName
				strMessage = strMessage & "Your topic on "& strForumTitle &", titled: "& chr(34)& strT2 & chr(34) &" was made sticky by staff member: "& strDBNTFUserName& vbNewLine& "Link:  "&strForumURL& "topic.asp?topic_id="&Topic_ID & vbNewLine
				%>
				<!--#INCLUDE FILE="inc_mail.asp" -->
				<%
				strSql="INSERT INTO " & strTablePrefix & "PM (M_SUBJECT, M_MESSAGE, M_TO, M_FROM, M_SENT, M_MAIL, M_READ, M_OUTBOX) VALUES ('" & strSubject & "', '" & strMessage & "', " & t1 & ", " & MEMBERID & ", '" & DateToStr(strForumTimeAdjust) & "', " & "0,0,1)"
				Response.Write	strSql


"pop_open.asp"


				strSql="SELECT M.M_EMAIL, M.M_NAME, M.MEMBER_ID, T.T_AUTHOR, T.T_SUBJECT, T.TOPIC_ID FROM " & strMemberTablePrefix &_
				"MEMBERS M INNER JOIN " & strTablePrefix & "TOPICS T ON (T.T_AUTHOR=M.MEMBER_ID AND T.TOPIC_ID="& Topic_ID &")"
				set rsPost=my_Conn.Execute(strSql)
				if not rsPost.EOF then
					T1=rsPost("T_AUTHOR")
					strT2=rsPost("T_SUBJECT")
					strT3=rsPost("M_EMAIL")
					strT4=rsPost("M_NAME")
				end if
				rsPost.Close
				set rsPost=Nothing
				strRecipients = chkString(strT3,"SQLString")
				strRecipientsName = chkString(strT4,"SQLString")
				strFrom = strSender
				strFromName = strForumTitle
				strsubject = strForumTitle & " Sticky Topic Change, "&strRecipientsName
				strMessage = strMessage & "Your topic on "& strForumTitle &", titled: "& chr(34)& strT2 & chr(34) &" was made un-sticky by staff member: "& strDBNTFUserName& vbNewLine& "Link:  "&strForumURL& "topic.asp?topic_id="&Topic_ID & vbNewLine
				%>
				<!--#INCLUDE FILE="inc_mail.asp" -->
				<%
				strSql="INSERT INTO " & strTablePrefix & "PM (M_SUBJECT, M_MESSAGE, M_TO, M_FROM, M_SENT, M_MAIL, M_READ, M_OUTBOX) VALUES ('" & strSubject & "', '" & strMessage & "', " & t1 & ", " & MEMBERID & ", '" & DateToStr(strForumTimeAdjust) & "', " & "0,0,1)"
				Response.Write	strSql

Edited by - Carefree on 23 April 2009 06:04:07
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Snitz Forums 2000 © 2000-2021 Snitz™ Communications Go To Top Of Page
This page was generated in 0.1 seconds. Powered By: Snitz Forums 2000 Version 3.4.07