Saltearse al contenido

Plugins

Histrix permite Sumar funcionalidades a través de un sistema de plugins

Cada Plugin definirá funciones internas que deberán ser registradas en uno o mas Hooks para que Histrix las ejecute en el momento y lugar apropiado

Estructura de directorios

Los plugins estén ubicados dentro del directorio plugins de Histrix.

Cada plugin deberá estar dentro de su propio directorio que debera contener un archivo de clase con el mismo nombre que extienda la clase HistrixPlugin

  • DirectoryHistrix/
    • Directoryplugins/
      • Directorytest/
        • test.php

Ejemplo Simple

Ejemplo simple:

Este Plugin crea 2 funciones, display y status y registra cada una en diferentes hooks para que sean ejecutadas por Histrix.

class test extends HistrixPlugin {
public function init(){
$this->registerFunction('trayInit', 'display');
$this->registerFunction('statusBarInit', 'status');
}
public function display(){
echo '<b>TEST PLUGIN</b>';
}
public function status(){
echo '<div >Test Status Bar Plugin</div>';
}
}

Hooks

en PHP Los siguientes Hooks se registran en PHP y las funciones registradas serán ejecutadas desde php.

desktopInit Las funciones registradas en desktopInit son ejecutadas al iniciar el escritorio de Histrix.

statusBarInit Las funciones registradas en statusBarInit son ejecutadas al iniciar la barra de estado inferior.

sideBarInit Las funciones registradas en sideBarInit son ejecutadas al iniciar el panel Lateral.

trayInit Las funciones registradas en trayInit son ejecutadas al iniciar el area de notificación del panel superior.

javascriptLoad Las funciones registradas en javascriptLoad son ejecutadas al inicio de Histrix y deberá devolver un array conteniendo los archivos javascript necesarios.

javascriptInit Las funciones registradas en javascriptInit son ejecutadas al iniciar Histrix y deberán devolver código Javascript válido.

cssLoad Las funciones registradas en csLoad son ejecutadas al inicio de Histrix y deberá devolver un array conteniendo los archivos css necesarios.

afterSysmon Las funciones registradas en afterSysmon son ejecutadas al final del código php en el archivo sysmon.php que se ejecuta regularmente.

afterSysmonScripts Las funciones registradas en afterSysmonScripts son ejecutadas al final del código php en el archivo sysmon.php que se ejecuta regularmente, debe retornar un array de sentencias javascript.

en Javascript Los siguientes Hooks se registran en Javascript y serán ejecutadas desde javascript.

Para registrar una function javascript debe registrarse desde el método init() del Plugin.

$this->registerJavascriptFunction(HookName, FunctionName);

Ejemplo:

class test extends HistrixPlugin {
public function init(){
$this->registerJavascriptFunction('afterLoadXml', 'myFunction');
}
.
.
.
}

afterLoadXml Las funciones aquí registradas serán ejecutadas despues de ejecutarse el método Histrix.LoadXML. Recibirán como parametros:

funcion(contenido, {programTitle: title, container: xmldatos})
contenido = variables GET enviadas &xml=nombre del xml, &dir = directorio del xml

beforeLoadXml Las funciones aquí registradas serán ejecutadas antes de ejecutarse el método Histrix.LoadXML. Recibirán como parametros los mismo que en afterLoadXml.