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,119 +38,158 @@
class InterfaceDemo class InterfaceDemo
{ {
var $db;
/**
* \brief Constructeur.
* \param DB handler d'accès base
*/
function InterfaceDemo($DB)
{
$this->db = $DB ;
$this->name = "Demo";
$this->family = "demo";
$this->description = "Les triggers de ce composant sont des fonctions vierges. Elles n'ont aucun effet. Ce composant est fourni à des fins de tutorial.";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
}
/**
* \brief Renvoi nom du lot de triggers
* \return string Nom du lot de triggers
*/
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 Constructeur. * \brief Renvoi version du lot de triggers
* \param DB handler d'accès base * \return string Version du lot de triggers
*/ */
function InterfaceDemo($DB) function getVersion()
{ {
$this->db = $DB ; global $langs;
} $langs->load("admin");
/** if ($this->version == 'experimental') return $langs->trans("Experimental");
* \brief Fonction appelée lors du déclenchement d'un évènement Dolibarr. elseif ($this->version == 'dolibarr') return DOL_VERSION;
* D'autres fonctions run_trigger peuvent etre présentes dans includes/triggers elseif ($this->version) return $this->version;
* \param action Code de l'evenement else return $langs->trans("Unknown");
* \param object Objet concerné }
* \param user Objet user
* \param lang Objet lang /**
* \param conf Objet conf * \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
function run_trigger($action,$object,$user,$lang,$conf) * \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
// Companies // Companies
if ($action == 'COMPANY_CREATE') if ($action == 'COMPANY_CREATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id); dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id);
} }
elseif ($action == 'COMPANY_MODIFY') elseif ($action == 'COMPANY_MODIFY')
{ {
dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id); dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id);
} }
elseif ($action == 'COMPANY_DELETE') elseif ($action == 'COMPANY_DELETE')
{ {
dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id); dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id);
} }
// Contracts // Contracts
elseif ($action == 'CONTRACT_CREATE') elseif ($action == 'CONTRACT_CREATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'CONTRACT_MODIFY') elseif ($action == 'CONTRACT_MODIFY')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'CONTRACT_ACTIVATE') elseif ($action == 'CONTRACT_ACTIVATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'CONTRACT_CANCEL') elseif ($action == 'CONTRACT_CANCEL')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'CONTRACT_CLOSE') elseif ($action == 'CONTRACT_CLOSE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'CONTRACT_DELETE') elseif ($action == 'CONTRACT_DELETE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
// Bills // Bills
elseif ($action == 'BILL_CREATE') elseif ($action == 'BILL_CREATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'BILL_MODIFY') elseif ($action == 'BILL_MODIFY')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'BILL_VALIDATE') elseif ($action == 'BILL_VALIDATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'BILL_CANCEL') elseif ($action == 'BILL_CANCEL')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'BILL_DELETE') elseif ($action == 'BILL_DELETE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
// Products // Products
elseif ($action == 'PRODUCT_CREATE') elseif ($action == 'PRODUCT_CREATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'PRODUCT_MODIFY') elseif ($action == 'PRODUCT_MODIFY')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'PRODUCT_DELETE') elseif ($action == 'PRODUCT_DELETE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'ORDER_CREATE') elseif ($action == 'ORDER_CREATE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'ORDER_MODIFY') elseif ($action == 'ORDER_MODIFY')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
elseif ($action == 'ORDER_DELETE') elseif ($action == 'ORDER_DELETE')
{ {
dolibarr_syslog("Trigger for action '$action' launched"); dolibarr_syslog("Trigger for action '$action' launched");
} }
else else
{ {
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.");
} }
} }
} }
?> ?>