sub EmailBirthdays '##
'#######################################################
strSql = " SELECT * FROM " & strMemberTablePrefix & "MEMBERS_BDATES ORDER BY DOB "
set rs = my_Conn.Execute(strSql)
if rs.EOF then
'no birthdays at all :D
else
'bTodayFound = False
rs.movefirst
do while not(rs.EOF)
idmembro = rs("MEMBER_ID")
sentmail = rs("M_SENTEMAIL")
If sentmail = 0 then
if DateToStr(rs("DOB")&"235900") > DateToStr(todaysdate) and DateToStr(rs("DOB")&"000000") < DateToStr(todaysdate) then
' bTodayFound = true
strSQL1 = " SELECT M_NAME, M_EMAIL, M_RECEIVE_EMAIL FROM " & strMemberTablePrefix & "MEMBERS "
strSQL1 = strSQL1 & " WHERE MEMBER_ID = " & idmembro
set rsmail= my_Conn.Execute(strSQL1)
mricevimail = rsmail("M_RECEIVE_EMAIL")
strFromName = strForumTitle
strRecipientsName = rsMail("M_NAME")
strRecipients = rsMail("M_EMAIL")
strSender = strSender
strSubject = "Buon Compleanno!!"
strMessage = "Ciao " & strRecipientsName & vbNewline & vbNewline
strMessage = strMessage & "Tanti Auguri di buon Compleanno da tutti noi!!" & vbNewline & vbNewline
strMessage = strMessage & "Da: " & strForumURL & vbNewline & vbNewline
htmlflag = 0
if mricevimail = "1" then
%><!--#INCLUDE FILE="inc_mail.asp" --><%
end if
strMessage =""
rsmail.close
set rsmail = nothing
strSql = " UPDATE " & strMemberTablePrefix & "MEMBERS_BDATES SET M_SENTEMAIL = 1 WHERE MEMBER_ID = " & idmembro
my_Conn.Execute (strSql)
end if
end if
rs.Movenext
loop
' rs.movefirst
end if
rs.close
set rs = nothing
End sub '### EmailBirthdays ###
PrepBdayTables
WriteBirthdays
if strBirthMail = "1" and strEmail = "1" then
EmailBirthdays
end if
Response.Write " </TD></TR></TABLE>" & vbNewLine
Response.Write "</TD></TR>" & vbNewLine
Response.Write "</TABLE>" & vbNewLine
'### Birthday Mod - Must Use Birthdate in Member Profile - Huntress Beta v2.0 ###
DateToStr(rs("DOB")&"235900") > DateToStr(todaysdate)
Function BirthMail
strSql = "SELECT M_NAME, MEMBER_ID, M_EMAIL, M_RECEIVE_EMAIL, M_DOB, M_SENT_DOBMAIL FROM " & strMemberTablePrefix & "MEMBERS WHERE MID(M_DOB,5)='" & MID(DATETOSTR(STRFORUMTIMEADJUST),5,4) & "' ORDER BY M_DOB"
set rsBirthMail = my_Conn.Execute(strSql)
if not rsBirthMail.EOF then
rsBirthMail.MoveFirst
Do while not rsBirthMail.EOF
strSent=rsBirthMail("M_SENT_DOBMAIL")
strYY=left(DatetoStr(strForumTimeAdjust),4)
If isNull(strSent) or (strSent <> strYY) then
strFromName = strForumTitle
strRecipientsName = rsBirthMail("M_NAME")
strRecipients = rsBirthMail("M_EMAIL")
strSender = strSender
strSubject = "Happy Birthday!"
strMessage = "Dear " & rsBirthMail("M_NAME")
strMessage = strMessage & "<br><br>Happy birthday from everyone at <a href=" & strForumURL & ">" & strForumTitle & "</a>." & vbNewline & vbNewline
htmlflag = 0
if rsBirthMail("M_RECEIVE_EMAIL") = 1 then
%><!--#INCLUDE FILE="inc_mail_html.asp" --><%
end if
strMessage =""
strSql = " UPDATE " & strMemberTablePrefix & "MEMBERS SET M_SENT_DOBMAIL = '" & strYY & "' WHERE MEMBER_ID = " & rsBirthMail("MEMBER_ID")
my_Conn.Execute(strSql)
end if
rsBirthMail.MoveNext
Loop
rsBirthMail.Close
end if
set rsBirthMail = Nothing
End Function
Search for the following lines (appx 11-17):
%>
<!--#INCLUDE FILE="cal_functions.asp"-->
<LINK rel="stylesheet" href="cal_style.asp" type="text/css">
<%
After those lines, insert the following:
BirthMail
Originally posted by Carefree
It shouldn't be trying to read it as a function, it's reading a portion of a string value.
Function BirthMail
strSql = "SELECT M_NAME, MEMBER_ID, M_EMAIL, M_RECEIVE_EMAIL, M_DOB, M_SENT_DOBMAIL FROM " & strMemberTablePrefix & "MEMBERS WHERE "
if strDBType="sqlserver" or strDBType="mysql" then
strSql = strSql & "SUBSTRING(M_DOB,5,4) ='" & MID(DATETOSTR(STRFORUMTIMEADJUST),5,4) & "' ORDER BY M_DOB"
else
strSql = strSql & "MID(M_DOB,5) ='" & MID(DATETOSTR(STRFORUMTIMEADJUST),5,4) & "' ORDER BY M_DOB"
end if
set rsBirthMail = my_Conn.Execute(strSql)
if not rsBirthMail.EOF then
rsBirthMail.MoveFirst
Do while not rsBirthMail.EOF
strSent=rsBirthMail("M_SENT_DOBMAIL")
strYY=left(DatetoStr(strForumTimeAdjust),4)
If isNull(strSent) or (strSent <> strYY) then
strFromName = strForumTitle
strRecipientsName = rsBirthMail("M_NAME")
strRecipients = rsBirthMail("M_EMAIL")
strSender = strSender
strSubject = "Happy Birthday!"
strMessage = "Dear " & rsBirthMail("M_NAME")
strMessage = strMessage & "<br><br>Happy birthday from everyone at <a href=" & strForumURL & ">" & strForumTitle & "</a>." & vbNewline & vbNewline
htmlflag = 0
if rsBirthMail("M_RECEIVE_EMAIL") = 1 then
%><!--#INCLUDE FILE="inc_mail_html.asp" --><%
end if
strMessage =""
strSql = " UPDATE " & strMemberTablePrefix & "MEMBERS SET M_SENT_DOBMAIL = '" & strYY & "' WHERE MEMBER_ID = " & rsBirthMail("MEMBER_ID")
my_Conn.Execute(strSql)
end if
rsBirthMail.MoveNext
Loop
rsBirthMail.Close
end if
set rsBirthMail = Nothing
End Function