Este archivo se encarga de cargar la configuración de Nes. Se recomienda no cambiar sus valores y hacerlo en el archivo .nes.cfg. Especialmente el valor de private_key que se utiliza para encriptar datos, si no se cambia el script lanzará un aviso cada vez que se ejecute Nes.
tmp_dir # Directorio temporal tmp_suffix # Sufijo de los archivos temporales tmp_clear # Si borra los archivos temporales ó 0 y # no los borra nunca. sufijo tiempo: s: segundos, # m: minutos, h: horas, d: dias, M: meses, y: años # 24h es 24 horas top_dir # Directorio raiz del espacio Web nes_dir # Directorio de Nes nes_top_dir # ruta absoluta el directorio de instalación de Nes plugin_dir # Directorio de los plugin, relativo a top_dir obj_dir # Directorio de los objetos Nes, relativo a top_dir plugin_top_dir # Directorio de los plugin, ruta absoluta obj_top_dir # Directorio de los objetos Nes, ruta absoluta time_zone # sin implementar # zona horaria locale # locale, ej.: es_ES.utf8 session_prefix # nombre que se utiliza para la sesión de usuario private_key # Clave privada que se usa para encriptar datos DB_base # Nombre de la base de datos DB_user # Usuario de la base de datos DB_pass # Password de la base de datos DB_driver # Driver de la base de datos, 'mysql' por defecto DB_host # Host de la base de datos, 'localhost' por defecto DB_port # Puerto de la base de datos '3306', por defecto php_cline # linea de comando para PHP CLI php_cgi_cline # linea de comando para PHP CGI perl_cline # linea de comando para Perl shell_cline # linea de comando para Shell python_cline # linea de comando para Python max_post # max kB. tamaño máximo de los POST max_upload # max kB. tamaño máximo de los los upload, 0 ninguno tmp_upload # en upload de gran tamaño el consumo de memoria # es elevado, con esta variable definimos a partir # de que kB. se usa un archivo temporal en los upload # evitando que estos se cargen en memoria. # Lista de Plugins separados por comas a cargar al inicio sólo # para el archivo en la URL, en todos los nhtml del directorio, ej.: # auto_load_plugin_top_first = {: * cfg_plugin_top_dir :}/cache.pl,./my_script.pl auto_load_plugin_top_first # Lista de Plugins separados por comas a cargar al inicio para # todos los archivos incluidos, en todos los nhtml del directorio, ej.: # auto_load_plugin_all_first = {: * cfg_plugin_top_dir :}/plugin.pl auto_load_plugin_all_first # Lista de Plugins separados por comas a cargar al final sólo # para el archivo en la URL, en todos los nhtml del directorio, ej.: # auto_load_plugin_top_last = {: * cfg_plugin_top_dir :}/filter.pl,./my_script.pl auto_load_plugin_top_last # Lista de Plugins separados por comas a cargar al final para # todos los archivos incluidos, en todos los nhtml del directorio, ej.: # auto_load_plugin_all_last = {: * cfg_plugin_top_dir :}/plugin.pl auto_load_plugin_all_last
El archivo .nes.cfg se coloca en el directorio donde tengas instalados tus archivos nhtml, sobreescribe la configuración de Setting y la de los plugins.
Nes buscará éste archivo en el directorio del nhtml ejecutado e irá subiendo de directorio hasta el directorio raiz de la Web para leer los .nes.cfg
/html/nhtml/.nes.cfg private_key = pass1 mi_var1 = 10 mi_var2 = 20 /html/.nes.cfg private_key = pass2 mi_var2 = 30 mi_var3 = 40 /.nes.cfg private_key = pass3 mi_var1 = 50 mi_var2 = 60 mi_var3 = 70 El valor de las variables para los archivos ejecutados en: /html/nhtml/file.nhtml private_key = pass1 # prevalecen los valores de éste nivel mi_var1 = 10 # prevalecen los valores de éste nivel mi_var2 = 20 # prevalecen los valores de éste nivel mi_var3 = 40 # definida en /html/.nes.cfg # se ignora mi_var3 de /.nes.cfg /html/file.nhtml private_key = pass2 # prevalecen los valores de éste nivel mi_var1 = 50 # definida en /.nes.cfg mi_var2 = 30 # prevalecen los valores de éste nivel mi_var3 = 40 # prevalecen los valores de éste nivel /file.nhtml private_key = pass3 # prevalecen los valores de éste nivel mi_var1 = 50 # prevalecen los valores de éste nivel mi_var2 = 60 # prevalecen los valores de éste nivel mi_var3 = 70 # prevalecen los valores de éste nivel
.nes.cfg private_key = pass3 myscript_var1 = 50 myscript_var2 = 60 myscript_var3 = 70Puedes acceder a éstas variables desde el archivo nhtml como:
{: * cfg_myscript_var1 :}Y desde Perl:
use Nes; my $nes = Nes::Singleton->new(); my $config = $nes->{'CFG'}; my $var1 = $config->{'myscript_var1'};
# Es un scalar tmp_dir = /tmp/nes # Es una array, separación por comas auto_load_plugin_top_first = plugin1.pl, plugin1.plSi deseamos definir nuestras propias variables con un tipo de dato concreto:
# Scalar, usar sintaxis Perl en el valor. myscript_var1 $= 'scalar' # Hash myscript_var2 %= ( 'name' => 'Jason', 'email' => 'jason\@example.com' ) # Array myscript_var3 @= ( 'one', 'two', 'three' )También podemos usar sintaxis Perl en el valor para variables predefinidas, teniendo cuidado de no cambiar el tipo:
# scalar tmp_dir $= '/tmp/nes' # Es un scalar, ERROR tmp_dir %= '/tmp/nes' # Array, separación por comas auto_load_plugin_top_first = plugin1.pl, plugin2.pl # Array, sintaxis Perl auto_load_plugin_top_first @= ( 'plugin1.pl', 'plugin2.pl' )En las variables predefinidas, todas son Scalar salvo las que admiten separación por comas que son Arrays. En caso de los arrays nos puede ser útil si uno de los valores tiene una coma, o en los scalar para definir un espacio:
# no podemos dar como valor un espacio así: myscript_var1 = ' ' <- error, el valor sería el literal ' ' incluidas comillas myscript_var1 = <- error, sin valor # para dar como valor un espacio lo podemos hacer así: myscript_var1 $= ' ' # Array, el nombre incluye una coma auto_load_plugin_top_first = plugin,1.pl, plugin,2.pl <- error # Array, sintaxis Perl el nombre incluye una coma auto_load_plugin_top_first @= ( 'plugin,1.pl', 'plugin,2.pl' )
Hay que tener en cuenta que cada variable sólo puede ocupar una linea.