http://lists.elastix.org/pipermail/desarrollo/attachments/20100419/7d244795/attachment-0008.pdf

Anuncio
Manual del Programador en Español
Elastix 1.0 Beta
Para mayor información visite www.elastix.org
Manual del Programador Elastix
1
ÍNDICE
1. Creando el Menú del Módulo
1.1. Crear el módulo en la base de datos
1.2. Revisar en la interfaz web
1.3. Definición de los lenguajes principales
1.4. Visualizando su nuevo módulo
2. Programación de un Módulo
2.1. Crear una carpeta
2.2. Copiar contenido
2.3. Permisos
3. Arquitectura Modular
3.1. Vista General
3.2. Detalle de index.php
3.3. Detalle de class.php
3.4. Detalle de default.conf.php
Manual del Programador Elastix
2
1. Creando el Menú del Módulo
1.1.Crear
el módulo en la base de datos
$ sqlite3 /var/www/db/menu.db
$ select * from menu;
$ insert into menu values ('module_x', 'id_parent', 'link_framed', 'module x',
'module');
Nombre Tipo del del módulo:
módulo ­ module
­ framed
Id module
Menú padre
al cual va a pertenecer
Si es de tipo framed usar un link
Ej: $ insert into menu values ('example', 'extras','', 'Example', 'module');
$ .q
$ sqlite3 /var/www/db/acl.db
$ select * from acl_resource;
$ insert into acl_resource (name, description) values ('example', 'Example');
$ .q
Nombre del módulo
Manual del Programador Elastix
Id module
3
1.2.Revisar
en la interfaz web
•
System --> User Management --> Group Permission
•
Ver por lo general al final de la lista.
•
Vera que existe una nueva casilla, márquela si no esta; Este es su nuevo
módulo (menú).
•
Se dará cuenta que no se muestra el nombre de su módulo, es porque no ha
definido los lenguajes principales.
Manual del Programador Elastix
4
1.3.Definición
de los lenguajes principales
•
En /var/www/html/lang
•
Edite el lang de su lenguaje natal. En este ejemplo editaremos el idioma
inglés: en.lang
•
Vaya al final de este archivo y antes del símbolo que cierra el arreglo “);”
agrege el nombre de su módulo.
 NOTA: Se recuerda que es programación php y se tiene entendido que
conoce la sintaxis de arreglos en PHP.
•
En este caso agregamos “Example” => “Example”, //nombre del módulo.
•
Guarde y cierre
Manual del Programador Elastix
5
1.4.Visualizando
su nuevo módulo
•
Ahora en System --> User Management --> Group Permission, verá que el
nombre de su modulo se visualiza, si no está marcado, márquelo y aplique los
cambios.
•
Esto se vera reflejado si ingresa a su módulo a través del modulo padre.
 En este ejemplo fue extras, ingrese a extras y verá que aparece su nuevo
módulo.
•
Al hacer click en el, se le presentará el siguiente error:
 Error: the module modules/examples/index.php could not be found.
•
Para cambiar este error necesita conocer el detalle de programación de un
modulo descrito en la parte B de este manual.
Manual del Programador Elastix
6
2.
Programación de un Módulo
2.1.Crear
una carpeta
•
En la ruta /var/www/html/modules/
•
El nombre de la carpeta tiene que ser igual como el id module que puso en la
base sqlite, en este caso fue example.
$ mkdir –p /var/www/html/modules/example/
•
Es importante mantener los permisos de la carpeta creada como usuario
asterisk.
$ chown asterisk:asterisk /var/www/html/example/
2.2.Copiar
contenido
•
De la carpeta example a la carpeta de su modulo.
•
example es un tar que contiene un module base para empezar una
programación.
2.3.Permisos
•
Asegúrese que todo contenga los permisos asterisk
$ chown -R asterisk:asterisk /var/www/html/modules/example/
Manual del Programador Elastix
7
3.
Arquitectura Modular
3.1.Vista
General
default.conf.php
...class.php
module
...class.php
libs
configs
php file
...class.php
folder
...class.php
tpl 1
themes
index.php
tpl 2
tpl 3
tpl ...
default
lang
en.lang
fr.lang
es.lang
...lang
3.2.Detalle
de index.php
1._ lib/ framework (include/require). Propio del Elastix.
2._ lib/module (include/require). Propios del modulo.
3._ globals arrays.en.lang).
4._ language local del modulo (default
5._ template invocation.
Function
6._ conexion base o files (no siempre).
_moduleContent
7._ Repartir acciones con Switch
Show (functions)
Edit (functions)
Delete (functions)
Update (functions)
Other Action (functions)
8._ return module
3.3.Detalle
de class.php
Constructor (recibe objeto conexión de bases o files)
Atributo var _DB
Atributo var errMsg
Clase
Funciones de acciones
Propiamente descriptivas de la Clase.
3.4 Detalle
de default.conf.php
name_module
Array
theme = “default”
Descargar