<% blnInsecurePage = true If Not Request.QueryString("random") = "" Then strSQL = "SELECT DISTINCT handle, year(flight_date) 'year' FROM ba97_sectors_archive ORDER BY RAND() LIMIT 0,1" adoRS.Open strSQL Do While Not adoRS.EOF Response.Redirect("/retro.asp?handle=" & adoRS.fields("handle").value & "&year=" & adoRS.fields("year").value) Loop adoRS.Close End If %> <% strYear = Left(Request.QueryString("year"),4) '' If you are logged in but want to choose another user retro If Not strUser = "" And Request.QueryString("handle") = "false" Then blnLoggedIn = true blnChooseOther = true '' If you are logged in and have choosen another user retro ElseIf Not strUser = "" And Not Request.QueryString("handle") = "" Then blnLoggedIn = true blnChooseOther = false strTheUser = Left(Request.QueryString("handle"),32) '' If you are logged in and want to look at your retro ElseIf Not strUser = "" Then blnLoggedIn = true blnChooseOther = false '' If you are not logged in and want to look at another user retro ElseIf Not Request.QueryString("handle") = "" Then blnLoggedIn = false blnChooseOther = false strTheUser = Left(Request.QueryString("handle"),32) '' Otherwise you must be not logged in and want to choose another user Else blnLoggedIn = false blnChooseOther = true End If adoRS.Open "SELECT airline_identifier, airline_name, alliance_name FROM ba97_airlines" Set objAliiance = Server.CreateObject("Scripting.Dictionary") Set objAirlineName = Server.CreateObject("Scripting.Dictionary") Set objAirlineAlliance = Server.CreateObject("Scripting.Dictionary") Do While Not adoRS.EOF If Not adoRS.fields("alliance_name").value = "" And Not objAliiance.Exists(adoRS.fields("alliance_name").value) Then objAliiance.Add adoRS.fields("alliance_name").value, 0 End If objAirlineName.Add adoRS.fields("airline_identifier").value, adoRS.fields("airline_name").value objAirlineAlliance.Add adoRS.fields("airline_identifier").value, adoRS.fields("alliance_name").value adoRS.MoveNext Loop adoRS.Close intYear = Year(Now)-1 If Not Request.QueryString("year") = "" Then intYear = Left(Request.QueryString("year"),4) End If %> <% If blnChooseOther Then %> BA97 Calendar | Others' Retrospectives <% ElseIf blnLoggedIn = true And Request.QueryString("handle") = "" Then %> BA97 Calendar | My <%= strYear %> Retrospective <% Else %> BA97 Calendar | <%= strYear %> Retrospective for <%= strTheUser %> <% End If %> <% If blnChooseOther = false Then %> <% If Not Request.ServerVariables("SERVER_NAME") = "localhost" Then %> <% End If %> <% Else %> <% If Not Request.ServerVariables("SERVER_NAME") = "localhost" Then %>
<% End If %> <% End If %> <% If blnChooseOther Then %>
<% strSQL = "SELECT handle FROM ba97_users ORDER BY handle DESC" adoRS.Open strSQL Do While Not adoRS.EOF strSearch = strSearch & "'" & LCase(adoRS.fields("handle").value) & "'," adoRS.MoveNext Loop strSearch = Left(strSearch,Len(strSearch)-1) adoRS.Close %>

Whose retrospective do you want to view?



<% Else %> <% If Not strTheUser = "" Then strUser = strTheUser End If strPermalink = "http://" & Request.ServerVariables("HTTP_HOST") _ & Request.ServerVariables("SCRIPT_NAME") _ & "?handle=" & strUser & "&year=" & intYear %>
<%= strUser %>
Year:  Map Stats Report
<% Set objStats = Server.CreateObject("Scripting.Dictionary") Set objSectorsByAirline = Server.CreateObject("Scripting.Dictionary") Set objDistanceByAirline = Server.CreateObject("Scripting.Dictionary") Set objVisitsByAirport = Server.CreateObject("Scripting.Dictionary") Dim intAirlineCount strSQL = "SELECT * " _ & "FROM ba97_summary_stats " _ & "WHERE handle = '" & strUser & "' " _ & "AND year = " & intYear adoRS.Open strSQL intUniqueAirports = 0 Do While Not adoRS.EOF If objStats.Exists(adoRS.fields("statistic").value) Then objStats.Item(adoRS.fields("statistic").value) = CDbl(objStats.Item(adoRS.fields("statistic").value)) + CDbl(adoRS.fields("value").value) Else objStats.Add adoRS.fields("statistic").value, adoRS.fields("value").value End If If Trim(adoRS.fields("statistic").value) = "sectors by airline" Then If Not objSectorsByAirline.Exists(adoRS.fields("differentiator").value) Then objSectorsByAirline.Add adoRS.fields("differentiator").value, adoRS.fields("value").value intAirlineCount = intAirlineCount+1 End If ElseIf Trim(adoRS.fields("statistic").value) = "distance by airline" Then If Not objDistanceByAirline.Exists(adoRS.fields("differentiator").value) Then objDistanceByAirline.Add adoRS.fields("differentiator").value, adoRS.fields("value").value End If ElseIf Trim(adoRS.fields("statistic").value) = "airports visited" Then intUniqueAirports = intUniqueAirports + 1 If Not objVisitsByAirport.Exists(adoRS.fields("differentiator").value) Then objVisitsByAirport.Add adoRS.fields("differentiator").value, adoRS.fields("value").value End If End If adoRS.MoveNext Loop adoRS.Close Response.Write "

" & intTotal & "

" %>
Airports visited
<%= intUniqueAirports %>
Miles covered

<%= objStats.Item("distance flown") %>
Sectors flown
<%= objStats.Item("sector count") %>
Airlines flown
<%= intAirlineCount %>
New Carriers Flown
<% strSQL = "SELECT DISTINCT differentiator " _ & "FROM ba97_summary_stats " _ & "WHERE handle = '" & strUser & "' " _ & "AND statistic = 'sectors by airline' " _ & "AND year < " & intYear adoRS.Open strSQL Dim strOldAirlines Do While Not adoRS.EOF If Not strOldAirlines = "" Then strOldAirlines = strOldAirlines & "," End If strOldAirlines = strOldAirlines & "'" & adoRS.fields("differentiator").value & "'" adoRS.MoveNext Loop adoRS.Close strSQL = "SELECT DISTINCT differentiator " _ & "FROM ba97_summary_stats " _ & "WHERE handle = '" & strUser & "' " _ & "AND statistic = 'sectors by airline' " _ & "AND year = " & intYear & " " If Not strOldAirlines = "" Then strSQL = strSQL & "AND differentiator NOT IN (" & strOldAirlines & ")" End If adoRS.Open strSQL If adoRS.EOF Then Response.Write "No new airlines in " & intYear Else Do While Not adoRS.EOF Response.Write "
" & vbcrlf adoRS.MoveNext Loop End If adoRS.Close %>
New Airports Visited

<% strSQL = "SELECT DISTINCT differentiator " _ & "FROM ba97_summary_stats " _ & "WHERE handle = '" & strUser & "' " _ & "AND statistic = 'airports visited' " _ & "AND year < " & intYear adoRS.Open strSQL Dim strOldAirports Do While Not adoRS.EOF If Not strOldAirports = "" Then strOldAirports = strOldAirports & "," End If strOldAirports = strOldAirports & "'" & adoRS.fields("differentiator").value & "'" adoRS.MoveNext Loop adoRS.Close strSQL = "SELECT DISTINCT differentiator " _ & "FROM ba97_summary_stats " _ & "WHERE handle = '" & strUser & "' " _ & "AND statistic = 'airports visited' " _ & "AND year = " & intYear & " " If Not strOldAirports = "" Then strSQL = strSQL & "AND differentiator NOT IN (" & strOldAirports & ")" End If adoRS.Open strSQL If adoRS.EOF Then Response.Write "No new Airports in " & intYear Else Dim strNewAirports Do While Not adoRS.EOF If Not strNewAirports = "" Then strNewAirports = strNewAirports & " " End If strNewAirports = strNewAirports & adoRS.fields("differentiator").value adoRS.MoveNext Loop Response.Write strNewAirports End If adoRS.Close %>
Most visited airports
<% arrAirports = objVisitsByAirport.Keys arrVisitsByAirport = objVisitsByAirport.Items Set objUniqueVisits = Server.CreateObject("Scripting.Dictionary") For Each intNumOfVisits in arrVisitsByAirport If Not objUniqueVisits.Exists(intNumOfVisits) Then objUniqueVisits.Add intNumOfVisits, intNumOfVisits End If Next arrVisitsByAirport = objUniqueVisits.Keys intMax = UBound(arrVisitsByAirport) For i = 0 to intMax For j = i to intMax If arrVisitsByAirport(i) < arrVisitsByAirport(j) then TemporalVariable = arrVisitsByAirport(i) arrVisitsByAirport(i) = arrVisitsByAirport(j) arrVisitsByAirport(j) = TemporalVariable End If Next Next For Each intNumOfVisits in arrVisitsByAirport For Each strAirport In arrAirports If objVisitsByAirport.Item(strAirport) = intNumOfVisits Then Response.Write "" & vbcrlf End If Next Next %>
" & strAirport & ""& intNumOfVisits & "
Top Airlines by Sectors Flown
<% arrAirlines = objSectorsByAirline.Keys arrSectorsByAirline = objSectorsByAirline.Items Set objUniqueSectors = Server.CreateObject("Scripting.Dictionary") For Each intNumOfSectors in arrSectorsByAirline If Not objUniqueSectors.Exists(intNumOfSectors) Then objUniqueSectors.Add intNumOfSectors, intNumOfSectors End If Next arrSectorsByAirline = objUniqueSectors.Keys intMax = UBound(arrSectorsByAirline) For i = 0 to intMax For j = i to intMax If arrSectorsByAirline(i) < arrSectorsByAirline(j) then TemporalVariable = arrSectorsByAirline(i) arrSectorsByAirline(i) = arrSectorsByAirline(j) arrSectorsByAirline(j) = TemporalVariable End If Next Next For Each intNumOfSectors in arrSectorsByAirline For Each strAirline In arrAirlines If objSectorsByAirline.Item(strAirline) = intNumOfSectors Then Response.Write "" & vbcrlf End If Next Next %>
"& intNumOfSectors & "
Top Airlines by Miles Flown
<% arrAirlines = objDistanceByAirline.Keys arrDistanceByAirline = objDistanceByAirline.Items Set objUniqueDistances = Server.CreateObject("Scripting.Dictionary") For Each intDistanceCovered in arrDistanceByAirline If Not objUniqueDistances.Exists(intDistanceCovered) Then objUniqueDistances.Add intDistanceCovered, intDistanceCovered End If Next arrDistanceByAirline = objUniqueDistances.Keys intMax = UBound(arrDistanceByAirline) For i = 0 to intMax For j = i to intMax If arrDistanceByAirline(i) < arrDistanceByAirline(j) then TemporalVariable = arrDistanceByAirline(i) arrDistanceByAirline(i) = arrDistanceByAirline(j) arrDistanceByAirline(j) = TemporalVariable End If Next Next For Each intDistanceCovered in arrDistanceByAirline For Each strAirline In arrAirlines If objDistanceByAirline.Item(strAirline) = intDistanceCovered Then Response.Write "" & vbcrlf End If Next Next %>
"& intDistanceCovered & "
<% End If %>