<% ' SwipSwap Optamzer v1.9 ' (C) Copyright 2005 All rights reserved. ' Email support@optamazer.net for help ' DO NOT EDIT BELOW THIS LINE ' ============================================ Randomize Response.Buffer=True Response.AddHeader "P3P","CP=""CAO DSP COR CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT""" Response.Expires=Now()+1 Dim impressions(100),sales(100),theids(100),exweight(100),rndbank(5000) Server.ScriptTimeout = 60 campaigngroup=Request.Querystring("c") action=Request.QueryString("a") sessiondata=Request.Cookies(CStr(campaigngroup)) If action=1 Then Set MyConn = Server.CreateObject(con_type) MyConn.Open "DRIVER=" & db_driver & ";DBQ=" & db_path & ";" Set rs = Server.CreateObject(rs_type) If sessiondata<>"" Then ' We already know which image to display again strSQL = "SELECT * FROM optimiser WHERE ID=" & sessiondata & ";" rs.Open strSQL, MyConn, adOpenStatic, adLockPessimistic If rs.EOF Then ' ID has gone so reset sessiondata="" Else imgurl=rs.Fields("imgurl") linktype=rs.Fields("linktype") End If rs.Close End If If sessiondata="" Then ' Select an image at random ' SwipSwap Optamazer Algorithm is Patent Pending strSQL = "SELECT * FROM optimiser WHERE campaigngroup=" & campaigngroup & ";" rs.Open strSQL, MyConn, adOpenStatic, adLockPessimistic a=0 maxrandbank=0 While NOT rs.EOF a=a+1 impressions(a)=rs.Fields("impressions") sales(a)=rs.Fields("sales") theids(a)=rs.Fields("ID") If sales(a)>0 Then If impressions(a)>30 Then exweight(a)=Int((sales(a)/impressions(a))*1000.0)+1 Else exweight(a)=50 End If Else exweight(a)=25 End If maxrandbank=maxrandbank+exweight(a) rs.MoveNext Wend rs.Close ' Select weighted random record c=0 For l = 1 to a For l2 = 1 to exweight(l) c=c+1 rndbank(c)=theids(l) Next Next randomrecord=rndbank(Int(Rnd*c)+1) strSQL = "SELECT * FROM optimiser WHERE ID=" & randomrecord & ";" rs.Open strSQL, MyConn, adOpenStatic, adLockPessimistic imgurl=rs.Fields("imgurl") linktype=rs.Fields("linktype") impression=rs.Fields("impressions") impression=impression+1 rs.Fields("impressions")=impression rs.Update rs.Close ' Set cookie for next time Response.Cookies(CStr(campaigngroup))=randomrecord Response.Cookies(CStr(campaigngroup)).Expires=Now()+7 End If MyConn.Close Set rs = Nothing Set MyConn = Nothing If linktype=1 Then Response.Redirect (base_url & img_folder & imgurl) Else Response.Redirect (base_url & imgurl) End If End If If action=2 Then Set MyConn = Server.CreateObject(con_type) MyConn.Open "DRIVER=" & db_driver & ";DBQ=" & db_path & ";" Set rs = Server.CreateObject(rs_type) For a = 1 to 256 cookiecontents=Request.Cookies(CStr(a)) If cookiecontents<>"" Then Response.Cookies(CStr(a))="" strSQL = "SELECT * FROM optimiser WHERE ID=" & cookiecontents & ";" rs.Open strSQL, MyConn, adOpenStatic, adLockPessimistic nsales=rs.Fields("sales") nsales=nsales+1 rs.Fields("sales")=nsales rs.Update rs.Close End if Next MyConn.Close Set rs = Nothing Set MyConn = Nothing Response.Redirect (base_url & img_folder & Request.QueryString("img")) End If %>