lngCampaignIDNew Or (intCounter=UBound(arrData, 2)) Then
'count zone
'In Each zone committ percentage of impressions to this even campaign
If lngAvailable<0 Then
'Not available
lngPercentAvailable=0
Else
'Available
'First Scale lngZoneImpressions
If lngMinutesDifference<=0 Then
lngPercentAvailable=1
Else
If lngZoneImpressions>0 Then
lngZoneImpressions=(lngZoneImpressions/lngMinutesDifference)*lngMinutesDifferenceSinceHourStarted
lngPercentAvailable=(lngAvailable/lngZoneImpressions)*1000
If lngPercentAvailable>1000 Then
'lngPercentAvailable=1000
End If
Else
lngPercentAvailable=1
End If
End If
End If
lngZoneImpressions=0
If IsNumeric(lngPercentAvailable)=False Then
lngPercentAvailable=0
End If
Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString"))
strSQL2="sp_BMP_UpdateZoneCampaignWeightings " & Clng(lngPercentAvailable) & "," & CLng(lngCampaignID)
connBanManProLocal.Execute strSQL2,,AdExecuteNoRecords
closeConnection connBanManProLocal
End If
' End If
Next
End if
'reset all zone impressions
Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString"))
strSQL="sp_BMP_RetrieveZoneIDs"
Set rsLocalTemp=connBanManProLocal.Execute(strSQL)
Do While Not rsLocalTemp.EOF
strZoneName="BMPZoneImpressions_" & rsLocalTemp("ZoneID")
Application.Lock
Application(strZoneName)=0
Application.Unlock
rsLocalTemp.MoveNext
Loop
'close database connection
Set rsLocalTemp=Nothing
closeConnection connBanManProLocal
End If
End Sub
'*************************************************************************************************
' Sub for Sending Email Reports To Advertisers
'*************************************************************************************************
Sub SendBanManProEmailReports(Period)
Dim lngAdvertiserID,lngImpressions,lngClicks,strHeader,strEmail,strTemp,lngAdvertiserIDNew
Dim strAdminMessage,lngAdminImpression,lngAdminClicks,datYesterday,rsLocalTemp
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
'grab yesterday's date
datYesterday=FormatDateTime(DateAdd("d",-1,Date()),vbShortDate)
'Execute Stored procedure based on yesterday or weekly stats
If Period=1 Then
strSQL="sp_BMP_ObtainYesterdaysStats"
Set rsLocalTemp=connBanManPro.Execute(strSQL)
strBMPSubject="Daily Advertising Report for " & datYesterday
ElseIf Period=7 Then
strSQL="sp_BMP_ObtainWeeklyStats"
Set rsLocalTemp=connBanManPro.Execute(strSQL)
strBMPSubject="Weekly Advertising Report Ending " & datYesterday
End If
If Not rsLocalTemp.EOF Then
lngAdvertiserID=rsLocalTemp("AdvertiserID")
lngAdvertiserIDNew=rsLocalTemp("AdvertiserID")
End If
'Loop Through And Email Reports
strHeader= "Campaign Name Impressions Clicks Click Rate" & Chr(10)
strHeader=strHeader & "-------------------------------------------------------------------" & Chr(10)
strBMPMessage=strHeader
Do While Not rsLocalTemp.EOF
lngImpressions=lngImpressions+rsLocalTemp("SumOfImpressionCount")
lngClicks=lngClicks+rsLocalTemp("SumOfClicks")
lngAdminImpression=lngAdminImpression+rsLocalTemp("SumOfImpressionCount")
lngAdminClicks=lngAdminClicks+rsLocalTemp("SumOfClicks")
strEmail=rsLocalTemp("Email")
If Len(rsLocalTemp("CampaignName")) >= 24 Then
strTemp=strTemp & Left(rsLocalTemp("CampaignName"),24) & "... "
Else
strTemp=strTemp & rsLocalTemp("CampaignName") & String(29-Len(rsLocalTemp("CampaignName"))," ")
End If
strTemp=strTemp & rsLocalTemp("SumOfImpressionCount") & String(18-Len(rsLocalTemp("SumOfImpressionCount"))," ")
strTemp=strTemp & rsLocalTemp("SumOfClicks") & String(13-Len(rsLocalTemp("SumOfClicks"))," ")
If rsLocalTemp("SumOfImpressionCount")>0 Then
strTemp=strTemp & FormatPercent((rsLocalTemp("SumOfClicks")/rsLocalTemp("SumOfImpressionCount"))) & Chr(10)
Else
strTemp=strTemp & FormatPercent(0) & Chr(10)
End If
strAdminMessage=strAdminMessage & strTemp
rsLocalTemp.MoveNext
If Not rsLocalTemp.EOF Then
lngAdvertiserIDNew=rsLocalTemp("AdvertiserID")
End If
If (lngAdvertiserIDNew <> lngAdvertiserID) OR rsLocalTemp.EOF=True Then
'Send Message To Advertiser
strBMPMailServer=Application("MailServer")
strSMPRecipient=strEmail
strBMPMessage=strHeader & strTemp & Chr(10)
strBMPMessage=strBMPMessage & "-------------------------------------------------------------------" & Chr(10)
strBMPMessage=strBMPMessage & "Totals " & lngImpressions & String(18-Len(lngImpressions)," ") & lngClicks & String(13-Len(lngClicks)," ")
If lngImpressions>0 Then
strBMPMessage=strBMPMessage & FormatPercent((lngClicks/lngImpressions)) & Chr(10)
Else
strBMPMessage=strBMPMessage & FormatPercent(0) & Chr(10)
End If
strBMPFrom=Application("AdministratorEmail")
%>
<%
'*************************************************************************
'* Product: Ban Man Pro Version 3
'* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved.
'*************************************************************************
arrTemp=Split(Application("AdministratorEmail"),",")
strBMPFrom=arrTemp(0)
arrRecipients=Split(strSMPRecipient,",")
intCnt=0
'******* CDONTS Mail ********************************************************
If Application("MailProgram") = "CDONTS Mail" Then
Set Mailer = Server.CreateObject("CDONTS.NewMail")
Mailer.To = strSMPRecipient
Mailer.From = strSMPRecipient
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Send
Set Mailer = nothing
Set Mailer = nothing
'******* J Mail ********************************************************
ElseIf Application("MailProgram") = "J Mail" Then
Set Mailer = Server.CreateObject("JMail.SMTPMail")
Mailer.ServerAddress = strBMPMailServer
Mailer.Sender = strBMPFrom
Mailer.SenderName =strBMPFrom
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipientEx arrRecipients(intCnt), arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Execute
Set Mailer = nothing
'******* Simple Mail ********************************************************
ElseIf Application("MailProgram") = "Simple Mail" Then
Set Mailer = Server.CreateObject("SimpleMail.smtp.1")
Mailer.OpenConnection strBMPMailServer
Mailer.SendMail strSMPRecipient, strSMPRecipient, strBMPSubject, strBMPMessage
Mailer.CloseConnection
Mailer.OpenConnection strBMPMailServer
Set Mailer = nothing
'******* ASP Mail ********************************************************
ElseIf Application("MailProgram") = "ASP Mail" Then
Set Mailer = Server.CreateObject("SMTPSVG.Mailer")
Mailer.RemoteHost = strBMPMailServer
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient " ", arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.FromAddress = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.BodyText = strBMPMessage
Mailer.SendMail
Set Mailer = nothing
'******* ASP Mail ********************************************************
ElseIf Application("MailProgram") = "Persits ASP EMail" Then
Set Mailer = Server.CreateObject("Persits.MailSender")
Mailer.Host = strBMPMailServer
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddAddress arrRecipients(intCnt)," "
intCnt=intCnt+1
Loop
Mailer.From = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Send
Set Mailer = nothing
'******* AB Mail ********************************************************
ElseIf Application("MailProgram")= "AB Mail" Then
Set Mailer = Server.CreateObject("ABMailer.Mailman")
Mailer.Clear
Mailer.SendTo = strSMPRecipient
Mailer.ReplyTo = strBMPFrom
Mailer.MailSubject = strBMPSubject
Mailer.MailDate =""
Mailer.ServerAddr = strBMPMailServer
Mailer.MailMessage = strBMPMessage
Mailer.SendMail
Set Mailer = nothing
'******* Bamboo Mail ****************************************************
ElseIf Application("MailProgram") = "Bamboo Mail" Then
Set Mailer = Server.CreateObject("Bamboo.SMTP")
Mailer.Server = strBMPMailServer
Mailer.RCPT = strSMPRecipient
Mailer.From = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.Message = strBMPMessage
Mailer.Send
Set Mailer = nothing
'******* OCX Mail ********************************************************
ElseIf Application("MailProgram") = "OCX Mail" Then
Set Mailer = Server.CreateObject("ASPMail.ASPMailCtrl.1")
Mailer.SendMail strBMPMailServer, strSMPRecipient, strBMPFrom, strBMPSubject, strBMPMessage
Set Mailer = nothing
'******* OCX Mail ********************************************************
ElseIf Application("MailProgram") = "OCXQMail" Then
Set Mailer = Server.CreateObject("OCXQmail.OCXQmailCtrl.1")
mailServer = strBMPMailServer
mailer.SendAt(Now)
result = mailer.Q(mailServer, _
strBMPFrom, _
strBMPFrom, _
priority, _
"", _
strSMPRecipient, _
ccAddressList, _
bccAddressList, _
attachmentList, _
strBMPSubject, _
strBMPMessage)
Set Mailer = nothing
'******* Software Artisans SMTPMail **************************************
ElseIf Application("MailProgram") = "SA SMTPMail" Then
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.FromName = strBMPFrom
Mailer.FromAddress = strBMPFrom
Mailer.bodytext=strBMPMessage
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient arrRecipients(intCnt), arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.subject =strBMPSubject
Mailer.RemoteHost = strBMPMailServer
Mailer.SendMail
Set Mailer = nothing
'******* QuickSoft EasyMail Objects **************************************
ElseIf Application("MailProgram") = "QuickSoft EasyMail Objects" Then
Set Mailer = CreateObject("EasyMail.SMTP.5")
Mailer.MailServer = strBMPMailServer
Mailer.Subject = strBMPSubject
Mailer.BodyText = strBMPMessage
Mailer.From = strBMPFrom
Mailer.FromAddr = strBMPFrom
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient arrRecipients(intCnt), arrRecipients(intCnt), 1
intCnt=intCnt+1
Loop
x = Mailer.Send
Set Mailer = nothing
End If
%>
<%
strTemp=""
lngImpressions=0
lngClicks=0
lngAdvertiserID=lngAdvertiserIDNew
End If
Loop
If (Application("BanManProDailyReport") <> 0 And Period=1) Then
strSQL="sp_BMP_ObtainYesterdaysStatsAdmin"
Set rsLocalTemp=connBanManPro.Execute(strSQL)
strBMPSubject="Daily Advertising Report for " & datYesterday
ElseIf (Application("BanManProWeeklyReport") <> 0 And Period=7) Then
strSQL="sp_BMP_ObtainWeeklyStatsAdmin"
Set rsLocalTemp=connBanManPro.Execute(strSQL)
strBMPSubject="Weekly Advertising Report Ending " & datYesterday
End If
strAdminMessage=""
strTemp=""
'Loop Through And Email Reports
lngAdminImpression=0
lngAdminClicks=0
Do While Not rsLocalTemp.EOF
lngAdminImpression=lngAdminImpression+rsLocalTemp("SumOfImpressionCount")
lngAdminClicks=lngAdminClicks+rsLocalTemp("SumOfClicks")
If Len(rsLocalTemp("CampaignName")) >= 24 Then
strTemp=strTemp & Left(rsLocalTemp("CampaignName"),24) & "... "
Else
strTemp=strTemp & rsLocalTemp("CampaignName") & String(29-Len(rsLocalTemp("CampaignName"))," ")
End If
strTemp=strTemp & rsLocalTemp("SumOfImpressionCount") & String(18-Len(rsLocalTemp("SumOfImpressionCount"))," ")
strTemp=strTemp & rsLocalTemp("SumOfClicks") & String(13-Len(rsLocalTemp("SumOfClicks"))," ")
If rsLocalTemp("SumOfImpressionCount")>0 Then
strTemp=strTemp & FormatPercent((rsLocalTemp("SumOfClicks")/rsLocalTemp("SumOfImpressionCount"))) & Chr(10)
Else
strTemp=strTemp & FormatPercent(0) & Chr(10)
End If
strAdminMessage=strAdminMessage & strTemp
strTemp=""
rsLocalTemp.MoveNext
Loop
If strAdminMessage<>"" Then
'Send Administrator Reports
strBMPMailServer=Application("MailServer")
strSMPRecipient=Application("AdministratorEmail")
strBMPFrom=Application("AdministratorEmail")
strBMPMessage=strHeader & strAdminMessage & Chr(10)
strBMPMessage=strBMPMessage & "-------------------------------------------------------------------" & Chr(10)
strBMPMessage=strBMPMessage & "Totals " & lngAdminImpression & String(18-Len(lngAdminImpression)," ") & lngAdminClicks & String(13-Len(lngAdminClicks)," ")
If lngAdminImpression>0 Then
strBMPMessage=strBMPMessage & FormatPercent((lngAdminClicks/lngAdminImpression)) & Chr(10)
Else
strBMPMessage=strBMPMessage & FormatPercent(0) & Chr(10)
End If
%>
<%
'*************************************************************************
'* Product: Ban Man Pro Version 3
'* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved.
'*************************************************************************
arrTemp=Split(Application("AdministratorEmail"),",")
strBMPFrom=arrTemp(0)
arrRecipients=Split(strSMPRecipient,",")
intCnt=0
'******* CDONTS Mail ********************************************************
If Application("MailProgram") = "CDONTS Mail" Then
Set Mailer = Server.CreateObject("CDONTS.NewMail")
Mailer.To = strSMPRecipient
Mailer.From = strSMPRecipient
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Send
Set Mailer = nothing
Set Mailer = nothing
'******* J Mail ********************************************************
ElseIf Application("MailProgram") = "J Mail" Then
Set Mailer = Server.CreateObject("JMail.SMTPMail")
Mailer.ServerAddress = strBMPMailServer
Mailer.Sender = strBMPFrom
Mailer.SenderName =strBMPFrom
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipientEx arrRecipients(intCnt), arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Execute
Set Mailer = nothing
'******* Simple Mail ********************************************************
ElseIf Application("MailProgram") = "Simple Mail" Then
Set Mailer = Server.CreateObject("SimpleMail.smtp.1")
Mailer.OpenConnection strBMPMailServer
Mailer.SendMail strSMPRecipient, strSMPRecipient, strBMPSubject, strBMPMessage
Mailer.CloseConnection
Mailer.OpenConnection strBMPMailServer
Set Mailer = nothing
'******* ASP Mail ********************************************************
ElseIf Application("MailProgram") = "ASP Mail" Then
Set Mailer = Server.CreateObject("SMTPSVG.Mailer")
Mailer.RemoteHost = strBMPMailServer
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient " ", arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.FromAddress = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.BodyText = strBMPMessage
Mailer.SendMail
Set Mailer = nothing
'******* ASP Mail ********************************************************
ElseIf Application("MailProgram") = "Persits ASP EMail" Then
Set Mailer = Server.CreateObject("Persits.MailSender")
Mailer.Host = strBMPMailServer
intCnt=0
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddAddress arrRecipients(intCnt)," "
intCnt=intCnt+1
Loop
Mailer.From = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.Body = strBMPMessage
Mailer.Send
Set Mailer = nothing
'******* AB Mail ********************************************************
ElseIf Application("MailProgram")= "AB Mail" Then
Set Mailer = Server.CreateObject("ABMailer.Mailman")
Mailer.Clear
Mailer.SendTo = strSMPRecipient
Mailer.ReplyTo = strBMPFrom
Mailer.MailSubject = strBMPSubject
Mailer.MailDate =""
Mailer.ServerAddr = strBMPMailServer
Mailer.MailMessage = strBMPMessage
Mailer.SendMail
Set Mailer = nothing
'******* Bamboo Mail ****************************************************
ElseIf Application("MailProgram") = "Bamboo Mail" Then
Set Mailer = Server.CreateObject("Bamboo.SMTP")
Mailer.Server = strBMPMailServer
Mailer.RCPT = strSMPRecipient
Mailer.From = strBMPFrom
Mailer.FromName = strBMPFrom
Mailer.Subject = strBMPSubject
Mailer.Message = strBMPMessage
Mailer.Send
Set Mailer = nothing
'******* OCX Mail ********************************************************
ElseIf Application("MailProgram") = "OCX Mail" Then
Set Mailer = Server.CreateObject("ASPMail.ASPMailCtrl.1")
Mailer.SendMail strBMPMailServer, strSMPRecipient, strBMPFrom, strBMPSubject, strBMPMessage
Set Mailer = nothing
'******* OCX Mail ********************************************************
ElseIf Application("MailProgram") = "OCXQMail" Then
Set Mailer = Server.CreateObject("OCXQmail.OCXQmailCtrl.1")
mailServer = strBMPMailServer
mailer.SendAt(Now)
result = mailer.Q(mailServer, _
strBMPFrom, _
strBMPFrom, _
priority, _
"", _
strSMPRecipient, _
ccAddressList, _
bccAddressList, _
attachmentList, _
strBMPSubject, _
strBMPMessage)
Set Mailer = nothing
'******* Software Artisans SMTPMail **************************************
ElseIf Application("MailProgram") = "SA SMTPMail" Then
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.FromName = strBMPFrom
Mailer.FromAddress = strBMPFrom
Mailer.bodytext=strBMPMessage
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient arrRecipients(intCnt), arrRecipients(intCnt)
intCnt=intCnt+1
Loop
Mailer.subject =strBMPSubject
Mailer.RemoteHost = strBMPMailServer
Mailer.SendMail
Set Mailer = nothing
'******* QuickSoft EasyMail Objects **************************************
ElseIf Application("MailProgram") = "QuickSoft EasyMail Objects" Then
Set Mailer = CreateObject("EasyMail.SMTP.5")
Mailer.MailServer = strBMPMailServer
Mailer.Subject = strBMPSubject
Mailer.BodyText = strBMPMessage
Mailer.From = strBMPFrom
Mailer.FromAddr = strBMPFrom
Do While intCnt<=Ubound(arrRecipients)
Mailer.AddRecipient arrRecipients(intCnt), arrRecipients(intCnt), 1
intCnt=intCnt+1
Loop
x = Mailer.Send
Set Mailer = nothing
End If
%>
<%
End If
Set rsLocalTemp=Nothing
'close database connection
closeConnection connBanManPro
End Sub
'*************************************************************************************************
' Function for Directly Serving Image called by ID
'*************************************************************************************************
Sub ServeBanManProAdDirectly(AdvertiserID,BannerID,CampaignID,ZoneID,SiteID,Mode)
Dim strImageURL,blnAdFragment,strBMPCode,strBMPCode2,rsTemp,rsLocalTemp
If IsNumeric(SiteID)=False Then
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
Set rsTemp=connBanManPro.Execute("sp_BMP_RetrieveSiteIDBySiteName '" & SiteID & "'")
If Not rsTemp.EOF Then
SiteID=rsTemp("SiteID")
Else
SIteID=0
End If
Set rsTemp=Nothing
End If
CountBanManProImpression AdvertiserID,BannerID,CampaignID,ZoneID,SiteID,True
strImageURL=""
'Serve Ad Based on Mode
If Mode="HTML" Then
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
'Retrieve ImageURL
strSQL="sp_BMP_RetrieveImageURLByBannerID " & Clng(BannerID)
Set rsLocalTemp=connBanManPro.Execute(strSQL)
If Not rsLocalTemp.EOF Then
strImageURL=(rsLocalTemp("AdImageURL"))
Else
strImageURL="blank.gif"
End If
Set rsLocalTemp=Nothing
closeConnection connBanManPro
ElseIF Mode="TEXT" Then
strImageURL="blank.gif"
Else
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
'Grab Banner information for this BannerID
strSQL="sp_BMP_RetrieveBannerByBannerID " & Clng(BannerID)
Set rsLocalTemp=connBanManPro.Execute(strSQL)
If Not rsLocalTemp.EOF Then
IF (rsLocalTemp("AdNewWindow")=False AND rsLocalTemp("AdFragment")<>False AND Request("Browser")="NETSCAPE4") Then
blnAdFragment=False
Else
blnAdFragment=rsLocalTemp("AdFragment")
End If
'now create code for this banner
strBMPCode=GetCode(ZoneID, CampaignID, AdvertiserID, BannerID, rsLocalTemp("AdTargetURL"), rsLocalTemp("AdAltText"), rsLocalTemp("AdImageURL"), rsLocalTemp("AdBorder"), rsLocalTemp("AdWidth"), rsLocalTemp("AdHeight"), rsLocalTemp("AdAlign"), rsLocalTemp("AdNewWindow"), rsLocalTemp("AdTextUnderneath"), Application("DomainURL"), Mode,blnAdFragment,"",SiteID,Request("Browser"))
Else
strBMPCode=" "
End IF
'destroy recordset, close connection
Set rsLocalTemp=Nothing
closeConnection connBanManPro
If Request.QueryString("Browser")="NETSCAPE4" Then
If Request.QueryString("NoCache")="True" Then
Response.Buffer=True
Response.ContentType="application/x-javascript"
strBMPCode=Replace(strBMPCode,"'","\'")
strBMPCode2=Replace(strBMPCode,vbCRLF," ")
Response.Write "document.write('" & strBMPCode2 & "'); "
Else
Response.Buffer=True
Response.ContentType="application/x-javascript"
strBMPCode=Replace(strBMPCode,"'","\'")
strBMPCode2="adcode='" & strBMPCode & "'"
Response.Write Replace(strBMPCode2,vbCRLF," ")
End If
Else
Response.Write strBMPCode
End If
End If
'Send Image to browser
If strImageURL <> "" Then
Response.Redirect strImageURL
End If
End Sub
'*************************************************************************************************
' Function for Checking if a Zone Exists
' Usage: Exists=CheckIfBanManProZoneExists(ZoneValue,ZoneIDOrName)
' Example: Exists=CheckIfBanManProZoneExists(4,"ID") 'call by ID
' Example2: Exists=CheckIfBanManProZoneExists("MyZoneName","ZoneName") 'call by name
' Return Value: Function returns true or false
'*************************************************************************************************
Function CheckIfBanManProZoneExists(ZoneValue,ZoneIDOrName)
Dim connBanManProLocal
If ZoneIDOrName="ID" Then
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
'Execute Stored Proceedure
Set rsBanManProLocal=connBanManPro.Execute("sp_BMP_RetrieveZoneID " & Clng(ZoneValue))
If Not rsBanManProLocal.EOF Then
CheckIfBanManProZoneExists=True
Else
CheckIfBanManProZoneExists=False
End If
Set rsBanManProLocal=Nothing
'close database connection
closeConnection connBanManPro
ElseIf ZoneIDOrName="ZoneName" Then
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
'Execute Stored Proceedure
Set rsBanManProLocal=connBanManPro.Execute("sp_BMP_RetrieveZoneIDByZoneName '" & ZoneValue & "'")
If Not rsBanManProLocal.EOF Then
CheckIfBanManProZoneExists=True
Else
CheckIfBanManProZoneExists=False
End If
Set rsBanManProLocal=Nothing
'close database connection
closeConnection connBanManPro
Else
CheckIfBanManProZoneExists=False
End If
End Function
'***************************************************************************
' Function to establish database connection
'***************************************************************************
Function gConnADODB (ConnectString)
Dim Conn
Set Conn = Server.Createobject("ADODB.Connection")
Conn.ConnectionTimeout = 5
Conn.Open ConnectString
Set gConnADODB = Conn
End Function
'***************************************************************************
' Function to create command object
'***************************************************************************
Function getCommand (Conn)
Dim Cmd
Set Cmd = Server.CreateObject("ADODB.Command")
Set Cmd.ActiveConnection = Conn
Set getCommand = Cmd
End Function
'***************************************************************************
' Function to close database connection
'***************************************************************************
Sub closeConnection (Conn)
If (IsObject(Conn) ) Then
Conn.Close
Set Conn= Nothing
End If
End Sub
''''''''''''''''''''Change blank fields to " " '''''''''''''''''''''''''''''''''''''''''''
Function FixBlank(strBMPParameter)
If Trim(strBMPParameter)="" Then
FixBlank=" "
Else
FixBlank=Replace(strBMPParameter,"'","''")
End If
End Function
'''''''''''''''''''''Change color to Hex'''''''''''''''''''''''''''''''''''''''''''''''''
Function FixHex(strData)
If InStr(strData,"#")>0 Then
FixHex=strData
Else
FixHex="#" & strData
End If
End Function
'********** This Function Creates the HTML code returned to a browser*********************
''''''''''''create ad code '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GetCode(ZoneID, CampaignID, AdvertiserID, BannerID, AdTargetURL, AdAltText, AdImageURL, AdBorder, AdWidth, AdHeight, AdAlign, AdNewWindow, AdTextUnderneath, DomainURL, ZoneMode,AdFragment,AdCode,SiteID,NS4,AdTargetParams)
Dim AddNewWindow,strTemp,strTemp2
strBMPAdCode=""
strBMPDomString=""
'Retrieve Random Number for cache defeating
lngRandom2=Int(Rnd*100000)
'Remove Spaces
If Trim(AdImageURL)<>"" Then
If Instr(AdImageURL," ")>0 Then
'Replace [RandomNumber] with a random number
If InStr(AdImageURL,"[RandomNumber]") >0 Then
strBMPAdCode=Replace(AdImageURL,"[RandomNumber]",lngRandom2)
End If
If InStr(AdImageURL,"[timestamp]") >0 Then
strBMPAdCode=Replace(AdImageURL,"[timestamp]",lngRandom2)
End If
AdImageURL=Server.URLPathEncode(AdImageURL)
End If
End If
If AdFragment=True Then
'Establish Database Connection
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
strSQL="sp_BMP_ObtainAdCode " & BannerID
Set rsBanManPro=connBanManPro.Execute(strSQL)
strBMPAdCode=rsBanManPro("AdCodeNetscape")
If AdNewWindow=False And Trim(NS4)<>"" Then
If Trim(strBMPAdCode) ="" And NS4="NETSCAPE4" Then
AdFragment=False
End If
Else
strBMPAdCode=rsBanManPro("AdCode")
End If
'Close Connection
Set rsBanManPro=Nothing
closeConnection connBanManPro
End If
If AdFragment <> True Then
'create URL string
strBMPDomString=DomainURL & "?Task=Click&ZoneID=" & ZoneID & "&CampaignID=" & CampaignID & "&AdvertiserID=" & AdvertiserID & "&BannerID=" & BannerID & "&SiteID=" & SiteID
'cache busting code
strBMPDomString=strBMPDomString & "&RandomNumber=" & lngRandom2
If InStr(AdImageURL,"[RandomNumber]") >0 Then
AdImageURL=Replace(AdImageURL,"[RandomNumber]",lngRandom2)
End If
If InStr(AdImageURL,"[timestamp]") >0 Then
AdImageURL=Replace(AdImageURL,"[timestamp]",lngRandom2)
End If
'Launch in New Window
strBMPURLString = strBMPDomString
strBMPAdCode=""
If Application("BMP_AlignCenter")=True Then
If Request("Browser")<> "NETSCAPE4" Then
strBMPAdCode=""
End If
End If
strTemp=""
If Application("BMP_HideURL")=True Then
strTemp2=Trim(AdAltText)
If strTemp2="" Or IsNull(strTemp2) Then
strTemp2="Visit our Sponsors"
Else
strTemp2=Replace(strTemp2,"'","")
End If
strTemp=" ONMOUSEOVER=" & Chr(34) & "window.status='" & strTemp2 & "'; return true" & Chr(34) & " "
End If
'Version 2.2 If AdNewWindow=True Then
If Trim(AdTargetParams)<>"" Then
strBMPAdCode = strBMPAdCode & " & AdImageURL & Chr(34)
Else
strBMPAdCode = strBMPAdCode & )
 & AdImageURL & Chr(34)
End If
strBMPAdCode = strBMPAdCode & )
"
If Trim(AdTextUnderneath) <> "" Then
'Version 2.2 If AdNewWindow=True Then
If Trim(AdTargetParams)<>"" Then
strBMPAdCode = strBMPAdCode & "" & AdTextUnderneath & ""
Else
strBMPAdCode = strBMPAdCode & "" & AdTextUnderneath & ""
End If
End If
End If
'Replace [RandomNumber] with a random number
If InStr(strBMPAdCode,"[RandomNumber]") >0 Then
strBMPAdCode=Replace(strBMPAdCode,"[RandomNumber]",lngRandom2)
End If
'Replace [timestamp] with a random number
If InStr(strBMPAdCode,"[timestamp]") >0 Then
strBMPAdCode=Replace(strBMPAdCode,"[timestamp]",lngRandom2)
End If
'Replace [BanManProURL] with target URL
'First account for case where URL must be encoded
If InStr(strBMPAdCode,"=[BanManProURL]") >0 Then
'create URL string
If Trim(strBMPDomString)="" Then
strBMPDomString=DomainURL & "?Task=Click&ZoneID=" & ZoneID & "&CampaignID=" & CampaignID & "&AdvertiserID=" & AdvertiserID & "&BannerID=" & BannerID & "&SiteID=" & SiteID
End If
strBMPAdCode=Replace(strBMPAdCode,"=[BanManProURL]","=" & Server.UrlEncode(strBMPDomString))
End If
If InStr(strBMPAdCode,"[BanManProURL]") >0 Then
'create URL string
If Trim(strBMPDomString)="" Then
strBMPDomString=DomainURL & "?Task=Click&ZoneID=" & ZoneID & "&CampaignID=" & CampaignID & "&AdvertiserID=" & AdvertiserID & "&BannerID=" & BannerID & "&SiteID=" & SiteID
End If
strBMPAdCode=Replace(strBMPAdCode,"[BanManProURL]",strBMPDomString)
End If
'Secure Protocol
If request.querystring("Secure") = "True" then
strBMPAdCode=Replace(strBMPAdCode,"HTTP://","https://")
strBMPAdCode=Replace(strBMPAdCode,"http://","https://")
End If
GetCode = strBMPAdCode
End Function
'*************************************************************************
'* Product: Ban Man Pro Version 3.0
'* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved.
'*************************************************************************
%>
<%
'*************************************************************************
'* Product: Ban Man Pro Version 3.0
'* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved.
'*************************************************************************
'retrieve task
If Trim(Request.QueryString("Task")) <> "" Then
strTask=UCase(Request.QueryString("Task"))
Else
strTask=UCase(strTask)
End If
'determine mode
If Request.QueryString("Mode")="HTML" Then
strBMPMode="HTML"
ElseIf Request.QueryString("Mode")="TEXT" Then
strBMPMode="TEXT"
Else
strBMPMode="SSI"
End If
'determine Site ID
If Application("BanManProMultiSite")=True Then
If Trim(Request.QueryString("SiteID")) <> "" Then
lngBMPSiteID=Request.QueryString("SiteID")
ElseIf IsNumeric(lngBMPSiteID) And lngBMPSiteID<>"" Then
'Already defined
Else
lngBMPSiteID=0
End If
Else
lngBMPSiteID=0
End If
If strTask="GET" And Request("Browser")="NETSCAPE4" And UCase(Request("NoCache"))="TRUE" Then
If Instr(Ucase(Request.ServerVariables("HTTP_USER_AGENT")),"MSIE")>0 Then
Response.Buffer=True
Response.ContentType="application/x-javascript"
Response.Write "document.write(' '); "
Response.End
End If
End If
'If Calling By ZOneName, must grab ZoneID
If Request.QueryString("ZoneName")<>"" Then
ZoneName=Request.QueryString("ZoneName")
'Get Zone ID
strBMPSQL="sp_BMP_RetrieveZoneIDByZoneName2 '" & ZoneName & "'," & lngBMPSiteID
Set connBanManPro = gConnADODB(Application("BannerManagerConnectString"))
Set rsTemp=connBanManPro.Execute(strBMPSQL)
If Not rsTemp.EOF Then
strZoneID=rsTemp("ZoneID")
Else
strZoneID=0
End If
Set rsTemp=Nothing
ZoneName=""
closeConnection connBanManPro
Else
ZoneName=""
End If
'User has clicked on banner ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Select Case strTask
Case "CLICK"
If strBMPMode="HTML" Then
If Request.QueryString("ZoneID") <> "" Then
strZoneID=Request.QueryString("ZoneID")
End If
If Request.QueryString("PageID")<> "" Then
strBMPPageID="PageID_" & Trim(Request.QueryString("PageID")) & "_"
Else
strBMPPageID=""
End If
strBMPTemp="BannerID_" & strBMPPageID & strZoneID
strBMPBannerID=Session(strBMPTemp)
strBMPTemp="AdvertiserID_" & strBMPPageID & strZoneID
strBMPAdvertiserID=Session(strBMPTemp)
strBMPTemp="CampaignID_" & strBMPPageID & strZoneID
strBMPCampaignID=Session(strBMPTemp)
If Trim(strBMPBannerID)="" Then
If Trim(HTTP_REFERER) <> "" Then
Response.Redirect HTTP_REFERER
Else
Response.Redirect "unavail.htm"
End If
End If
Else
'gather ID's from query string
strBMPBannerID=CLng(Request.QueryString("BannerID"))
strBMPAdvertiserID=CLng(Request.QueryString("AdvertiserID"))
strBMPCampaignID=CLng(Request.QueryString("CampaignID"))
strZoneID=CLng(Request.QueryString("ZoneID"))
End If
strBMPTargetURL=ClickBanManProAd(strBMPAdvertiserID,strBMPBannerID,strBMPCampaignID,strZoneID,lngBMPSiteID)
If Trim(Request("BanManProRedirect"))<>"" Then
strBMPTargetURL=Request("BanManProRedirect")
If InStr(strBMPTargetURL,"BMPQString") >0 Then
strBMPTargetURL=Replace(strBMPTargetURL,"BMPQString","?")
End If
If InStr(strBMPTargetURL,"BMPAMPSAND") >0 Then
strBMPTargetURL=Replace(strBMPTargetURL,"BMPAMPSAND","&")
End If
Response.Redirect strBMPTargetURL
Else
Response.Redirect strBMPTargetURL
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'User pulling banner from server ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "GET"
If Request.QueryString("ZoneID") <> "" Then
strZoneID=Request.QueryString("ZoneID")
End If
If Request.QueryString("Keywords")<>"" Then
Keywords=Request.QueryString("Keywords")
Else
Keywords=""
End If
If strBMPMode="TEXT" Then
ServeBanManProAdDirectly Clng(Request.QueryString("AdvertiserID")),Clng(Request.QueryString("BannerID")),Clng(Request.QueryString("CampaignID")),Clng(Request.QueryString("ZoneID")),lngBMPSiteID,"TEXT"
Else
'Serve Banner Ad Using GetBanManProAd(ZoneID,ZoneName,Keywords,Mode,SiteID)
GetBanManProAd strZoneID,ZoneName,Keywords,strBMPMode,lngBMPSiteID
End If
Case "ROI"
'Track ROI
TrackROI Request.QueryString("CampaignID"),lngBMPSiteID,Request.QueryString("Description"),Request.QueryString("Amount")
Case Else
End Select
IncludedBMPAlready=True
%>