<% ' Condicions inicials NewQuery = FALSE UseSavedQuery = FALSE buscar = "" QueryForm = Request.ServerVariables("PATH_INFO") if Request.ServerVariables("REQUEST_METHOD") = "GET" then buscar = Request.QueryString("buscar") if Request.QueryString("pas") = "" then pas = 10 else pas=Request.QueryString("pas") end if if Request.QueryString("vista") = "" then vista=1 else vista=Request.QueryString("vista") end if if Request.QueryString("resultats") <> "" then resultats=Request.QueryString("resultats") end if rang = Request.QueryString("rang") if Request.QueryString("pagina") <> "" then NextPageNumber = Request.QueryString("pagina") NewQuery = FALSE UseSavedQuery = TRUE else NewQuery = buscar <> "" end if end if %> <%' Afegeix la capçalera a la pàgina %> <% if NewQuery then set Session("Query") = nothing set Session("Recordset") = nothing NextRecordNumber = 1 ' Elimina les cometes del principi o final de la cadena buscar SrchStrLen = len(buscar) if left(buscar, 1) = chr(34) then SrchStrLen = SrchStrLen-1 buscar = right(buscar, SrchStrLen) end if if right(buscar, 1) = chr(34) then SrchStrLen = SrchStrLen-1 buscar = left(buscar, SrchStrLen) end if CompSearch = buscar ' Paràmetres de cerca i resultats set Q = Server.CreateObject("ixsso.Query") set util = Server.CreateObject("ixsso.Util") Q.Query = CompSearch Q.SortBy = "rank[d]" Q.Columns = "DocTitle, vpath, filename, size, write, characterization, rank" Q.MaxRecords = 5000 'Directoris on cercar 'Directori per defecte util.AddScopeToQuery Q, "/", "deep" 'Idioma de les pàgines web Q.LocaleID = util.ISOToLocaleID("ES") ' Llista de resultats set RS = Q.CreateRecordSet("nonsequential") ' Variable per saber el nº de resultats desde qualsevol vista if vista = "1" then resultats = RS.RecordCount end if ' Nº de resultats per pàgina RS.PageSize = pas ' A partir d'ara la consulta està activa ActiveQuery = TRUE ' Si ja tenia una consulta activa (al haver clicat a "Següents n resultats") elseif UseSavedQuery then ' Recupera els paràmetres de la cerca if IsObject( Session("Query") ) And IsObject( Session("RecordSet") ) then set Q = Session("Query") set RS = Session("RecordSet") if RS.RecordCount <> -1 and NextPageNumber <> -1 then RS.AbsolutePage = NextPageNumber NextRecordNumber = RS.AbsolutePosition end if ActiveQuery = TRUE else Response.Write "

La seva consulta ja ha caducat (es va fer fa més de 15 minuts). Si us plau, torni a fer-la de nou.
" end if end if if ActiveQuery then %> <% Response.Write "     Resultats de la cerca -" Response.Write " S'han trobat " & resultats & " documents" Response.Write " amb la consulta " & chr(34) & ""& buscar & "" + chr(34) + ".

" %> <%' Taula amb les posibles vistes (categories)%>
  Feu click sobre el títol del document per veure'l
 
<% 'Nº de documents en pantalla LastRecordOnPage = NextRecordNumber + RS.PageSize - 1 CurrentPage = RS.AbsolutePage if RS.RecordCount <> -1 AND RS.RecordCount < LastRecordOnPage then LastRecordOnPage = RS.RecordCount end if if not RS.EOF then Response.Write "" end if %> <% ' Nº de pàgina actual if RS.PageCount >= 1 then Response.Write "
Documents " & NextRecordNumber & " a " & LastRecordOnPage if RS.RecordCount <> -1 then Response.Write " de " & RS.RecordCount &" :Pàgina " Response.Write CurrentPage Response.Write " de " & RS.PageCount Response.Write "
" end if %> <% if Not RS.EOF and NextRecordNumber <= LastRecordOnPage then%> <% end if %> <%' Bucle que ensenya el títol, l'abstracte i la URL de cadascun dels resultats ' (si no hi ha títol, ensenya el nom del arxiu). Do While Not RS.EOF and NextRecordNumber <= LastRecordOnPage %> <% ' Mou el punter cap el següent resultat RS.MoveNext NextRecordNumber = NextRecordNumber+1 Loop %>

<%' Indica gràficament el rang dels documents mitjançant .gif if NextRecordNumber = 1 then rang=RS("rank") end if if rang>1000 then rang=1000 elseif rang<1 then rang=1 end if NormRank = RS("rank")/rang if NormRank > 0.80 then stars = "rankbtn5.gif" elseif NormRank > 0.60 then stars = "rankbtn4.gif" elseif NormRank > 0.40 then stars = "rankbtn3.gif" elseif NormRank >.20 then stars = "rankbtn2.gif" else stars = "rankbtn1.gif" end if %>

<%= NextRecordNumber%>. <%if VarType(RS("DocTitle")) = 1 or RS("DocTitle") = "" then%> " target="_top" class="Titol"><%= Server.HTMLEncode( RS("filename") )%> <%else%> " target="_top"><%= Server.HTMLEncode(RS("DocTitle"))%> <%end if%>

<% ' Construeix la URL per veure'n el document subratllat WebHitsQuery = "CiWebHitsFile=" & Server.URLEncode( RS("vpath") ) WebHitsQuery = WebHitsQuery & "&CiRestriction=" & Server.URLEncode( Q.Query ) WebHitsQuery = WebHitsQuery & "&CiBeginHilite=" & Server.URLEncode( "" ) WebHitsQuery = WebHitsQuery & "&CiEndHilite=" & Server.URLEncode( "" ) WebHitsQuery = WebHitsQuery & "&CiUserParam1=" & Server.URLEncode(buscar) WebHitsQuery = WebHitsQuery & "&CiUserParam2=" & Server.URLEncode(RS("DocTitle")) ' WebHitsQuery = WebHitsQuery & "&CiUserParam3=" & QueryForm ' WebHitsQuery = WebHitsQuery & "&CiLocale=" & Q.LocaleID %>
<%if VarType(RS("characterization")) = 8 and RS("characterization") <> "" then%> <%= Server.HTMLEncode(RS("characterization"))%>... <%end if%>

" target="_top"> http://<%=Request("server_name")%><%=RS("vpath")%>


<%' Si no troba cap coincidència n'informa a l'usuari else ' NOT RS.EOF if NextRecordNumber = 1 then if vista = "1" then Response.Write "No s'ha trobat cap document que contingui la consulta especificada.
" Response.Write "Si us plau comproveu que la consulta sigui correcta.

" Response.Write "Si té problemes amb el buscador pot escriure al webmaster.

" end if if vista <> "1" then Response.Write "No hi ha cap document que contingui " + chr(34) +"" Response.Write buscar + "" + chr(34) + " en aquesta categoria.

" end if else Response.Write "No hi ha més documents que continguin la consulta especificada.

" end if end if%>

<% ' Aquest és el botó "Anterior" ' Això recupera la pàgina anterior de documents amb la consulta. %> <%SaveQuery = FALSE%> <%if CurrentPage > 1 and RS.RecordCount <> -1 then %> <%SaveQuery = TRUE%> <%end if%> <% ' Aquest és el botó "Següent" per les consultes no ordenades ("nonsequential"). ' Això recupera la pàgina següent de documents amb la consulta. if Not RS.EOF then%> <%SaveQuery = TRUE%> <%end if%>
<% NextString = "Següents " if RS.RecordCount <> -1 then NextSet = (RS.RecordCount - NextRecordNumber) + 1 if NextSet > RS.PageSize then NextSet = RS.PageSize end if NextString = NextString & NextSet & " documents" else NextString = NextString & " pàgina de documents" end if %>
<% ' Si apareixen el botó "Anterior" o "Següent" es salva la consulta("query") ' i els resultats("recordset") en variables de sessió ("session"). if SaveQuery then set Session("Query") = Q set Session("RecordSet") = RS else RS.close Set RS = Nothing Set Q = Nothing set Session("Query") = Nothing set Session("RecordSet") = Nothing end if %> <% end if %>

<%' Taula amb les posibles vistes (categories)%><%' Formulari per tornar a fer una cerca utilitzant els paràmetres actuals %>

   Escriviu la vostra consulta i premeu buscar
   Escriba su consulta y apriete buscar

 

<%' Afegeix el peu de pàgina %>