New: Ajout page configuration triggers

This commit is contained in:
Laurent Destailleur 2005-07-04 23:12:22 +00:00
parent 722ce15fa6
commit c6e2c2f869
3 changed files with 83 additions and 43 deletions

View File

@ -284,5 +284,5 @@ print '</table><br>';
$db->close(); $db->close();
llxFooter(); llxFooter('$Date$ - $Revision$');
?> ?>

View File

@ -159,6 +159,7 @@ $dir = DOL_DOCUMENT_ROOT . "/includes/modules/";
$handle=opendir($dir); $handle=opendir($dir);
$modules = array(); $modules = array();
$orders = array();
$i = 0; $i = 0;
$j = 0; $j = 0;
while (($file = readdir($handle))!==false) while (($file = readdir($handle))!==false)
@ -169,7 +170,7 @@ while (($file = readdir($handle))!==false)
if ($modName) if ($modName)
{ {
include_once("../includes/modules/$file"); include_once($dir.$file);
$objMod = new $modName($db); $objMod = new $modName($db);
if ($objMod->numero > 0) if ($objMod->numero > 0)
@ -309,5 +310,5 @@ foreach ($orders as $key => $value)
} }
print "</table></div>\n"; print "</table></div>\n";
llxFooter(); llxFooter('$Date$ - $Revision$');
?> ?>

View File

@ -38,27 +38,66 @@
class InterfaceDemo class InterfaceDemo
{ {
var $db;
/** /**
* \brief Constructeur. * \brief Constructeur.
* \param DB handler d'accès base * \param DB handler d'accès base
*/ */
function InterfaceDemo($DB) function InterfaceDemo($DB)
{ {
$this->db = $DB ; $this->db = $DB ;
}
/** $this->name = "Demo";
* \brief Fonction appelée lors du déclenchement d'un évènement Dolibarr. $this->family = "demo";
* D'autres fonctions run_trigger peuvent etre présentes dans includes/triggers $this->description = "Les triggers de ce composant sont des fonctions vierges. Elles n'ont aucun effet. Ce composant est fourni à des fins de tutorial.";
* \param action Code de l'evenement $this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
* \param object Objet concerné }
* \param user Objet user
* \param lang Objet lang /**
* \param conf Objet conf * \brief Renvoi nom du lot de triggers
*/ * \return string Nom du lot de triggers
function run_trigger($action,$object,$user,$lang,$conf) */
{ function getName()
{
return $this->name;
}
/**
* \brief Renvoi descriptif du lot de triggers
* \return string Descriptif du lot de triggers
*/
function getDesc()
{
return $this->description;
}
/**
* \brief Renvoi version du lot de triggers
* \return string Version du lot de triggers
*/
function getVersion()
{
global $langs;
$langs->load("admin");
if ($this->version == 'experimental') return $langs->trans("Experimental");
elseif ($this->version == 'dolibarr') return DOL_VERSION;
elseif ($this->version) return $this->version;
else return $langs->trans("Unknown");
}
/**
* \brief Fonction appelée lors du déclenchement d'un évènement Dolibarr.
* D'autres fonctions run_trigger peuvent etre présentes dans includes/triggers
* \param action Code de l'evenement
* \param object Objet concern
* \param user Objet user
* \param lang Objet lang
* \param conf Objet conf
*/
function run_trigger($action,$object,$user,$lang,$conf)
{
// Mettre ici le code à exécuter en réaction de l'action // Mettre ici le code à exécuter en réaction de l'action
// Les données de l'action sont stockées dans $object // Les données de l'action sont stockées dans $object
@ -150,7 +189,7 @@ class InterfaceDemo
{ {
dolibarr_syslog("A trigger for action '$action' was ran but no handler found."); dolibarr_syslog("A trigger for action '$action' was ran but no handler found.");
} }
} }
} }
?> ?>