% Option Explicit %> <% 'Setta il response.buffer a true Response.Buffer = True 'Dimensiono le variabili server Dim FSO 'File system object Dim Cartella 'Cartella Dim ArrayParole 'Array per contenere le parole da cercare Dim ParoleDaCercare 'Parole da ricercare Dim Root 'Variabile Booleana per riconoscere la root Dim FileURL 'Contiene il percorso del file sul sito Dim ServerPath 'Contiene il percorso di questo script sul server Dim FileVisualizzati 'Contiene il numero di file visualizzati per volta Dim TotaleFileCercati 'Numero di file in cui è stata effettuata la ricerca Dim TotaleFileTrovati 'Numero dei file in cui è stata trovata una corrispondenza Dim NumeroFile 'Numero totale dei file Dim LoopContaLinkPagine 'Conta i loop per mostrare i link alle pagine Dim ArrayRisultatiRicerca(200) 'Array per contenere i risultati della ricerca Dim LoopContaLinkPagineRisultati 'Conta i loop per mostrare i risultati della ricerca Dim ArrayPosizioneRisultati 'Posizione nell'Array dei risultati Dim CorrispondenzaTrovata 'Controlla se sono state trovate delle corrispondenze Dim TipiDiFileDoveCercare 'Estensioni dei file dove effettuare la ricerca Dim CartellaDaEscludere 'Cartelle dove non effettuare la ricerca Dim FileDaEscludere 'Nomi dei file da escludere dalla ricerca Dim WebInInglese 'Impostazione linguiaggio del sito web '---------------------------------------------------------------------------------------------------------------------------- 'INIZIO --- VARIABILI CHE E' POSSIBILE MODIFICARE DIRETTAMENTE '---------------------------------------------------------------------------------------------------------------------------- 'Imposta il numero di risultati da visualizzare per ogni pagina Const RecordsPerPagina = 10 'Estensioni dei file dove verrà effettuata la ricerca (devono essere separate da (,) virgola) TipiDiFileDoveCercare = "htm,html,asp,shtml,pdf,aspx" 'Cartelle dove non deve essere effettuata la ricerca (devono essere separate da (,) virgola) CartellaDaEscludere = "cgi_bin,_bin,fpdb,db" 'Nomi dei file da escludere dalla ricerca (devono essere separate da (,) virgola ed avere il nome completo) FileDaEscludere = "riservato.htm,file_protetto.asp" 'Impostazione linguiaggio del sito web 'True = Inglese \ False = Altre Lingue WebInInglese = False '---------------------------------------------------------------------------------------------------------------------------- 'FINE --- VARIABILI CHE E' POSSIBILE MODIFICARE DIRETTAMENTE '---------------------------------------------------------------------------------------------------------------------------- 'Reset variabile TotaleFileCercati = 0 %>
<% 'Inserisce tutte le parole da cercare in una variabile ParoleDaCercare = Trim(Request.QueryString("CosaCerco")) 'Se il web è in Inglese usa il metodo Server HTML Encode If WebInInglese = True Then 'Sostitiusce tutti i tag HTML con il codice HTML equivalente (stoppa le persone che inseriscono tag HTML) ParoleDaCercare = Server.HTMLEncode(ParoleDaCercare) 'Se non è in Ingelse cambia solo i tag dello script Else 'Sostituisce i tag <> con il codice HTML encoded < and > ParoleDaCercare = Replace(ParoleDaCercare, "<", "<", 1, -1, 1) ParoleDaCercare = Replace(ParoleDaCercare, ">", ">", 1, -1, 1) End If 'Inserisce tutte le parole da cercare in un Array ArrayParole = Split(Trim(ParoleDaCercare), " ") 'Legge il numero del file da dove iniziare a visualizzare i risultati NumeroFile = CInt(Request.QueryString("PosizioneDiPartenza")) 'Imposta il numero dei file che devono essere visualizzati FileVisualizzati = NumeroFile 'Crea il file system object Set FSO = Server.CreateObject("Scripting.FileSystemObject") 'Se non ci sono parole da cercare non chiama la routine di ricerca If NOT ParoleDaCercare = "" Then 'Imposta il path e la root folder dove effettuare la ricerca Set Cartella = FSO.GetFolder(Server.MapPath("./")) 'Legge il path corrente di questo script ServerPath = Cartella.Path & "\" 'Imposta a true se lo script sta cercando nella root Root = True 'Chimata alla routine di ricerca Call SearchFile(Cartella) 'Resetta le variabili del server Set FSO = Nothing Set Cartella = Nothing 'Visualizza la tabella HTML con lo stato della ricerca Response.Write vbCrLf & "
Ricerca effettuata nel sito per " & ParoleDaCercare & " Spiacente, nessuna corrispondenza trovata. | "
'Altrimenti visualizza quanti record sono stati trovati
Else
Response.Write vbCrLf & " Ricerca effettuata nel sito per " & ParoleDaCercare & "
Risultati da " & NumeroFile + 1 & " a " & FileVisualizzati & " di " & TotaleFileTrovati & " | "
End If
'Chiude la tabella con lo stato della ricerca
Response.Write vbCrLf & "
| "
'Se non ci sono risultati visualizza un errore
If CorrispondenzaTrovata = False Then
'Errore visualizzato
Response.Write vbCrLf & " " Response.Write vbCrLf & " La ricerca - " & ParoleDaCercare & " - non ha fornito risultati su questo sito."
Response.Write vbCrLf & " Consigli :"
Response.Write vbCrLf & "
" Response.Write vbCrLf & " " & ArrayRisultatiRicerca(LoopContaLinkPagineRisultati) Response.Write vbCrLf & " " Next End If 'Chiude la tabella che visualizza i risultati Response.Write vbCrLf & " | "
Response.Write vbCrLf & "
"
Response.Write vbCrLf & "
| "
Response.Write vbCrLf & "
La ricerca è stata effettuata in <% = TotaleFileCercati %> documenti. |