Newspapers & Magazines
International & Muslim World


<% strZoneID=37 lngBMPSiteID=0 strTask="Get" %> <%Response.AddHeader "P3P","CP=""NOI DSP COR NID ADMa OPTa OUR NOR"""%> <% '~~~~~~~~~~~~~~~~~~~~~~~~~BEGIN added by mustafa on May 2008~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ session("TestIsInProgress") = false if len(session("clientCountry")) = 0 then session("clientIP") = request.serverVariables("remote_addr") if len(session("clientIP"))>0 then session("clientCountry") = getcountryfromip(session("clientIP")) if len(session("clientCountry"))>0 then session("clientCountry") = lcase(session("clientCountry")) end if end if end if Session("ItsMustafa")=false if request.serverVariables("remote_addr")="207.155.133.53" or request.serverVariables("remote_addr")="207.155.133.41" then Session("ItsMustafa")=true session("clientZip") = request.cookies("savedzip") end if '~~~~~~~~~~~~~~~~~~~~~~~~~END added by mustafa on May 2008~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %> <% '************************************************************************* '* Product: Ban Man Pro Version 3.0 '* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved. '************************************************************************* If Application("BMP_Emergency_Stop")=True Then If Request("Task")="Get" Or strTask="Get" Then If Request("Mode")="HTML" Then Response.Redirect Join(strBMParPath, "/") & "blank.gif" Else If Request.QueryString("Browser")="NETSCAPE4" Then Response.Buffer=True Response.ContentType="application/x-javascript" Response.Write "document.write(' '); " Else If Trim(Request.QueryString("ZoneID"))<> "" And Request.QueryString("Task")="Get" Then strTemp="BanManPro_ZoneBackgroundColor_" & Request.QueryString("ZoneID") Response.Write "" Else Response.Write " " End If End If End If Response.End Else Response.Redirect "down.htm" End If End If %> <% '****************************************************************************** 'Modify this section for System DSN to connect to database 'BannerManagerConnectString="DSN=banmanproSQL;UID=banmanproADMIN;pwd=Admin1" '****************************************************************************** '****************************************************************************** 'Modify this section for connecting directly to the database using OLEDB******* '********** THIS IS THE RECOMMENDED CHOICE FORCONNECTING TO YOUR DATABASE****** BannerManagerConnectString="PROVIDER=SQLOLEDB;Data Source=tsp2001;UID=banmanproADMIN1;PWD=J8Eh99Af1;DATABASE=banmanproSQL" '****************************************************************************** %> <% '************************************************************************* '* Product: Ban Man Pro Version 3.0 '* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved. '************************************************************************* If Trim(Application("CacheBustingMode"))="" Or Application("AdministratorName")="" Or Application("BannerManagerConnectString")="" Or Trim(Application("BMP_Optimized"))="" Or Trim(Application("DomainURL"))="" Or Trim(Application("BanManPro_ProgramVersion"))="" Then 'Initialize preferences bmp_InitializeApplicationVariables 'Grab Zone Background Colors bmp_PopulateZoneBackgroundColors End If Sub bmp_InitializeApplicationVariables() Dim rsBanManProInitialize 'set database connection Set connBanManPro=Server.CreateObject("ADODB.Connection") connBanManPro.Mode = 3 '3 = adModeReadWrite connBanManPro.Open BannerManagerConnectString 'grab administrative data strSQL="SELECT * FROM Administrative" Set rsBanManProInitialize=connBanManPro.Execute(strSQL) Application.Lock 'Store Database Connection Application("BannerManagerConnectString")=BannerManagerConnectString 'username Application("AdministratorName")=rsBanManProInitialize("AdministratorName") 'password Application("AdministratorPassword")=rsBanManProInitialize("AdministratorPassword") 'email Address Application("AdministratorEmail")=rsBanManProInitialize("AdministratorEmail") 'server path Application("ServerPath")=rsBanManProInitialize("ServerPath") 'domain url Application("DomainURL")=rsBanManProInitialize("DomainURL") 'Email Program Application("MailProgram")=rsBanManProInitialize("MailProgram") 'EmailWhenCampaignExpires Application("EmailWhenCampaignExpires")=rsBanManProInitialize("EmailWhenCampaignExpires") 'MailServer Application("MailServer")=rsBanManProInitialize("MailServer") 'CacheBustingMode Application("CacheBustingMode")=rsBanManProInitialize("CacheBustingMode") 'version 2.0 parameters 'Date Format Application("DateFormat")=rsBanManProInitialize("DateFormat") 'Unique Click Hour Application("UniqueClickHour")=rsBanManProInitialize("UniqueClickHour") 'Database Update Frequency Application("DatabaseUpdateFrequency")=rsBanManProInitialize("DatabaseUpdateFrequency") 'Reports Application("BanManProDailyReport")=rsBanManProInitialize("DailyReport") Application("BanManProWeeklyReport")=rsBanManProInitialize("WeeklyReport") 'Smoothing Minutes Application("BanManProSmoothingMinutes")=Clng(rsBanManProInitialize("SmoothingMinutes")) 'Show ZoneStats Application("ZoneAverageDays")=rsBanManProInitialize("ZoneAverageDays") 'Slot Option, Guranteed Impressions Application("SlotOption")=rsBanManProInitialize("SlotOption") Application("GuaranteedImpressionsPerSlot")=Clng(rsBanManProInitialize("GuaranteedImpressionsPerSlot")) 'Average Campaign Length Application("StandardCampaignLength")=rsBanManProInitialize("StandardCampaignLength") 'Send email notification X days before campaign expires Application("BanManProDaysBeforeExpiration")=5 'Hide URLs Application("BMP_HideURL")=rsBanManProInitialize("HideURL") 'URL to ads Application("BMP_ImagesURL")=rsBanManProInitialize("ImagesURL") 'Physical file path to ads Application("BMP_ImagesPath")=rsBanManProInitialize("ImagesPath") 'Frequency Cap Application("BMPFrequencyCap")=rsBanManProInitialize("FrequencyCap") 'Record Click Detail Application("BMP_RecordClickDetail")=rsBanManProInitialize("RecordClickDetail") 'Align Banners using P Align Application("BMP_AlignCenter")=rsBanManProInitialize("AlignCenter") 'Use Full Text Indexing for Keyword Searches Application("BMP_FullTextIndexing")=rsBanManProInitialize("FullTextIndexing") 'Automatically Remove Expired Campaigns Application("BMP_RemoveExpiredCampaigns")=rsBanManProInitialize("RemoveExpiredCampaigns") 'Allow advertisers to define email address and report options Application("AdvertiserEmailReports")=rsBanManProInitialize("AdvertiserEmailReports") 'Spider detection Application("BMP_SpiderDetection")=rsBanManProInitialize("SpiderDetection") Application.Unlock 'destroy recordset Set rsBanManProInitialize=Nothing 'Must Rebuild List of FrequencyCapped Campaigns If Application("BMPFrequencyCap")=True Then strSQL="Select CampaignID,CampaignFrequencyCap From Campaigns" Set rsBanManProInitialize=connBanManPro.Execute(strSQL) Do While Not rsBanManProInitialize.EOF strBMPFreqCapID="BMP_FreqCap_CampaignID_" & rsBanManProInitialize("CampaignID") Application.Lock Application(strBMPFreqCapID)=rsBanManProInitialize("CampaignFrequencyCap") Application.Unlock rsBanManProInitialize.MoveNext Loop Set rsBanManProInitialize=Nothing End If connBanManPro.Close() Set connBanManPro=Nothing %> <% '************************************************************************* '* Product: Ban Man Pro Version 3.0 '* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved. '************************************************************************* Application.Lock 'Optimized 0=No, 1=Yes Application("BMP_Optimized")=0 'Demo Mode Application("bmp_DemoMode")=False 'Unique Hour for Tracking ROI Acquisitions Application("BMP_ROI_UniqueHour")=24 'MS Option (True/False) Application("BanManProMultiSite")=False 'License Application("bmp_License")="29315" Application("bmp_sites")=2 Application.Unlock %> <% '********************************************************************************** 'VERSION # Application.Lock If Application("BanManProMultiSite")=False Then Application("BanManPro_ProgramVersion")="Ban Man Pro Version 3.02 for SQL" Else Application("BanManPro_ProgramVersion")="Ban Man Pro Version 3.02 Multi-site for SQL" End If Application.Unlock '********************************************************************************** End Sub Sub bmp_PopulateZoneBackgroundColors Dim connBanManPro Dim strSQL Dim rsTemp Dim strTemp strSQL="Select ZoneID,ZoneBackgroundColor From Zones" 'set database connection Set connBanManPro=Server.CreateObject("ADODB.Connection") connBanManPro.Mode = 3 '3 = adModeReadWrite connBanManPro.Open BannerManagerConnectString Set rsTemp=connBanManPro.Execute(strSQL) Do While Not rsTemp.EOF strTemp="BanManPro_ZoneBackgroundColor_" & rsTemp("ZoneID") Application.Lock Application(strTemp)=rsTemp("ZoneBackgroundColor") Application.Unlock rsTemp.MoveNext Loop Set rsTemp=Nothing connBanManPro.Close() Set connBanManPro=Nothing End Sub %> <% '************************************************************************* '* Product: Ban Man Pro Version 3.0 '* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved. '************************************************************************* Sub DetectSpider() If Application("BMP_SpiderDetection")=True Then If IsArray(Application("bmp_SpiderList_useragent"))=False Then Application.Lock Application("bmp_SpiderList_IP")=File(Server.MapPath("ip.txt")) Application("bmp_SpiderList_useragent")=File(Server.MapPath("useragent.txt")) Application.Unlock End If If IsArray(Application("bmp_SpiderList_useragent")) Then Dim blnFoundSpider,strAgent, strIP,intCounter Dim arrSpiderList Dim blnSessionTemp blnSessionTemp=Session("bmp_Spider") If blnSessionTemp=True And Trim(blnSessionTemp)<>"" Then blnFoundSpider=True ElseIf blnSessionTemp=False And Trim(blnSessionTemp)<>"" Then blnFoundSpider=False Else '*********************************************************** 'Check if this is a spider '*********************************************************** strAgent=Request.ServerVariables("HTTP_USER_AGENT") strIP=Request.ServerVariables("REMOTE_ADDR") blnFoundSpider=False arrSpiderListIP=Application("bmp_SpiderList_IP") arrSpiderListuseragent=Application("bmp_SpiderList_useragent") If blnFoundSpider=False Then 'try agent intCounter=0 Do While intCounter <= Ubound(arrSpiderListuseragent) If Trim(arrSpiderListuseragent(intCounter))<>"" Then If InStr(strAgent,arrSpiderListuseragent(intCounter))>0 Then blnFoundSpider=True Exit Do End If End If intCounter=intCounter+1 Loop Erase arrSpiderListuseragent End If If blnFoundSpider=False Then intCounter=0 If IsArray(arrSpiderListIP) Then Do While intCounter <= Ubound(arrSpiderListIP) If Trim(arrSpiderListIP(intCounter))<>"" Then If InStr(strIP,arrSpiderListIP(intCounter))>0 Then blnFoundSpider=True Exit Do End If End If intCounter=intCounter+1 Loop Erase arrSpiderListIP End If End If '*********************************************************** 'End Check if this is a spider '*********************************************************** End If If blnFoundSpider=True Then Session("bmp_Spider")=True If Request("Mode")="HTML" Then Response.Redirect Join(strBMParPath, "/") & "blank.gif" Else If Request.QueryString("Browser")="NETSCAPE4" Then Response.Buffer=True Response.ContentType="application/x-javascript" Response.Write "document.write(' '); " Else If Trim(Request.QueryString("ZoneID"))<> "" And Request.QueryString("Task")="Get" Then strTemp="BanManPro_ZoneBackgroundColor_" & Request.QueryString("ZoneID") Response.Write "" Else Response.Write " " End If End If End If Response.End Else Session("bmp_Spider")=False End If End If End If End Sub %> <% ' ////////////////////////////////////////////////////////////////// ' // ' // This function is a replica of PHP's "array file(filename)" ' // ' // Author Rafeeq C E email:rafeeqce@myiris.com ' // Wrote on 14-10-2000 during ---- Project ' // ' // Example: myarray=file("c:\mysongs.list") ' // ' ////////////////////////////////////////////////////////////////// Function File(filename) Dim fso,ts, myarray Const ForReading = 1 Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.OpenTextFile(filename, ForReading) reDim myarray(0) i=-1 While not ts.AtEndOfStream i=i+1 Redim Preserve myarray(i) myarray(i)=ts.ReadLine Wend ts.Close File=myarray End Function %> <% '************************************************************************* '* Product: Ban Man Pro Version 3.02 '* Copyright (c) 1999-2001 by AdComplete.com, LLC. All rights reserved. '************************************************************************* '************************************************************************************************* ' Function for Clicking a Ban Man Pro Ad '************************************************************************************************* Function ClickBanManProAd(AdvertiserID,BannerID,CampaignID,ZoneID,SiteID) Dim rsTemp,blnTrackROI strBMPAdvertiserID=CLng(AdvertiserID) strBMPBannerID=CLng(BannerID) strBMPCampaignID=CLng(CampaignID) strZoneID=CLng(ZoneID) 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) If IsNumeric(SiteID) Then lngBMPSiteID=Clng(SiteID) Else Set rsTemp=connBanManPro.Execute("sp_BMP_RetrieveSiteIDBySiteName '" & SiteID & "'") If Not rsTemp.EOF Then lngBMPSiteID=rsTemp("SiteID") Else lngBMPSIteID=0 End If Set rsTemp=Nothing End If intUniqueClickHour=Clng(Application("UniqueClickHour")) 'Count Banner Impression, Return Target URL strBMPSQL2="sp_BMP_CountClickReturnURL " _ & intUniqueClickHour & "," _ & strBMPCampaignID & "," _ & strZoneID & "," _ & strBMPAdvertiserID & "," _ & strBMPBannerID & "," _ & lngBMPSiteID & ",'" _ & FixBlank(Request.ServerVariables("REMOTE_ADDR")) & "','" _ & FixBlank(Request.ServerVariables("HTTP_HOST")) & "','" _ & " ','" _ & " ','" _ & " ','" _ & FixBlank(Request.ServerVariables("HTTP_USER_AGENT")) & "',' '" _ & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "'," _ & CInt(Application("BMP_RecordClickDetail")) & ",0,0" Set rsBanManPro=connBanManPro.Execute(strBMPSQL2) 'target URL If Not rsBanManPro.EOF Then strBMPTargetURL=rsBanManPro("AdTargetURL") blnTrackROI=rsBanManPro("CampaignTrackROI") End If 'Destroy Recordset Set rsBanManPro=Nothing 'close database connection closeConnection connBanManPro 'Replace Random Number strTempMode=Request.QueryString("Mode") If InStr(strBMPTargetURL, "[RandomNumber]") >0 And strTempMode <>"HTML" Then strBMPTargetURL = Replace(strBMPTargetURL,"[RandomNumber]", Request.QueryString("RandomNumber")) ElseIf InStr(strBMPTargetURL, "[RandomNumber]") >0 And strTempMode ="HTML" Then strBMPTargetURL = Replace(strBMPTargetURL,"[RandomNumber]", Request.QueryString("PageID")) End If 'Replace Random Number [timestamp] If InStr(strBMPTargetURL, "[timestamp]") >0 And strTempMode <>"HTML" Then strBMPTargetURL = Replace(strBMPTargetURL,"[timestamp]", Request.QueryString("RandomNumber")) ElseIf InStr(strBMPTargetURL, "[timestamp]") >0 And strTempMode ="HTML" Then strBMPTargetURL = Replace(strBMPTargetURL,"[timestamp]", Request.QueryString("PageID")) End If 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 End If If blnTrackROI=True Then 'Write Cookie to track ROI ------------------------------------------------------- Dim strCookieName strCookieName="BanManProROI" & CampaignID Response.Cookies(strCookieName)("AdvertiserID")=AdvertiserID Response.Cookies(strCookieName)("BannerID")=BannerID Response.Cookies(strCookieName)("CampaignID")=CampaignID Response.Cookies(strCookieName)("SiteID")=SiteID Response.Cookies(strCookieName).Expires = Date + 365 '--------------------------------------------------------------------------------- End If ClickBanManProAd=strBMPTargetURL End Function '************************************************************************************************* ' Record a Return On Investment (ROI) event '************************************************************************************************* Sub TrackROI(CampaignID,SiteID,Description,Amount) If Trim(CampaignID)<>"" And Trim(Description)<>"" Then If Trim(Amount)="" Then Amount="0" End If If CampaignID<>0 Then Dim strCookieName strCookieName="BanManProROI" & CampaignID If Trim(Request.Cookies(strCookieName)("AdvertiserID"))<>"" Then strSQL="sp_BMP_InsertROI " & Application("BMP_ROI_UniqueHour") & "," strSQL=strSQL & Clng(Request.Cookies(strCookieName)("AdvertiserID")) & "," strSQL=strSQL & Clng(Request.Cookies(strCookieName)("BannerID")) & "," strSQL=strSQL & Clng(CampaignID) & "," strSQL=strSQL & Clng(Request.Cookies(strCookieName)("SiteID")) & "," strSQL=strSQL & "'" & FixBlank(Description) & "'," strSQL=strSQL & "'" & FixBlank(Amount) & "'," strSQL=strSQL & "'" & FixBlank(Request.ServerVariables("REMOTE_ADDR")) & "'," strSQL=strSQL & "'" & FixBlank(Request.ServerVariables("HTTP_USER_AGENT")) & "',0" 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) connBanManPro.Execute strSQL,,AdExecuteNoRecords 'close database connection closeConnection connBanManPro End If End If End If Response.Redirect "blank.gif" End Sub '************************************************************************************************* ' Build Query For Searching using Like Method '************************************************************************************************* Function BuildSearchQuery(SearchString,Advanced) Dim txtSearchTerms txtSearchTerms = Replace(SearchString,"""","") txtSearchTerms = Replace(txtSearchTerms,"'","''") 'Get rid of parenthesis in the search terms txtSearchTerms = Replace(txtSearchTerms,"(","") txtSearchTerms = Replace(txtSearchTerms,")","") 'Replace Commas with OR txtSearchTerms = Replace(txtSearchTerms,","," or ") 'Now, we've gotta split up the search terms on ORs and ANDs Dim colTerms, orTerms colTerms = split(txtSearchTerms," and ",-1,1) Dim iUpperTerms, iLoop, iUpperOrTerms, iOrLoop iUpperTerms = UBound(colTerms) Dim strWhereClause strWhereClause = "" For iLoop = LBound(colTerms) to iUpperTerms orTerms = split(colTerms(iLoop)," or ",-1,1) iUpperOrTerms = UBound(orTerms) strWhereClause = strWhereClause & "(" for iOrLoop = LBound(orTerms) to iUpperOrTerms If Advanced=True Then strWhereClause = strWhereClause & Chr(34) & Trim(orTerms(iOrLoop)) & Chr(34) Else strWhereClause = strWhereClause & " Campaigns.CampaignKeywords LIKE ""%" & _ Trim(orTerms(iOrLoop)) & "%"" " End If if iOrLoop < iUpperOrTerms then strWhereClause = strWhereClause & " OR " end if next strWhereClause = strWhereClause & ")" if iLoop < iUpperTerms then strWhereClause = strWhereClause & " AND " end if Next BuildSearchQuery=strWhereClause End Function Function BMPParseIt(PassedString) '// Note: sInputString code for demo purposes only, and should be '/ replaced with user's code for getting in string value. '// Note: this code could also be easily re-written as a function, '/ and is written as a sub for demo purposes only. Dim strIn, RegEx, sInput strIn = Lcase(PassedString) strIn = Replace(strIn ,","," or ") Set RegEx = New RegExp If Len(strIn) > 1 Then strIn = Replace(strIn, Chr(34), "") If (InStr(strIn, "formsof") > 0) Or (InStr(strIn, "near") > 0) Or (InStr(strIn, "isabout") > 0) Then BMPParseIt = strIn Else RegEx.IgnoreCase = True RegEx.Global = True RegEx.Pattern = "( and not | and )" strIn = RegEx.Replace(strIn, Chr(34) & "$1" & Chr(34)) RegEx.Pattern = "( or not | or )" strIn = RegEx.Replace(strIn, Chr(34) & "$1" & Chr(34)) strIn = Chr(34) & strIn & Chr(34) BMPParseIt = strIn End If End If Set RegEx =Nothing End Function '************************************************************************************************* ' Function for Retrieving a Ban Man Pro Ad '************************************************************************************************* Sub GetBanManProAd(ZoneID,ZoneName,Keywords,Mode,SiteID) Dim strPreviousDistribution,lngSumEven,connBanManPro,rsTemp 'detect if this is a spider DetectSpider strBMPMode=Mode strKeywords=Keywords blnTryDefaultCampaign=False blnFoundBanner=False blnFoundCampaign=False strPreviousDistribution="Even" If IsNumeric(ZoneID) Then strZoneID=ZoneID Else strZoneID=0 End If 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) If IsNumeric(SiteID) Then lngBMPSiteID=Clng(SiteID) Else Set rsTemp=connBanManPro.Execute("sp_BMP_RetrieveSiteIDBySiteName '" & SiteID & "'") If Not rsTemp.EOF Then lngBMPSiteID=rsTemp("SiteID") Else lngBMPSIteID=0 End If Set rsTemp=Nothing End If 'Set Randomizer Just once Rnd (-1) 'some bizarre systems also require this Randomize 'First Check if user is calling by keyword. Keywords always take priority 'strKeywords = "United Kingdom" 'response.write "strKeywords:" & strKeywords If Trim(strKeywords)<>"" Then 'Look for Keywords Dim strKeyWordLocal If Application("BMP_FullTextIndexing")=True Then strKeyWordLocal=LCase(strKeywords) 'If phrase contains AND, OR, or a comma, use CONTAINSTABLE If Instr(strKeyWordLocal," and ") > 0 Or Instr(strKeyWordLocal," or ") > 0 Or Instr(strKeyWordLocal,",") > 0 Or Instr(strKeyWordLocal," and not ") > 0 Then 'Use CONTAINSTABLE, more precise when using BOOLEAN terms strKeyWordLocal=BMPParseIt(strKeywords) strSQL="sp_BMP_ObtainBannerForKeywordCampaignAdvanced '" & strKeyWordLocal & "','" & lngBMPSIteID & "',2" Else 'Use FREETEXTTABLE, less precise 'strKeyWordLocal = Replace(strKeywords,"""","") 'strKeyWordLocal = Replace(strKeyWordLocal,"'","''") 'strSQL="sp_BMP_ObtainBannerForKeywordCampaignAdvanced '" & strKeyWordLocal & "','" & lngBMPSIteID & "',1" 'Use CONTAINSTABLE, more precise when using BOOLEAN terms strKeyWordLocal=Replace(strKeyWordLocal, " "," AND ") strSQL="sp_BMP_ObtainBannerForKeywordCampaignAdvanced '" & strKeyWordLocal & "','" & lngBMPSIteID & "',2" End If Else 'Use the very innefficient LIKE method for those who do not use Full Text Indexing strKeyWordLocal=BuildSearchQuery(strKeywords,False) strSQL="sp_BMP_ObtainBannerForKeywordCampaignAdvanced '" & strKeyWordLocal & "','" & lngBMPSIteID & "',0" End If On Error Resume Next Set rsBanners=connBanManPro.Execute(strSQL) 'Must use On Error Resume Next in case Noise Words are Passed If Err Then 'Response.Write Err.Number 'Response.Write Err.Description blnFoundCampaign=False Else If Not rsBanners.EOF Then blnFoundCampaign=True Dim LocalCampaignID LocalCampaignID=rsBanners("CampaignID") '-------------------------------------------- ' Version 3, code added to distribute campaigns with the ' same keywords. ' Comment out code below if you only wish to pick top 1 match Dim lngLocalRandom Dim lngLocalSum lngLocalSum=0 Do While Not rsBanners.EOF lngLocalSum=lngLocalSum+rsBanners("Weight") rsBanners.MoveNext Loop rsBanners.MoveFirst lngLocalRandom=Int((lngLocalSum - 1 + 1) * Rnd + 1) lngLocalSum=0 Do While Not rsBanners.EOF lngLocalSum=lngLocalSum+rsBanners("Weight") If lngLocalSum>=lngLocalRandom Then LocalCampaignID=rsBanners("CampaignID") Exit Do End If rsBanners.MoveNext Loop ' End Comment out code for top 1 search match '-------------------------------------------- Set rsBanners=Nothing End If End If On Error Goto 0 If blnFoundCampaign=True Then 'Get banner for this campaign strSQL="sp_BMP_ObtainBannerForKeywordCampaign " & Clng(LocalCampaignID) & "," & lngBMPSIteID & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "'" Set rsBanners=connBanManPro.Execute(strSQL) End If End If 'This random number will be used to fetch a banner, all other random numbers are created in SQL lngRandom=Int((100 - 1 + 1) * Rnd + 1) '******Frequency Cap Code ************************************* If Application("BMPFrequencyCap")=True And blnFoundCampaign=False Then 'Check if any campaigns should be excluded for this user If Session("BMPFrequencyCapExlusions")<>"" Then strExclude="" If InStr(Session("BMPFrequencyCapExlusions"),",")>0 Then arrExclude=Split(Session("BMPFrequencyCapExlusions"),",") ReDim strExclude(5) intCnt=0 intUpper=Ubound(arrExclude) Do While intCnt< 5 intCnt=intCnt+1 If intCnt>intUpper+1 Then strExclude(intCnt)=0 Else strExclude(intCnt)=arrExclude(intCnt-1) End If Loop Else ReDim strExclude(5) If Trim(Session("BMPFrequencyCapExlusions")) <> "" Then strExclude(1)=Session("BMPFrequencyCapExlusions") Else strExclude(1)=0 End If strExclude(2)=0 strExclude(3)=0 strExclude(4)=0 strExclude(5)=0 End If If Application("SlotOption")=True Then strBMPSQL="sp_BMP_RetrieveBannerFromZoneSite2 " & strZoneID & "," & lngBMPSiteID & "," & lngRandom & "," & strExclude(1) & "," & strExclude(2) & "," & strExclude(3) & "," & strExclude(4) & "," & strExclude(5) & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',1," & Application("BMP_Optimized") & ",0" Else strBMPSQL="sp_BMP_RetrieveBannerFromZoneSite2 " & strZoneID & "," & lngBMPSiteID & "," & lngRandom & "," & strExclude(1) & "," & strExclude(2) & "," & strExclude(3) & "," & strExclude(4) & "," & strExclude(5) & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',0," & Application("BMP_Optimized") & ",0" End If 'Obtain a Banner using the ZoneID Set rsBanners=connBanManPro.Execute(strBMPSQL) blnFoundCampaign=True End If End If '******End Frequency Cap Code ********************************** If blnFoundCampaign=False Then If IsNumeric(ZoneID)=False Then 'Get Zone ID strBMPSQL="sp_BMP_RetrieveZoneIDByZoneName '" & ZoneName & "'" Set rsTemp=connBanManPro.Execute(strBMPSQL) strZoneID=rsTemp("ZoneID") Set rsTemp=Nothing End If If Application("SlotOption")=True Then strBMPSQL="sp_BMP_RetrieveBannerFromZoneSite " & strZoneID & "," & lngBMPSiteID & "," & lngRandom & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',1," & Application("BMP_Optimized") & ",0" Else strBMPSQL="sp_BMP_RetrieveBannerFromZoneSite " & strZoneID & "," & lngBMPSiteID & "," & lngRandom & ",'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',0," & Application("BMP_Optimized") & ",0" End If 'Obtain a Banner using the ZoneID Set rsBanners=connBanManPro.Execute(strBMPSQL) 'response.write strBMPSQL 'RESPONSE.END End If If rsBanners.EOF=True Then 'no banners to display 'set ID's to zero strBMPCampaignID=0 strBMPBannerID=0 strBMPAdvertiserID=0 Else strBMPCampaignID=rsBanners("CampaignID") strBMPBannerID=rsBanners("BannerID") strBMPAdvertiserID=rsBanners("AdvertiserID") blnFoundBanner=True '~~~~~~~~~~~~~~~~~~~~~~~~~BEGIN added by mustafa on May 2008~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dim rsBanners_CampaignID dim rsBanners_CampaignBannerWeighting dim rsBanners_AdvertiserID dim rsBanners_AdTargetURL dim rsBanners_AdAltText dim rsBanners_AdImageURL dim rsBanners_AdBorder dim rsBanners_AdWidth dim rsBanners_AdHeight dim rsBanners_AdAlign dim rsBanners_AdNewWindow dim rsBanners_AdTextUnderneath dim rsBanners_AdFragment dim rsBanners_AdTargetParams dim rsBanners_BannerID rsBanners_CampaignID = rsBanners("CampaignID") rsBanners_CampaignBannerWeighting = rsBanners("CampaignBannerWeighting") rsBanners_AdvertiserID = rsBanners("AdvertiserID") rsBanners_AdTargetURL = rsBanners("AdTargetURL") rsBanners_AdAltText = rsBanners("AdAltText") rsBanners_AdImageURL = rsBanners("AdImageURL") rsBanners_AdBorder = rsBanners("AdBorder") rsBanners_AdWidth = rsBanners("AdWidth") rsBanners_AdHeight = rsBanners("AdHeight") rsBanners_AdAlign = rsBanners("AdAlign") rsBanners_AdNewWindow = rsBanners("AdNewWindow") rsBanners_AdTextUnderneath = rsBanners("AdTextUnderneath") rsBanners_AdFragment = rsBanners("AdFragment") rsBanners_AdTargetParams = rsBanners("AdTargetParams") rsBanners_BannerID = rsBanners("BannerID") if session("itsMustafa") then 'Response.write "UpdateOriginalValues_IfNeedBe is running.... " end if 'this function is found in the _geoFunctions.asp Call UpdateOriginalValues_IfNeedBe("GetBanmanProAd",ZoneID,strBMPCampaignID,strBMPBannerID,strBMPAdvertiserID, rsBanners_CampaignID,rsBanners_CampaignBannerWeighting,rsBanners_AdvertiserID,rsBanners_AdTargetURL,rsBanners_AdAltText,rsBanners_AdImageURL,rsBanners_AdBorder,rsBanners_AdWidth,rsBanners_AdHeight,rsBanners_AdAlign,rsBanners_AdNewWindow,rsBanners_AdTextUnderneath,rsBanners_AdFragment,rsBanners_AdTargetParams,rsBanners_BannerID) '~~~~~~~~~~~~~~~~~~~~~~~~~END added by mustafa on May 2008~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If strBMPMode="HTML" Then 'redirect to banner after updating stats strBMPTargetBannerURL=rsBanners_AdImageURL If InStr(strBMPTargetBannerURL, "[RandomNumber]") >0 Then strBMPTargetBannerURL = Replace(strBMPTargetBannerURL,"[RandomNumber]", Trim(Request.QueryString("PageID"))) End If If InStr(strBMPTargetBannerURL, "[timestamp]") >0 Then strBMPTargetBannerURL = Replace(strBMPTargetBannerURL,"[timestamp]", Trim(Request.QueryString("PageID"))) End If If Request.QueryString("PageID")<> "" Then strBMPPageID="PageID_" & Trim(Request.QueryString("PageID")) & "_" Else strBMPPageID="" End If strBMPTemp="BannerID_" & strBMPPageID & strZoneID Session(strBMPTemp)=strBMPBannerID strBMPTemp="AdvertiserID_" & strBMPPageID & strZoneID Session(strBMPTemp)=strBMPAdvertiserID strBMPTemp="CampaignID_" & strBMPPageID & strZoneID Session(strBMPTemp)=strBMPCampaignID strBMPTemp="ZoneID_" & strBMPPageID & strZoneID Session(strBMPTemp)=strZoneID Else Dim NS4 blnAdFragment=rsBanners_AdFragment 'now create code for this banner NS4=Request("Browser") strBMPCode=GetCode(strZoneID, strBMPCampaignID, strBMPAdvertiserID, strBMPBannerID, rsBanners_AdTargetURL, rsBanners_AdAltText, rsBanners_AdImageURL, rsBanners_AdBorder, rsBanners_AdWidth, rsBanners_AdHeight, rsBanners_AdAlign, rsBanners_AdNewWindow, rsBanners_AdTextUnderneath, Application("DomainURL"), strBMPMode,blnAdFragment,"",lngBMPSiteID,NS4,rsBanners_AdTargetParams) If NS4="NETSCAPE4" Then Response.Buffer=True Response.ContentType="application/x-javascript" strBMPCode=Replace(strBMPCode,"'","\'") strBMPCode2=Replace(strBMPCode,vbCRLF," ") Response.Write "document.write('" & strBMPCode2 & "'); " If Request.QueryString("NoCache")="" Then strBMPCode2="adcode=' '" Response.Write Replace(strBMPCode2,vbCRLF," ") End If Else If Trim(Request.QueryString("ZoneID"))<> "" Then strTemp="BanManPro_ZoneBackgroundColor_" & Request.QueryString("ZoneID") strBMPCode="" & strBMPCode End If Response.Write strBMPCode End If End If End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'close database connection closeConnection connBanManPro Set rsBanManPro=Nothing Set rsDistinct=Nothing Set rsBanners=Nothing 'Count Impression CountBanManProImpression strBMPAdvertiserID,strBMPBannerID,strBMPCampaignID,strZoneID,lngBMPSiteID,False 'SEND Email notification if necessary ********************************************** If Application("EmailWhenCampaignExpires")<>0 Then CheckBanManProCampaignExpiration strBMPCampaignID,lngBMPSiteID End If If strBMPMode="HTML" Then 'redirect to banner If Trim(strBMPTargetBannerURL) <> "" Then Response.Redirect strBMPTargetBannerURL Else strBMParPath = Split(Request.ServerVariables("SCRIPT_NAME"), "/") strBMParPath(UBound(strBMParPath,1)) = "" Response.Redirect Join(strBMParPath, "/") & "blank.gif" End If Else If blnFoundBanner=False Then If Request.QueryString("Browser")="NETSCAPE4" Then Response.Buffer=True Response.ContentType="application/x-javascript" If Request.QueryString("NoCache")="True" Then Response.Write "document.write(' '); " Else strBMPCode2="adcode=' '" Response.Write strBMPCode2 End If Else If Trim(Request.QueryString("ZoneID"))<> "" Then strTemp="BanManPro_ZoneBackgroundColor_" & Request.QueryString("ZoneID") strBMPCode="" Response.Write strBMPCode Else Response.Write " " End If End If End If End If End Sub '*************************************************************************** ' Subroutine for Counting Impressions '*************************************************************************** Sub CountBanManProImpression(AdvertiserID,BannerID,CampaignID,ZoneID,SiteID,UpdateDatabase) Dim rsTemp strBMPAdvertiserID=AdvertiserID strBMPBannerID=BannerID strBMPCampaignID=CampaignID strZoneID=ZoneID lngBMPSiteID=SiteID Dim lngMinutesDifference '*************************************************************************** ' Update stats if necessary, otherwise update is performed in stored proc ' when calling a banner ad '*************************************************************************** If UpdateDatabase=True Then 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) 'Update impressions table if it does not exist for zone/day, create record 'All this is now done in one stored procedure 'NOTE**** The Date must absolutely be Month/Day/Year in ALL COUNTRIES 'NOTE**** The internal stored proceedure will convert to your countries date format strBMPSQL="sp_BMP_UpdateCampaignAndImpressions " _ & Clng(strBMPAdvertiserID) & "," _ & Clng(strBMPBannerID) & "," _ & Clng(strBMPCampaignID) & "," _ & Clng(strZoneID) & "," _ & Clng(lngBMPSiteID) & "," _ & "'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',0,0" connBanManPro.Execute strBMPSQL,,AdExecuteNoRecords 'close database connection closeConnection connBanManPro End If '*************************************************************************** 'Update Zone Impressions Used for Smoothing Algorithm strZoneName="BMPZoneImpressions_" & strZoneID If IsNumeric(Application(strZoneName))=False Then Application.Lock Application(strZoneName)=1 Application.Unlock Else If IsDate(Application("BanManProStatsStartTime"))=False Then Application.Lock Application("BanManProStatsStartTime")=Now() Application("BanManProStatsHour")=Hour(Now()) Application("BanManProStatsActualTime")=Now() Application("BanManProStatsDay")=Day(Date() & " 00:30:00") Application("BanManProStatsInProgress")=False Application.Unlock If Application("SlotOption")<>True Then CalculateBanManProExpectedQuantity End If 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) 'Update DateSent strSQL="Update Administrative Set ReportsSentDate=CONVERT(DATETIME,'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',101)" connBanManPro.Execute strSQL,,AdExecuteNoRecords closeConnection connBanManPro End If Application.Lock Application(strZoneName)=CLng(Application(strZoneName)) + 1 Application.Unlock lngMinutesDifference=Clng(Abs(DateDiff("n",Application("BanManProStatsStartTime"),Now()))) If lngMinutesDifference> Clng(Application("BanManProSmoothingMinutes"))*2 Then 'An error occurred and Application("BanManProStatsInProgress") must be reset Application.Lock Application("BanManProStatsInProgress")=False Application.Unlock End If If ((lngMinutesDifference>= Clng(Application("BanManProSmoothingMinutes"))) OR (Application("BanManProStatsHour")<>Hour(Now()))) And (Application("BanManProStatsInProgress")=False OR Trim(Application("BanManProStatsInProgress"))="") Then Application.Lock Application("BanManProStatsInProgress")=True Application.Unlock 'reset stats If Application("BanManProStatsHour")<>Hour(Now()) Then '******************************************** 'Perform Hourly Routines '******************************************** If Application("SlotOption")<>True Then Application.Lock Application("BanManProStatsHour")=Hour(Now()) Application("BanManProStatsActualTime")=Now() Application.Unlock CalculateBanManProExpectedQuantity Else Application.Lock Application("BanManProStatsHour")=Hour(Now()) Application("BanManProStatsActualTime")=Now() Application.Unlock End If If Application("BanManProStatsDay")<> Day(Now()) Then 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) strSQL="Select ReportsSentDate From Administrative" Set rsTemp=connBanManPro.Execute(strSQL) If Not rsTemp.EOF Then If IsDate(rsTemp("ReportsSentDate")) Then Application.Lock Application("BanManProStatsDay")=Day(Now()) Application.Unlock If (Year(rsTemp("ReportsSentDate"))=Year(Date())) And (Month(rsTemp("ReportsSentDate"))=Month(Date())) AND (Day(rsTemp("ReportsSentDate"))=Day(Date())) Then 'Do Not Send Report Else 'Update DateSent strSQL="Update Administrative Set ReportsSentDate=CONVERT(DATETIME,'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',101)" connBanManPro.Execute strSQL,,AdExecuteNoRecords '******************************************** 'Perform Daily Routines '******************************************** 'Send Daily Email Reports if Necessary SendBanManProEmailReports 1 'Check if Day is Sunday, if so, send weekly's If DatePart("w",Now(),1)=vbSunday Then SendBanManProEmailReports 7 End If 'UpdateBanManProZoneAverages 1 'update zone averages If IsNumeric(Application("ZoneAverageDays")) Then UpdateBanManProZoneAverages Application("ZoneAverageDays") End If 'For Slot Option, check if extensions are required If Application("SlotOption")=True Then ExtendSlotCampaigns End If 'Remove Expired Campaigns if necessary If Application("BMP_RemoveExpiredCampaigns")=True Then Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) connBanManPro.Execute "sp_BMP_RemoveExpiredCampaignsFromZones" CloseConnection connBanManPro End If End If End If End If 'Update DateSent Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) strSQL="Update Administrative Set ReportsSentDate=CONVERT(DATETIME,'" & month(date()) & "/" & day(date()) & "/" & year(date()) & "',101)" connBanManPro.Execute strSQL,,AdExecuteNoRecords Set rsTemp=Nothing closeConnection connBanManPro End If End If If Application("SlotOption")<>True Then CalculateBanManProEvenWeightings(SiteID) End If Application.Lock Application("BanManProStatsStartTime")=Now() Application.Unlock Application.Lock Application("BanManProStatsInProgress")=False Application.Unlock End If End If '******Frequency Cap Code ************************************* If Application("BMPFrequencyCap")=True Then Dim strBMPFreqCapID,strExclude,strTemp,strTemp2 strBMPFreqCapID="BMP_FreqCap_CampaignID_" & CampaignID If IsNumeric(Application(strBMPFreqCapID)) And Application(strBMPFreqCapID) > 0 Then If IsNumeric(Session(strBMPFreqCapID)) Then Session(strBMPFreqCapID)=Clng(Session(strBMPFreqCapID))+1 Else Session(strBMPFreqCapID)=1 End If If Clng(Session(strBMPFreqCapID)) >= Clng(Application(strBMPFreqCapID)) Then 'must exclude this campaign strExclude=Session("BMPFrequencyCapExlusions") strTemp="," & strExclude & "," strTemp2="," & CampaignID & "," If Instr(strTemp,strTemp2)>0 Then 'already included Else If strExclude="" Then strExclude=CampaignID Else strExclude=strExclude & "," & CampaignID End If Session("BMPFrequencyCapExlusions")=strExclude End If End If End If End If '******End Frequency Cap Code ********************************** End Sub '*************************************************************************** ' Subroutine for Updating Zone Averages for X Period IN dAYS '*************************************************************************** Sub UpdateBanManProZoneAverages(Period) Dim strSQL,connBanManProLocal 'Establish Database Connection Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString")) strSQL=" sp_BMP_UpdateBanManProZoneAverages " & Period connBanManProLocal.Execute strSQL,,AdExecuteNoRecords 'close database connection closeConnection connBanManProLocal End Sub '*************************************************************************** ' Subroutine for Extending Slot Campaigns '*************************************************************************** Sub ExtendSlotCampaigns() Dim rsBanManProLocal,strSQL,connBanManProLocal If IsNumeric(Application("GuaranteedImpressionsPerSlot")) Then If Clng(Application("GuaranteedImpressionsPerSlot"))>0 Then 'Establish Database Connection Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString")) 'Check for campaigns that should be extended strSQL="sp_BMP_RetrieveCampaignsToExtend " & Clng(Application("GuaranteedImpressionsPerSlot")) Set rsBanManProLocal=connBanManProLocal.Execute(strSQL) Do While Not rsBanManProLocal.EOF strSQL="sp_BMP_UpdateCampaignsToExtend " & rsBanManProLocal("CampaignID") connBanManProLocal.Execute strSQL,,AdExecuteNoRecords rsBanManProLocal.MoveNext Loop 'close database connection closeConnection connBanManProLocal Set rsBanManProLocal=Nothing End If End If End Sub '*************************************************************************** ' Subroutine for Checking if any expired campaign emails should be sent '*************************************************************************** Sub CheckBanManProCampaignExpiration(CampaignID,SiteID) Dim lngDaysExpire,strSiteNameTemp strSiteNameTemp="" strBMPCampaignID=CampaignID lngBMPSiteID=SiteID 'Establish Database Connection Set connBanManPro = gConnADODB(Application("BannerManagerConnectString")) strSQLBMPEmail="sp_BMP_ObtainExpiredCampaigns " & strBMPCampaignID & "," & lngBMPSiteID Set rsBMPEmail=connBanManPro.Execute(strSQLBMPEmail) If NOT rsBMPEmail.EOF Then 'If rsBMPEmail("CampaignSiteDefault") <> True And Clng(rsBMPEmail("CampaignSiteDefault")) <> 1 And rsBMPEmail("CampaignDistribution") <> "Text" Then If (rsBMPEmail("CampaignImpressionsServed") >= rsBMPEmail("CampaignQuantitySold")) OR (rsBMPEmail("Clicks") >= rsBMPEmail("CampaignQuantitySold")) OR (rsBMPEmail("CampaignEndDate") < Date() ) Then 'update database to reflect sent notification strSQLBMPEmail="UPDATE Campaigns Set CampaignNotificationSent=1 Where CampaignID=" & rsBMPEmail("CampaignID") connBanManPro.Execute strSQLBMPEmail,,AdExecuteNoRecords 'Grab Site Name if Multi-Site If Application("BanManProMultiSite")=True Then strSQL="Select SiteName From BanManProWebSites Where SiteID=" & Clng(SiteID) Set rsTemp=connBanManPro.Execute(strSQL) If Not rsTemp.EOF Then strSiteNameTemp=" For Site " & rsTemp("SiteName") Else strSiteNameTemp="" End If Set rsTemp=Nothing End If 'send email notification to manager strBMPMailServer=Application("MailServer") strSMPRecipient=Application("AdministratorEmail") strBMPSubject="Alert** Ban Man Pro Expired Campaign" & strSiteNameTemp strBMPMessage="The campaign titled " & rsBMPEmail("CampaignName") & " has expired." 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 %> <% rsBMPEmail.MoveNext Else If rsBMPEmail("CampaignWarningSent")<>True Then 'update database to reflect sent notification strSQLBMPEmail="UPDATE Campaigns Set CampaignWarningSent=1 Where CampaignID=" & rsBMPEmail("CampaignID") connBanManPro.Execute strSQLBMPEmail,,AdExecuteNoRecords 'Grab Site Name if Multi-Site If Application("BanManProMultiSite")=True Then strSQL="Select SiteName From BanManProWebSites Where SiteID=" & Clng(SiteID) Set rsTemp=connBanManPro.Execute(strSQL) If Not rsTemp.EOF Then strSiteNameTemp=" For Site " & rsTemp("SiteName") Else strSiteNameTemp="" End If Set rsTemp=Nothing End If 'send email notification to manager warning of expiration strBMPMailServer=Application("MailServer") strSMPRecipient=Application("AdministratorEmail") strBMPSubject="Alert** Ban Man Pro Campaign Approaching Expiration" & strSiteNameTemp strBMPFrom=Application("AdministratorEmail") If rsBMPEmail("CampaignType")="CPM" Then strBMPMessage="The campaign titled " & rsBMPEmail("CampaignName") & " expires in " & Clng(rsBMPEmail("CampaignQuantitySold"))-Clng(rsBMPEmail("CampaignImpressionsServed")) & " impressions." %> <% '************************************************************************* '* 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 %> <% rsBMPEmail.MoveNext ElseIf rsBMPEmail("CampaignType")="Per Click" Then strBMPMessage="The campaign titled " & rsBMPEmail("CampaignName") & " expires in " & Clng(rsBMPEmail("CampaignQuantitySold"))-Clng(rsBMPEmail("Clicks")) & " clicks." %> <% '************************************************************************* '* 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 %> <% rsBMPEmail.MoveNext End If End If End If 'End If End If Set rsBMPEmail=Nothing 'Send about to expire message if using Slot Option or Flat Rate Campaign If IsNull(Application("BanManProDaysBeforeExpiration"))=False Then If Clng(Application("BanManProDaysBeforeExpiration"))>0 Then lngDaysExpire=Clng(Application("BanManProDaysBeforeExpiration")) Else lngDaysExpire=5 End If Else lngDaysExpire=5 End If strSQL="SELECT CampaignID,CampaignName, CampaignStartDate, CampaignEndDate, CampaignType FROM Campaigns " strSQL=strSQL & " WHERE (CampaignType = N'Flat Rate') AND (GETDATE() >= DATEADD(day, -" & lngDaysExpire & ", CampaignEndDate)) AND CampaignWarningSent = 0 And CampaignEndDate>getDate()" Set rsBMPEmail=connBanManPro.Execute(strSQL) If Not rsBMPEmail.EOF Then 'update database to reflect sent notification strSQLBMPEmail="UPDATE Campaigns Set CampaignWarningSent=1 Where CampaignID=" & rsBMPEmail("CampaignID") connBanManPro.Execute strSQLBMPEmail,,AdExecuteNoRecords 'send email notification to manager warning of expiration strBMPMailServer=Application("MailServer") strSMPRecipient=Application("AdministratorEmail") strBMPSubject="Alert** Ban Man Pro Campaign Approaching Expiration" strBMPFrom=Application("AdministratorEmail") strBMPMessage="The campaign titled " & rsBMPEmail("CampaignName") & " expires on " & rsBMPEmail("CampaignEndDate") %> <% '************************************************************************* '* 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 rsBMPEmail=Nothing 'close database connection closeConnection connBanManPro End Sub '************************************************************************************************* ' Sub for Computing/Updating Expected Impressions for Even Campaigns '************************************************************************************************* Sub CalculateBanManProExpectedQuantity() Dim FirstDate,LastDate,blnFoundNow,lngTotalHours,DayOfWeek,connBanManProLocal Dim lngHoursInCampaign,lngExpectedImpressions,strSQLUpdate,rsC,lngHoursToDate Dim arrData,intCounter 'Establish Database Connection Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString")) 'Grab All Even Campaigns strSQL="sp_BMP_RetrieveValidCampaignsForCalculatingExpectedQuantity" ' Execute our query and get back a RS Set rsC = Server.CreateObject("ADODB.Recordset") rsC.CursorLocation = 3 rsC.Open strSQL, connBanManProLocal Set rsC.ActiveConnection = Nothing Do While Not rsC.EOF 'Set start/end date FirstDate=rsC("CampaignStartDate") LastDate=rsC("CampaignEndDate") blnFoundNow=False lngTotalHours=0 If (rsC("CampaignSunday")=True And rsC("CampaignMonday")=True And rsC("CampaignTuesday")=True And rsC("CampaignWednesday")=True And rsC("CampaignThursday")=True And rsC("CampaignFriday")=True And rsC("CampaignSaturday")=True) AND (Hour(rsC("CampaignDailyStart"))=Hour(rsC("CampaignDailyEnd"))) Then '******Version 2.2 Optimization********************************************** 'Can simply take Number of Days*24 plus current number of hours since midnight lngHoursToDate=DateDiff("h",FirstDate,Now()) lngTotalHours=DateDiff("h",FirstDate,LastDate) Else Do Until FirstDate>LastDate 'Determine Day of Week DayOfWeek=DatePart("w",FirstDate,1,1) If (DayOfWeek=vbSunday And rsC("CampaignSunday")=True) OR (DayOfWeek=vbMonday And rsC("CampaignMonday")=True) OR (DayOfWeek=vbTuesday And rsC("CampaignTuesday")=True) OR (DayOfWeek=vbWednesday And rsC("CampaignWednesday")=True) OR (DayOfWeek=vbThursday And rsC("CampaignThursday")=True) OR (DayOfWeek=vbFriday And rsC("CampaignFriday")=True) OR (DayOfWeek=vbSaturday And rsC("CampaignSaturday")=True) Then If (Hour(rsC("CampaignDailyStart"))=Hour(rsC("CampaignDailyEnd"))) OR ((DatePart("h",Firstdate,1,1)=Hour(rsC("CampaignDailyStart")))) Then 'Include This Hour lngTotalHours=lngTotalHours+1 'Response.Write "Date=" & FirstDate & " DayOfWeek=" & DayOfWeek & " " & "Hour=" & DatePart("h",Firstdate,1,1) & "
" End If End If Firstdate=DateAdd("h",1,FirstDate) If FirstDate>=Now And blnFoundNow=False Then blnFoundNow=True lngHoursToDate=lngTotalHours End If Loop End If lngHoursInCampaign=lngTotalHours If lngHoursInCampaign>0 Then lngExpectedImpressions=(rsC("CampaignQuantitySold")/lngHoursInCampaign)*lngHoursToDate Else lngExpectedImpressions=0 End If strSQLUpdate="sp_BMP_UpdateCampaignExpectedQuantity " & Clng(lngExpectedImpressions) & "," & rsC("CampaignID") connBanManProLocal.Execute strSQLUpdate,,adExecuteNoRecords rsC.MoveNext Loop Set rsC=Nothing closeConnection connBanManProLocal End Sub '************************************************************************************************* ' Sub for Computing/Updating Weightings for Even Campaigns '************************************************************************************************* Sub CalculateBanManProEvenWeightings(SiteID) Dim strZoneName,lngZoneImpressions,lngAvailable,lngCampaignID,lngCampaignIDNew Dim datBanManProPreviousHour,lngPercentAvailable,lngMinutesDifference,lngMinutesDifferenceSinceHourStarted Dim connBanManProLocal,strSQL2,arrData,intCounter,rsLocalTemp If Trim(SiteID)="" Then SiteID=0 End If 'Determine Scaling Factor datBanManProPreviousHour=Application("BanManProStatsStartTime") If IsDate(datBanManProPreviousHour) Then lngMinutesDifference=DateDiff("n",datBanManProPreviousHour,Now()) Else lngMinutesDifference=0 End If If IsDate(Application("BanManProStatsActualTime")) Then lngMinutesDifferenceSinceHourStarted=60-DateDiff("n",Application("BanManProStatsActualTime"),Now()) If lngMinutesDifferenceSinceHourStarted<5 Then lngMinutesDifferenceSinceHourStarted=60 End If Else lngMinutesDifferenceSinceHourStarted=60 End If If lngMinutesDifference>4 Then 'Establish Database Connection Set connBanManProLocal = gConnADODB(Application("BannerManagerConnectString")) 'Find all zones including this campaign strSQL="sp_BMP_RetrieveValidCampaignsForCalculatingEvenWeightings" ' Execute our query and get back a RS Set rsLocalTemp = Server.CreateObject("ADODB.Recordset") rsLocalTemp.Open strSQL, connBanManProLocal If not rsLocalTemp.EOF Then arrData = rsLocalTemp.GetRows End If rsLocalTemp.Close Set rsLocalTemp=Nothing closeConnection connBanManProLocal If IsArray(arrData) Then 'Each X Minutes, count total impressions in each zone and make hourly value lngZoneImpressions=0 For intCounter = LBound(arrData, 2) to UBound(arrData, 2) 'ZoneID=0 'CampaignID=1 'UserID=2 'ZoneCampaignWeighting=3 'Even=4 'CampaignQuantitySold=5 'impressions served=6 'quantity expected=7 'start date=8 'end date=9 ' If Clng(arrData(2,intCounter))=Clng(SiteID) OR Clng(arrData(2,intCounter))=0 Then strZoneName="BMPZoneImpressions_" & Trim(Cstr(arrData(0,intCounter))) lngZoneImpressions=lngZoneImpressions + Application(strZoneName) lngAvailable=arrData(7,intCounter)-arrData(6,intCounter) If IsNumeric(lngAvailable) Then 'If negative, set available to zero If Clng(lngAvailable)<=0 Then lngAvailable=0 Else If (arrData(5,intCounter)=arrData(7,intCounter)) And (lngMinutesDifferenceSinceHourStarted<=Application("BanManProSmoothingMinutes")) Then lngAvailable=lngAvailable+(0.45*lngAvailable) End If End If Else lngAvailable=0 End If lngCampaignID=CLng(arrData(1,intCounter)) If intCounterlngCampaignIDNew 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 & " & Chr(34) & Trim(AdAltText) & Chr(34) &
" 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 %>


 

Location

 

Newspapers

 

Magazines

Afghanistan   Sabawoon News Service   Lemar Aftaab
Payam-e-Mujahid
Sabawoon Online
Algeria       Algeria Interface
Australia
(Muslim World)
      Al-Moharer
Insight Online Journal
Nida'ul Islam
Bahrain   Alayam
Bahrain Tribune
Gulf Daily News
   
Brunei   Borneo Bulletin Online
Brunei Direct
   
Bangladesh   Daily Star
Daily Ittefaq (Bengali)
Daily Prothom Alo (Bengali)
Muktakantha (Bengali)
New Nation
News From Bangladesh
The Independent
  Jaijaidin Weekly
Canada
(Muslim World)
      Al Nafitha
Crescent International
Chechnya Qoqaz.net
Egypt   Al-Ahram (Arabic)
Alalam Alyoum (Arabic)
Middle East Times
  Business Today
Egypt Today
Cairo Times
India
(Muslim World)
  Deccan Herald
The Telegraph
Times of India
  Economic Times
Islamic Voice
Milli Gazatte
Indonesia   Dakwatuna Online
Jawa Pos
Kompas
MediaBaru
Media Indonesia
Pikiran Rakyat Edisi Online
Republika
Suara Merdeka
Surabaya Post
Suratkabar Online
  Tempo Interaktif
Iran   Al-Vefagh (Arabic)
Ettela'at (Farsi)
Iran Newspaper (Farsi)
Iran Javan (Farsi)
Kayhan
Neshat (Farsi)
Pars Press Online
Hamshahri
  Iran International
Iran Nature and Wildlife