#!/bin/sh
export DATE="14.8.2007";SCRIPT=${0#/rom}
export TITLE="Administració: Publica"
. ${SCRIPT%/*}/cgi-bin-pre.sh
cat< Amb el micro-sistema de publicació inclòs
amb aquest firmware, és molt fàcil personalitzar les pàgines
Web en aquest dispositiu o afegir-ne de noves. Amb el el sistema operatiu
Windows, és necessari instal·lar dos programes addicionals:
El llenguatge script Perl i un
programa per comprimir arxius TAR (ex.
UltimateZip). Amb Linux,
normalment, aquest software està inclòs en la distribució. Un script en perl (template.pl) interpretarà un
arxiu de plantilla HTML (template.html) cercant una cadena de caràcters
"%BODY%". Després, l'script de perl llegirà
succesivament tots els altres fitxers HTML del directori extraient la part
entre <BODY> i </BODY>. El codi HTML que s'extreu després
s'injecta en la plantilla el %BODY% posició i el resultat s'escriurà
en un nou directori (./out-en/). Els arxius referenciats (ex. imatges) també es
copien mitjançant l'script de perl. La cadena de caràcters "$(echo -n %)DATE%" es reemplaçarà amb la data i l'hora de
l'arxiu font. La cadena de càracters "$(echo -n %)TITLE%"
es reemplaçarà pel primer encapçalament H1 que es
troba en l'arxiu font. Si el nom de l'arxiu font comença per "cgi-bin"
s'insertaran les ordres de l'intèrpret adequades per a l'execució
del servidor web. Les seves pròpies ordres de shell es poden
escriure entre <SCRIPT LANGUAGE="shell"></SCRIPT>
etiquetes en l'arxiu font. Durant l'execució del servidor web les
variables de l'intèrpret d'ordres es resoldran de manera estàndard.
Exemples: "\$PWD" es transformaran $PWD, "\$(ls /tmp)"
llistaran els continguts del directori /tmp.
El directori de destí resultant
(./out-en/) s'empaqueta juntament amb tots els subdirectoris en un arxiu
TAR-, TGZ- or TAR.GZ. L'arxiu es pot pujar mitjançnt la pàgina
d'administració. Les pàgines existents (com aquestes pàgines
d'administració) no es suprimeixen mitjançnt aquest procés. Notes per usuaris Windows: Si els programes "tar"
i "perl" estan instal·lats, les comandes de Linux
s'acceptaran igualment en la finestra de comandes de Windows. S'haurà
de reemplaçar el caràcter "/" per la barra
inversa("\"). L'arxiu de Perl també pot executar-se fent
doble click sobre el nom de l'arxiu "template.pl". Escriure un HTML vàlid i tancar i obrir <Tags>
amb </Tags>. Utilitzar un editor d'HTML que validi o un editor de
text amb una mica de rigor. Afegir un enllaç a la nova pàgina en el
arxiu template.html. Copiar una línies de la taula (ex. <TR>...
Status ...</TR>) i canviar l'etiqueta <A HREF=""> i
el text. Pots ser necessària l'ampliació de la barra de
navegació. Busca i canvia els atributs WIDTH="150" al
tamany convenient. El nou directori també necessitarà un nou
template.html. L'script de perl llegirà cada plantilla per separat
per cada subdirectori. Per estalviar espai, canvieu les referéncies
a les imatges existents com "../images/". L'arxiu TAR s'examinarà per retallar
subdirectoris adicionals en l'arxiu . Es pot afegir suport Multi-llengua amb <SPAN LANG="xx">.
També es busquen atributs com TITLE, ALT i VALUE per ".Tots
els llenguatges!xx:Text pel llenguatge A!yy:Text pel llenguatge B".
L'script de perl accepta paràmetres per filtrar el llenguatge
necessari. La càrrega de la pàgina web s'ha cancel·lat.
Arxiu de pàgina Web (*.tar) o intro.jpg:
Creació de pàgines web
Funcionament
Manual breu
Consells
$ffout
" 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<
La càrrega de la pàgina s'ha cancel·lat.
EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh