HFS: Modelli

From rejetto wiki
Jump to navigation Jump to search

In HFS 2.1, alcune delle informazioni procedurali presenti in questa sezione sono obsolete e, sebbene la quasi totalità delle informazioni circa le sezioni, i simboli, ecc., siano ancora corrette, sarà necessario usare il nuovo HTML Template Editor.


Fruizione dei templates dal forum

Puoi ottenere vari templates da HFS templates forum come pure da HFS Template Gallery.
Per inserire un template in HFS, segui questi passi:

  1. Apri il ''"Menu"'' in HFS.
  2. Seleziona "Other options" e apri "Edit HTML template".
  3. Copia il template recuperato dalle fonti di cui sopra (aprilo con un semplice editor di testo) e incollalo sovrascrivendo quello già presente nella finestra dell'editor.
    Agisci sul pulsante "Apply" quindi ''OK'' e riapri la finestra del browser (''Open in browser'') per vedere i cambiamenti della pagina.

Costruisci il tuo template

1. Apri il "Menu" in HFS.

2. Seleziona "Other options" e apri "Edit HTML template".

3. Premi il pulsante "Help" per vedere la lista dei simboli disponibili.

Aiuto del Template (Template help)

HFS costruisce dinamicamente le pagine di HTML caricando pezzi di codice HTML da un template.
Un template è testo diviso in sezioni.
Ogni sezione descrive una parte della pagina HTML finale che sarà servita al browser che l'ha richiesta.
Il template deve fornire tutte le sezioni per far lavorare in modo corretto l'HTML generato ed è per questo che, solitamente, una sezione contiene codice HTML.
Poichè la pagina finale HTML è costruita dinamicamente, i simboli vengono utilizzati per generare un valido output.
I simboli sono racchiusi dal carattere % ('%percent%') e definiscono le corrispondenti sezioni.
Una sezione è contraddistinta da una coppia di parentesi quadre '[square brackets]' che la contengono.
I simboli vengono tradotti in valori attuali durante il tempo di esecuzione.
Alcuni simboli ritornano una sequenza per la variabile corrente, mentre altri sono attivati solamente se una certa condizione è soddisfatta.
Tra i simboli, alcuni specifici operatori di linea possono anche richiedere alle sezioni di generare codice HTML per l'output.

Nella sezione principale, che è senza etichetta, e in tutte le altre sezioni, i simboli e gli operatori di linea di comando possono essere usati per controllare la produzione di HTML.
Alcuni simboli sono limitati ad una specifica sezione, altri produrranno HTML dalle sezioni corrispondenti, mentre altri ancora ritorneranno il corrispondente valore o la stringa attuale.

Il metodo migliore per creare un nuovo template è quello di rieditare un template già esistente e di utilizzarlo, quindi, come modello.

Dov'è immagazzinato il template?

Il template è sempre salvato "adiacente" alle opzioni.
Se le opzioni sono salvate su disco (il file hfs.ini) anche il template sarà salvato su questo (con il nome di hfs.tpl).Quindi, nella stessa cartella, saranno presenti questi due files e il file del programma (hfs.exe).
Più spesso, sia le opzioni che il template vengono salvati direttamente nel registro di Windows (opzione di default).

Il template viene caricato all'avvia di HFS.
Se nella cartella di HFS non è presente alcun template, verrà caricato quello predefinito.

Lista dei simboli - per sezione

Simboli disponibili in tutte le sezioni

%style%
inserisce HTML dalla sezione [style]
%login-link%
inserisce HTML dalla sezione [login-link] se nessun utente è loggato, valore nullo in tutti gli altri casi
%loggedin%
inserisce HTML dalla sezione [loggedin] se un utente è loggato, valore nullo in tutti gli altri casi
%user%
restituisce il nome degli utenti autenticati, valore nullo se nessun utente è loggato
%ip%
inserisce sulla pagina l'indirizzo IP del client
%version%
restituisce il numero di versione di HFS
%timestamp%
restituisce il valore della data e dell'ora sul server (il formato è definito dai valori impostati sul SO)
%uptime%
restituisce il valore, in termini di tempo, del funzionamento continuo di HFS senza spegnimenti
%connections%
restituisce il valore del numero corrente di connessioni verso HFS
%speed-out%
restituisce il valore della velocità corrente in uscita
%speed-in%
restituisce il valore della velocità corrente in entrata
%total-out%
restituisce il valore totale dei bytes inviati
%total-in%
restituisce il valore totale dei bytes ricevuti
%number-addresses%
restituisce il valore del numero corrente di clients connessi (indirizzi IP)
%number-addresses-downloading%
restituisce il valore del numero corrente di clients che effettuano il download (indirizzi IP)

Simboli disponibili nella sezione principale

%up%
inserisce HTML dalla sezione [up] se la cartella corrente non è la radice del sito, valore nullo nel caso di root
%upload-link%
inserisce HTML dalla sezione [upload-link] se l'upload è disponibile per la cartella considerata, valore nullo in tutti gli altri casi
%host%
restituisce il campo Host http header, come inviato dal browser.
Es.: Server-URL(:porta) o Server-IP(:porta)
%number%
restituisce il valore del numero di elementi (cartelle + files) nella cartella corrente
%number-folders%
restituisce il valore del numero di cartelle contenute nella cartella corrente
%number-files%
restituisce il valore del numero di files contenuti nella cartella corrente
%total-size%
restituisce il valore totale sulla quantità di spazio occupato dagli elementi contenuti nella cartella corrente
%total-kbytes%
simile a %total-size%, ma espresso in kilobytes
%total-bytes%
simile a %total-size%, ma espresso in bytes
%build-time%
restituisce il valore del tempo impiegato per generare la pagina
%files%
inserisce HTML dalla sezione [files] se almeno un elemento è presente nella cartella corrente, inserisce HTML dalla sezione [nofiles] negli altri casi

Simboli disponibili nella sezione [file]

%list%
la lista completa degli elementi presenti nella cartella corrente, the full list of items in the current folder, ricavata aggiungendo ogni elemento dopo la sezione pertinente dove è inserito [folder], [file] o [link].

Simboli disponibili nelle sezioni [file], [folder] e [link]

%new%
inserisce HTML dalla sezione [new] se il file è recente (Menù principale >>> Virtual File System >>> Flag files added recently ...), valore nullo negli altri casi
%comment%
inserisce HTML dalla sezione [comment] se un commento è disponibile per l'elemento, valore nullo negli altri casi
%item-url%
restituisce il valore del percorso per raggiungere l'elemento
%item-name%
restituisce il valore per il nome dell'elemento
%item-folder%
restituisce il valore del percorso verso l'elemento ma non nel formato URL.
Spesso, ha lo stesso valore di %folder%, ma differisce nel caso delle liste ricorsive (recursive listings)
%item-added%
restituisce il valore per la data e l'ora in cui l'elemento è stato aggiunto al VFS (la data e l'ora sono definite dalle impostazioni del OS)

Simboli disponibili nelle sezioni [file] e [folder]

%item-dl-count%
restituisce il valore tthe value for the download counter (virtual folders totalize inner counters)
%item-modified%
restituisce il valore per la modifica dell'ora come riportato dal file o dalla cartella (data e ora sono definite dalle impostazioni del SO)

Simboli disponibili nella sezione [file] (Symbols available in section [file])

%item-size%
restituisce il valore per la quantità di spazio occupata dall'elemento
%item-size-b%
come %item-size%, ma espressa in bytes
%item-size-kb%
come %item-size%, ma espressa in kilobytes

Simboli disponibili nelle sezioni [upload], [upload+progress], [upload-results] e nella sezione principale

%diskfree%
restituisce il valore del totale di spazio disponibile meno la quota riservata e contenuta nella risorsa dove è presente la cartella corrente (funziona esclusivamente con cartelle reali)
%folder%
restituisce il valore per il percorso verso la cartella corrente
%encoded-folder%
restituisce il valore per il percorso codificato verso la cartella corrente
%parent-folder%
restituisce il valore per il percorso codificato verso la cartella parente
%folder-comment%
inserisce codice HTML dalla sezione [folder-comment] se un commento è disponibile per la cartella corrente, valore nullo negli altri casi

Simboli disponibili nella sezione [error-page]

%content%
inserisce codice HTML dalle sezioni [ban], [deny], [not found], [unauthorized] o [overload], in funzione del codice di errore

Simboli disponibili nella sezione [ban]

%reason%
restituisce un valore, ricavato dal file hfs.ini, per la descrizione del ban (divieto)

Symbols available in section [progress]

%progress-files%
inserts the HTML from section [progress-nofiles] if no file is transferred with the current client, otherwise the list of transferring files got by pasting each file after the pertinent section [progress-download-file] and/or [progress-upload-file] is inserted

Simboli disponibili nelle sezioni [progress-download-file] e[progress-upload-file]

Queste sezioni sono relative al trasferimento di file.

%perc%
restituisce il valore per la percentuale fornita
%filename%
restituisce il valore per il nome del file
%done-bytes%
restituisce il valore per i bytes trasferiti
%done%
come %done-bytes%, ma con l'utilizzo di unità di misura dinamiche
%total-bytes%
restituisce il valore per il numero di bytes del trasferimento completo
%total%
come %total-bytes%, ma con l'utilizzo di unità di misura dinamiche
%speed-kb%
restituisce il valore della velocità di lavoro

Simboli disponibili nella sezione [upload]

%uploaded-files%
input boxes for files to be uploaded got by pasting [upload-file] for each file
%host%
restituisce il campo Host http header, come inviato dal browser.
Es.: Server-URL(:porta) o Server-IP(:porta) (fino alla versione 2.1 beta)
%up%
inserisce HTML dalla sezione [up] se la cartella corrente non è la radice del sito, valore nullo nel caso di root (fino alla versione 2.1 beta)

Simboli disponibili nella sezione [upload-file]

%idx%
indice ordinario del contenitore di inserimento

Simboli disponibili nella sezione [upload-results]

%uploaded-files%
lista dei file inviati al server (uploaded files) fornita, per ogni file, dalla sezione [upload-success] e/o dalla sezione [upload-failed]
%host%
restituisce il campo Host http header , come inviato dal browser.
Es.: Server-URL(:porta) o Server-IP(:porta) (sino alla versione 2.1beta)
%up%
inserisce codice HTML dalla sezione [up] se la cartella corrente non è la radice del sito, valore nullo nel caso di root (sino alla versione 2.1beta)

Simboli disponibili nelle sezioni [upload-success] e [upload-failed]

%item-name%
nome del file
%item-url%
indirizzo del file

Simboli disponibili nella sezione [upload-success]

%item-size%
restituisce il valore per la dimensione del file inviato
%speed%
restituisce il valore per la media della velocità di upload

Simboli disponibili nella sezione [upload-failed]

%reason%
restituisce il valore con la motivazione dell'upload non riuscito

Lista degli operatori da linea di comando per gli indirizzi

Gli operatori da linea di comando per gli indirizzi possono essere usati in HTML (es.: href="/~login" ) e nella linea di indirizzo del browser (es.: www.tuosito.com/~login).

~nodefault
non serve gli elementi predefiniti in una cartella, ma una cartella con files (fino alla versione 2.1beta)
~login
richiama la richiesta per la schermata di autenticazione
~files.lst
inserisce codice HTML dal file filelist.tpl se questo è presente nella cartella dove è residente hfs.exe, negli altri casi produce una lista dei files, in formato ASCII, presenti nella cartella richiesta
~img
visualizza le immagini del server
~progress
richiama codice HTML dalla sezione [progress]
~upload
richiama codice HTML dalla sezione [upload] per la cartella richiesta
~upload-no-progress
richiama codice HTML dalla sezione [upload-no-progress] per la cartella richiesta
~upload+progress
richiama codice HTML dalla sezione [upload+progress] per la cartella richiesta

Lista delle Sezioni

Sezioni disponibili nel template:

[style]
codice HTML per il simbolo %style%
[login-link]
codice HTML per il simbolo %login-link% se nessun utente è loggato
[loggedin]
codice HTML per il simbolo %loggedin% quando l'utente è loggato
[up]
codice HTML per il simbolo %up% quando esiste una cartella a un livello superiore (non nel caso di root)
[link]
codice HTML per il collegamento ad una URL
[folder]
codice HTML per il collegamento verso una cartella
[file]
codice HTML per il collegamento verso un file
[file.<EXT>]
usato al posto di [file] quando il file ha un'estensione specifica
[files]
HTML for the %files% symbol when the current folder is not empty
[nofiles]
codice HTML per il simbolo %files% nel caso in cui la acrtella corrente sia vuota
[comment]
codice HTML per il simbolo %comment% per le sezioni[file], [folder] e [link] se disponibili nel VFS
[folder-comment]
codice HTML per il simbolo %folder-comment% se disponibile nel VFS
[newfile]
codice HTML per il simbolo %new% se l'elemento è marcato come nuovo
[upload-link]
codice HTML per il simbolo %upload-link% quando l'utente ha diritti per effettuare l'upload
[upload]
codice HTML per il comando ~upload
[upload-file]
codice HTML per il form di upload
[upload-results]
codice HTML per la pagina dei risultati dell'upload quando questo è terminato
[upload-success]
codice HTML per i files inviati con successo
[upload-failed]
codice HTML per i files non inviati con successo
[progress]
codice HTML per il simbolo %progress%
[progress-download-file]
codice HTML per il download in corso
[progress-upload-file]
codice HTML per l'upload in corso
[progress-nofiles]
codice HTML quando non esistono trasferimenti in corso
[upload-no-progress]
codice HTML per il comando ~upload-no-progress
[upload+progress]
codice HTML per il comando ~upload+progress
[error-page]
codice HTML in caso di un errore
[overload]
codice HTML per il simbolo %content%
[unauthorized]
codice HTML per il simbolo %content%
[deny]
codice HTML per il simbolo %content%
[ban]
codice HTML per il simbolo %content%
[max contemp downloads]
codice HTML per il simbolo %content%
[not-found]
codice HTML per il simbolo %content%