#!/bin/sh
export DATE="14.8.2007";SCRIPT=${0#/rom}
export TITLE="Administración:
Publicar"
. ${SCRIPT%/*}/cgi-bin-pre.sh
cat< Con
el micro-sistema de publicación incluido en este firmware, es muy fácil
personalizar las páginas Web en este dispositivo o añadir
nuevas. Con el sistema operativo Windows es necesario instalar dos
programas adicionales: El lenguaje del script
Perl y un programa para comprimir
archivos TAR (p.ej. UltimateZip).
En un Linux standard, este software viene normalmente incluido. Un script en Perl (template.pl) interpretará
un archivo de plantilla HTML (template.html) buscando una cadena de
caracteres "%BODY%". Después, el script de Perl leerá
los otros archivos HTML del directorio sucesivamente extrayendo la parte
entre <BODY> y <BODY>. El código HTML que se extrae se
insertará después en la plantilla en la posición
%BODY% y el resultado se escribirá en un nuevo directorio
(./out-es/). Los archivos referenciados (p.ej. imágenes)
también se copian a través del script de Perl. La cadena de
caracteres "$(echo -n %)DATE%" se reemplazará por la
fecha y la hora del archivo fuente. La cadena de caracteres "$(echo -n %)TITLE%" se reemplazará por el primer encabezamiento H1
que se encuentra en el archivo fuente. Si
el nombre del archivo fuente comienza por "cgi-bin" se insertarán
los comandos de consola adecuados para la ejecución del servidor
Web. Sus propios comandos de la línea de comandos se pueden
escribir entre <SCRIPT LANGUAGE="shell"></SCRIPT>
etiquetas en el archivo fuente. Durante la ejecución del servidor
Web las variables de consola se resolverán de manera standard.
Ejemplos: "\$PWD" se transformarán en $PWD, "\$(ls /tmp)" va a listar los contenidos del directorio /tmp.
El
directorio de destino resultante (./out-es/) se empaqueta junto con todos
los subdirectorios en un archivo TAR-, TGZ- o TAR.GZ . El archivo se puede
subir a través de esta página de administración. Las
páginas existentes (como estas páginas de administración)
no se suprimen mediante este proceso. Notas
para usuarios de Windows: Si los "tar" y "Perl"
están instalados, los comandos de Linux se aceptarán
igualmente en la línea de comandos de windows. Se tendrá que
reemplazar el carácter "/" por el guión ("\").
El archivo de Perl también puede ejecutarse haciendo doble click
encima del nombre del archivo "template.pl". Escribe un HTML válido y
cierra y abre <Tags></Tags> con </Tags>. Usa un editor
de HTML de validación o un editor de texto con un mínimo de
rigor. Añade
un link a la nueva página en el archivo template.html. Copia una de
las líneas de la tabla (p.ej. <TR>... Status ...</TR>)
y cambia la etiqueta <A HREF=""> y el texto. Puede ser
necesaria la ampliación de la barra de navegación. Busca y
cambia el atributo WIDTH="150" al tamaño conveniente. Un
nuevo subdirectorio también necesitará un nuevo
template.html. El script de Perl leerá cada plantilla por
separado para cada subdirectorio. Para ahorrar espacio, cambia referencias
a imágenes existentes como "../images/". El archivo TAR se examinará
para recortar subdirectorios adicionales en el archivo. Se
puede añadir soporte multi-lenguaje <SPAN LANG="xx">
tags. También se buscan atributos como TITLE, ALT y VALUE por medio
del patrón "Todos los lenguajes!xx:Text for language
A!yy:Texto para el lenguaje B". El script de Perl acepta parámetros
para filtrar el lenguaje deseado. La carga de la página
Web se ha cancelado.
Archivo página Web (*.tar) o
intro.jpg:
Creación
de páginas Web
Funcionamiento
Manual Breve
Consejos
$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 carga de la página Web se ha cancelado.
EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh