#!/bin/sh export DATE="14.8.2007";SCRIPT=${0#/rom} export TITLE="Admin: Pubblica" . ${SCRIPT%/*}/cgi-bin-pre.sh cat<Admin: Pubblica EOF if [ "$REQUEST_METHOD" != "POST" ]; then cat<
Archivio pagine Web (*.tar) o intro.jpg:
 
   

Creare le pagine web

Con il micro sistema di autoring incluso in questo firmware, è abbastanza semplice personalizzare le pagine web in questo apparato o aggiungerne di nuove. Con il sistema operativo Windows hai bisogno di installare due software addizzionali: il linguaggio Perl e un software di archiviazione TAR (per esempio UltimateZip). In una distribuzione Linux standard normalmente questi software sono già inclusi.

Funzionamento

Lo script perl (template.pl) leggerà in un file template HTML (template.html) cercando la stringa di caratteri "%BODY%". di seguito, lo script perl leggerà tutte gli altri file HTML nella directory corrente estraendo in successione le parti tra <BODY> e </BODY>. Il codice HTML estratto verrà inserito nel template nella posizione %BODY% e il risultato verrà scritto in una nuova directory (./out-en/).

I files riferiti (es. images) verranno a loro volta copiati dallo script perl nella nuova directory. la stringa di caratteri "$(echo -n %)DATE%" sarà rimpiazzata con la data e l'ora del file sorgente. La stringa di caratteri "$(echo -n %)TITLE%" sarà rimpiazzata con la prima riga H1 trovata nel file sorgente.

Se il nome del file dei sorgenti comincia con "cgi-bin" cerranno inseriti degli appropriati comandi di shell per l'esecuzione del server web. propri comandi di shell possono essere scritti tra i tag <SCRIPT LANGUAGE="shell"></SCRIPT> all'interno del file sorgente. Durante l'esecuzione del server web, le variabili di shell saranno risolte in modo standard. Esempio: "\$PWD" risponderà in uscita $PWD, "\$(ls /tmp)" darà una lista del contenuto della directory /tmp.

La risultante direcrory di destinazione (./out-en/) dovrà essere compressa con tutte le sottodirectory all'interno di un archivio TAR-, TGZ- o TAR.GZ . Il file compresso può essere caricato dalla pagina di amministrazione. Le pagine esistenti (come questa pagina di amministrazione) non verranno cancellate durante questo processo.

Breve Manuale

  1. Recuperare il pacchetto di authoring .
  2. Estrarre i files in una nuova directory (Linux: "tar -xvf ff-pubpak*.tar").
  3. Lancia lo script perl: (Linux: EOF echo 'cd ff-pubpak; perl template.pl -x "/index.html" -S xx; ls out-xx' cat<
  4. Creare un file di archivio dalla directory di uscita (Linux: "tar -cvf out-en.tar out-en").
  5. Caricare il nuovo file d'archivio out-en.tar con questa pagina di amministrazione.
  6. Cambiare i sorgenti HTML secondo le proprie necessità e ripetere dal passo 3.

Nota bene: Nel pacchetto di authoring non sono inclusi due link simbolici che in ogni modo sono disponibili nella directory /www dell'apparato. Il messaggio di warning "No ./netperf, No ./netserver" è normale e sta semplicemente ad indicare questa mancanza.

Note per utenti Windows: Se i programi "tar" e "perl" sono installati, i comandi Linux vengono comunque accettati dal prompt di comando windows. Hai però bisogno di rimpiazzare il carattere "/" con la backslash ("\"). Lo script perl può essere anche eseguito con un doppio click del file "template.pl".

Suggerimento

Scrivi un codice HTML valido aprendo e chiudendo i <Tags> con </Tags>. Usa un editor di validazione HTML o usa un editor di testi con un poco di attenzione.

Aggiungi i link a nuove pagineal file template.html. Copia una delle esistenti linee (es. <TR>... Status ...</TR>) e sostituisci il tag <A HREF=""> e il testo. Potrebbe essere necessario allargare la barra di navigazione di sinistra. Cerca e cambia l'attributo WIDTH="150" con la dimensione desiderata.

Una nuova sottodirectory richiede anche un nuovo template.html. Lo script perl leggerà i divers templates per ogni sottodirectory. Per salvare spazio sostituisci i riferimenti a immagini esistenti con "../images/".

L'archivio TAR sarà esaminato per eliminare eventuali sottodirectory di troppo.

Il supporto multilingue potrà essere incluso con il tag <SPAN LANG="xx">. Anche gli attributi TITLE, ALT e VALUE saranno esaminati al fine di trovare i modelli di test "All languages!xx:Testo per la linga A!yy:Testo per la lingua B". Lo script perl accetta un parametro per filtrare il linguaggio desiderato.

EOF elif ! ffout=$(./freifunk-upload 2>&1); then cat< $ffout

Il caricamento delle pagine web non è andato a buon fine.

EOF elif [ -n "$ffout" ]; then cat<Decompressione pagine web.

EOF echo "
"
if [ "${ffout##*/}" = "intro.jpg" ]; then
set -x
rm -f /www/images/intro.jpg
mv "$ffout" /www/images
set +x
else
zflag=
if [ -z "${ffout##*.tar.gz}" ] || [ -z "${ffout##*.tgz}" ]; then
zflag=-z
fi
tardir=$(tar $zflag -tvf "$ffout"|if read line;then if [ "-" != $(echo $line|dd bs=1 count=1 2>&-) ];then set $line;echo $6;fi;fi)
mkdir /tmp/wwwtmp.$$/
tar -C /tmp/wwwtmp.$$/ $zflag -xf "$ffout"
rm -f "$ffout"
chmod +x /tmp/wwwtmp.$$/$tardir/cgi-bin*>/dev/null 2>&1
chmod +x /tmp/wwwtmp.$$/$tardir/cgi-bin/*>/dev/null 2>&1
tar -cC "/tmp/wwwtmp.$$/$tardir" .| tar -xvC /www/
rm -rf /tmp/wwwtmp.$$/
fi
echo "
" else cat< Archiovi delle pagine web non ricevuto.

Il caricamento delle pagine Web è stato cancellato.

EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh