eBD:SENDMAIL

Sintaxis:

<eBD:SENDMAIL TO="mail" FROM="mail" [CC="mail;..." ] [BCC="mail;..." ] [REPLYTO="address"] SUBJECT="subject" [SERVER="smtp"] [PORT="25"] [TYPE="text/html"] [USER="username" PASSWORD="password"] >
Contenido del mensaje | <eBD:BODY></eBD:BODY><eBD:ATTACH .. >
</eBD:SENDMAIL>

Sintaxis avanzada:

<eBD:SENDMAIL TO="mail" FROM="mail" [CC="mail;..." ] [BCC="mail;..." ] [REPLYTO="address"] SUBJECT="subject" [SERVER="ip"] [PORT="25"] [TYPE="text/html"] [USER="username" PASSWORD="password"]>
<eBD:BODY>
Contenido del mensaje
</eBD:BODY>
<eBD:ATTACH FILE="fichero" [NAME="nombre"] /> +
</eBD:SENDMAIL>

Acción:

Envía el contenido (body) por correo electrónico. Si se usa la sintaxis avanzada enviará también los archivos adjuntos.

Ejemplo:

<eBD:SENDMAIL TO="[email protected]" FROM="[email protected]" SUBJECT="test mundo" TYPE="text/plain">
hola mundo eBD!!
Soy #usuario
</eBD:SENDMAIL>
<eBD:SENDMAIL TO="[email protected]" FROM="[email protected]" SUBJECT="test mundo" TYPE="text/html">
<eBD:ATTACH ¬le="/¬les/1-149-img_petita/image003.jpg" />
<eBD:BODY>
<html><head><body>
<h3>hola mundo eBD!!<br>Sigo siendo #usuario</h3>
</body></head></html>
</eBD:BODY>
</eBD:SENDMAIL>

eBD:SENDSMS

Sintaxis:

<eBD:SENDSMS TO="móvil" FROM="móvil" [SERVER="smpp"] [PORT="port"] [USER="username" PASSWORD="password"] >
Message Body
</eBD:SENDSMS>

Acción:

Envía el contenido (Message Body) por SMS.

Ejemplo:

<eBD:SENDSMS TO="666999888" FROM="555444222" >
Hola!!!! Llegaré tarde!
</eBD:SENDSMS>

eBD:BODY

Sintaxis:

<eBD:BODY>
Cuerpo del mail
</eBD:BODY>

Acción:

Instrucción que debe ir dentro de <eBD:SENDMAIL>.

Sirve para escribir el cuerpo del mensaje. Esto mismo lo podemos hacer incluyendo el texto entre los tags <eBD:SENDMAIL> y </eBD:SENDMAIL>

eBD:ATTACH

Sintaxis:

<eBD:attach FILE="filename1" [NAME="filename2"] [ID="content-id"]/>

Acción:

Instrucción que va dentro de <eBD:SENDMAIL>.

Podemos adjuntar un fichero cuyo nombre es 'filename1' y opcionalmente cambiarle el nombre por 'filename2'. Debemos haber subido previamente el fichero que adjuntamos antes de enviarlo, por ejemplo usando un TMPFILE.

eBD:HTTPGET

Sintaxis:

<eBD:HTTPGET URL="value" [VAR="varname" | GLOBAL="varname" | TEMPORAL="varname"] [ ENCODING="source encoding" ] [ UPDATE_HTML="1" ] [ USERNAME="username" ] [ PASSWORD="password" ] [ REQUEST_HEADERS="varname" ] [ RESPONSE_HEADERS="varname" ] />

Acción:

Realiza una Petición GET a un servidor HTTP de una URL que se recibe como parámetro, y deja el contenido en una Variable Local, global o Temporal. Si no se especifica ninguna variable se genera la salida al documento HTML. Si especificamos el parámetro UPDATE_HTML se pondrá el dominio en los links y referencias encontradas. Si se especifican los parámetros USERNAME y PASSWORD, éstos se usaran para construir las cabeceras de autenticación.

Los parámetros REQUEST_HEADERS y RESPONSE_HEADERS permiten usar HASHES para enviar o recibir en ellos las cabeceras de la request respectivamente.

Ejemplo:

<eBD:HTTPGET VAR="test" URL="http://my.domain.com/index.html"/>
<eBD:HTTPGET VAR="test" URL="http://www.google.es/" UPDATE_HTML="1"/>

eBD:HTTPPOST

Sintaxis:

<eBD:HTTPPOST URL="value" [VAR="varname" | GLOBAL="varname" | TEMPORAL="varname"] [ USERNAME="username" ] [ PASSWORD="password" ] [ REQUEST_HEADERS="varname" ] [ RESPONSE_HEADERS="varname" ] [ ENCODING="source encoding" ] >
<eBD:PARAM NAME="param name" VALUE="value"/>+
</eBD:HTTPPOST>

Acción:

Realiza una Petición POST a un servidor HTTP de una URL que se recibe como parámetro, y deja el contenido en una Variable Local, global o Temporal. Si no se especifica ninguna variable se genera la salida al documento HTML. Si se especifican los parámetros USERNAME y PASSWORD, éstos se usaran para construir las cabeceras de autenticación.

Los parámetros REQUEST_HEADERS y RESPONSE_HEADERS permiten usar HASHES para enviar o recibir en ellos las cabeceras de la request respectivamente.

Los argumentos a enviar en el contenido del POST se especifican usando tantas instrucciones eBD:PARAM como parámetros se quieran enviar.

Ejemplo:

<eBD:HTTPPOST VAR="html" URL="http://my.domain.com/index.html">
<eBD:PARAM NAME="name" VALUE="$my_name">
<eBD:PARAM NAME="email" VALUE="$my_email">
</eBD:HTTPPOST>
eBD:WS

Sintaxis:

<eBD:WS [SERVICE="servicio" | WSDL="wsdl_url"] OPERATION="funcion" [VAR="variable"] [FAULT="variable"]>
<eBD:PARAM NAME="nombre" VALUE="valor" [TYPE="type|AUTO"]/>
....
</eBD:WS>

Acción:

Ejecuta un Webservice y guarda el resultado en una variable. Se puede indicar el servicio a usar con el parámetro SERVICE (que debe contener el nombre del servicio tal y como se ha configurado en el menu "Recursos compartidos", o directamente usando la url del archivo de definición del servicio con el parámetro WSDL. La opción FAULT permite recibir el fault object de una respuesta SOAP.

Ejemplo:

<eBD:WS SERVICE="users" OPERATION="login" VAR="dato" FAULT="error">
<eBD:PARAM NAME="username" VALUE="$username"/>
<eBD:PARAM NAME="password" VALUE="$password"/>
</eBD:WS>
<eBD:IF EXPR="$fault">
<eBD:OUT VALUE="@fault{faultcode} - @fault{faultstring}"/>
<eBD:OUT VALUE="@fault{detail}"/>
</eBD:IF>

eBD:SOAPFAULT

Sintaxis:

(código del Web Service ...)
<eBD:SOAPFAULT [FAULTCODE="value"] [FAULTSTRING="value"] [DETAIL="value"]/>

Acción:

Permite devolver un fault message de SOAP en un Web Service creado en eBDML. Su funcionamiento es parecido al de eBD:RETURN, con lo que se puede poner en cualquier parte del código del Web Service para que fuerce la salida de la operación.

Ejemplo:

<eBD:SOAPFAULT FAULTCODE="micodigo" FAULTSTRING="Error en el código" DETAIL="más detalle del error"/>

eBD:XMLPARSE

Sintaxis:

<eBD:XMLPARSE (VAR="varname" | GLOBAL="varname" | TEMPORAL="varname") VALUE="value" [PARSER="LITE|RECORDSET"] [ENCODING="source encoding"]/>

Acción:

Parsea un documento XML y genera un árbol (basado en HASHES) con la información del xml recibido. Si se usa el parámetro PARSER="LITE", se usará un parser que no valida ni interpreta entities. Este parser sólo es útil si el XML recibido no cumple estrictamente el estándar en lo que se refiere a la codificación de carácteres usando entities.

El parámetro PARSER="RECORDSET" parsea estructuras XML simples, devolviendo un array de hashes. Con el parámetro ENCODING le indicamos el tipo de codificación, para que no lo deduzca del automáticamente del archivo.

Cada nodo del árbol generado tendrá esta estructura:

Tag nombre del tag.
Namespace asociado al tag.
Localname nombre del tag, excluyendo el namespace.
Prefix prefijo que se usa para identificar el namespace en el xml.
Childs un array con todos los nodos hijos, que tendran esta misma estructura.
Attributes un hash con los atributos del nodo.
Data variable con el contenido del nodo.
Parent puntero al nodo padre.

Ejemplo:

<eBD:XMLPARSE VAR="arbol" VALUE="$xml"/>

eBD:EXECPROCESS

Sintaxis:

<eBD:EXECPROCESS [PROCESSID="idprocess" | PROCESS="name"] [ARGS="value value value..."] [STDOUT="varname"] [STDERR="varname"] [STATUS="varname"]/>

Acción:

Ejecutará el proceso especificado inmediatamente, y espera a que finalize la ejecución. En las variables indicadas por los parámetros STDOUT, STDERR y STATUS se guardarán los valores generados por los canales de comunicación estándar del proceso, y el valor de retorno de la ejecución.

Ejemplo:

<eBD:EXECPROCESS PROCESS="boletin"/>

eBD:EXECTASK

Sintaxis:

<eBD:EXECTASK (TASKID="idtask" | TASK="name") [EXECDATE="AAAA-MM-DD hh:ii:ss"]/>

Acción:

Ejecutara la tarea programada especificada, si se omite el parámetro EXECDATE se ejecutara inmediatamente.

Ejemplo:

<eBD:EXECTASK TASK="boletin"/>

eBD:FTPCLOSE

Sintaxis:

<eBD:FTPCLOSE FTP="ftp_connection" ERR="varname"/>

Acción:

Cierra la conexión FTP.

Ejemplo:

<eBDFTPCLOSE FTP="my_ftp" ERR="error"/>

eBD:FTPCWD

Sintaxis:

<eBD:FTPCWD FTP="ftp_connection" ERR="varname" DIR="directory"/>

Acción:

Permite cambiar el directorio de trabajo.

Ejemplo:

<eBDFTPCWD FTP="my_ftp" ERR="error" DIR="other_dir"/>

eBD:FTPDELETE

Sintaxis:

<eBD:FTPDELETE FTP="ftp_connection" ERR="varname" REMOTE="remote_file"/>

Acción:

Borra un archivo remoto indicado en el nombre de la ruta.

Ejemplo:

<eBD:FTPDELETE FTP="my_ftp" ERR="error" REMOTE="old_¬le.txt"/>

eBD:FTPGET

Sintaxis:

<eBD:FTPGET FTP="ftp_connection" ERR="varname" LOCAL="local_file" REMOTE="remote_file"/>

Acción:

Coge un fichero remoto y lo guarda en la variable LOCAL.

Ejemplo:

<eBD:FTPGET FTP="my_ftp" ERR="error" LOCAL="new_¬le.txt" REMOTO="remote_¬le.txt"/>

eBD:FTPLOGIN

Sintaxis:

<eBD:FTPLOGIN [PASSWORD="password"] VAR="ftpcon_var" ERR="varname" [PASSIVE="0|1"] [PORT="port"] HOST="hostname" [LOGIN="login"]/>

Acción:

Crea la conexión con el FTP. La conexión guarda un puntero sobre la conexión en VAR para referenciarlo en el resto de comandos.

PASSWORD: Contraseña de acceso al servidor FTP.
VAR: Variable en la que se almacena la respuesta del FTP.
ERR: Variable en la que se almacena el error del FTP en caso de existir.
PASSIVE: Modo pasivo (1) o Modo activo (0).
PORT: Puerto de conexión al servidor.
HOST: Nombre del servicio FTP.
LOGIN: Nombre del usuario de acceso al FTP 
El HOST en caso de ser la misma máquina, no puede llamarse 'localhost', sino 'localhost.domain' ó 127.0.0.1

Ejemplo:

<eBD:FTPLOGIN VAR="my_ftp" ERR="error" HOST="ftp.my_server.com"/>
<eBD:FTPLOGIN PASSWORD="12345" VAR="my_ftp" ERR="error" HOST="ftp.my_server.com" LOGIN="john"/>
Retorno:
Net::FTP=GLOB(0xe313a84)

eBD:FTPLS

Sintaxis:

<eBD:FTPLS OUT="varname" FTP="ftp_connection" ERR="varname" [LONG="1|0"] [DIR="directory"]/>

Acción:

Lista el contenido del directorio remoto.

OUT: Array con el contenido del directorio mostrado, de la raiz en caso que no sea informado.
FTP: Nombre de la conexión del FTP.
ERR: Mensaje de error en caso de que exista.
LONG: Muestra toda la informacion del fichero/carpeta (1) o no (0):
1: devuelve permisos, usuario, fecha, nombre fichero.
0: devuelve el path absoluto (partiendo de la raiz del FTP) del fichero/carpeta. 
DIR: Directorio al que se quiere acceder.

Ejemplo:

<eBD:FTPLS OUT="¬le_list" FTP="my_ftp" ERR="error"/>
<ebd:foreach array="¬le_list">
<ebd:out value="$iterator"/>
</ebd:foreach>
Retorno: Long=1 , devuelve un array con el siguiente contenido:
drwxr-xr-x 3 ftptesting ftptesting 4096 May 12 10:11 .
drwxr-xr-x 3 ftptesting ftptesting 4096 May 12 10:10 ..
drwxr-xr-x 2 ftptesting ftptesting 4096 May 12 10:11 33
-rw-r--r-- 1 ftptesting ftptesting 52535 May 12 10:05 859714.jpg
-rw-r--r-- 1 ftptesting ftptesting 57726 May 12 10:05 dr-slump.JPG
**NOTA** Para separar cada uno de los valores y tenerlo en un array usar:
<ebd:split value="$iterator" array="arCont" char="\s+"/>
ya que el número de espacios que separan cada parámetro es irregular e indefinido
Long=0 , devuelve un array con el siguiente contenido:
varis/fc-barcelona-poster.jpg
varis/atari_logo.jpg varis/wam-tux-maul-starwars-1771.png

eBD:FTPMKDIR

Sintaxis:

<eBD:FTPMKDIR [RECURSIVE="1|0"] FTP="ftp_connection" ERR="varname" DIRECTORY="remote_dir"/>

Acción:

Crea un directorio en directorio remoto.

Ejemplo:

<eBD:FTPMKDIR FTP="my_ftp" ERR="error" DIRECTORY="images"/>

eBD:FTPPUT

Sintaxis:

<eBD:FTPPUT FTP="ftp_connection" ERR="varname" LOCAL="local_file" REMOTE="remote_file"/>

Acción:

Envia un archivo al directorio remoto.

Ejemplo:

<eBD:FTPPUT FTP="my_ftp" ERR="error" LOCAL="image1.jpg" REMOTE="image1.jpg"/>

eBD:FTPPWD

Sintaxis:

<eBD:FTPPWD OUT="varname" FTP="ftp_connection" ER="varname"/>

Acción:

Indica en que directorio se está trabajando.

Ejemplo:

<eBDFTPPWD OUT="directorio" FTP="my_ftp" ERR="error"/>

eBD:FTPRENAME

Sintaxis:

<eBD:FTPRENAME FTP="ftp_connection" ERR="varname" NEW="remote_file" OLD="remote_file"/>

Acción:

Cambia el nombre de un fichero remoto. Si se especifica en el parámetro NEW una ruta distinta, el archivo será movido de directorio.

Ejemplo:

<eBD:FTPRENAME FTP="my_ftp" ERR="error" NEW="new_image.jpg" OLD="old_image.jpg"/>

eBD:FTPRMDIR

Sintaxis:

<eBD:FTPRMDIR [RECURSIVE="1|0"] FTP="ftp_connection" ERR="varname" DIRECTORY="remote_dir"/>

Acción:

Borra un directorio remoto. Puede hacer borrados recursivos.

Ejemplo:

<eBD:FTPRMDIR FTP="my_ftp" ERR="error" DIRECTORY="images"/>

eBD:FTPSIZE

Sintaxis:

<eBD:FTPSIZE OUT="varname" FTP="ftp_connection" ERR="varname" REMOTE="remote_file"/>

Acción:
Guarda en OUT el valor del tamaño del archivo remoto.

Ejemplo:

<eBD:FTPSIZE OUT="size" FTP="my_ftp" ERR="error" REMOTE="image1.jpg"/>