Interfaces Dolibarr vers exterieur

Revision as of 19:19, 21 April 2005 by Eldy (talk | contribs) (Ajout explication sur création d'une interface Dolibarr vers exterieur)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Pour permettre de déclencher du code personalisé en réaction à un évenement Dolibarr (création/modification/suppression d'une société/facture/produit), Dolibarr propose un mécanisme de triggers.

Pour ajouter son propre code à déclencher par trigger, la procédure est la suivante:

  • Copier le fichier includes/triggers/interface_demo.class.php sous le nom interface_xxx.class.php (ou xxx est une chaine de votre choix), en le laissant dans le meme répertoire. Par exemple includes/triggers/interface_monworkflow.class.php
  • Editer ce fichier interface_monworkflow.class.php afin d'ajouter votre code dans la fonction run_trigger. Cette fonction est appelée à chaque évennement Dolibarr. Placer votre code en fonction du ou des évenements sur lesquels vous voulez réagir, chaque évenement étant identifié par un test sur la variable $action:
 function run_trigger($action,$object,$user,$lang,$conf)
 {
       // Mettre ici le code à exécuter en réaction de l'action
       // Le type de l'évenement Dolibarr est stocké dans $action
       // Les données de l'action sont stockées dans $object
       // La configuration, utilisateur et langage sont dans $conf,$user et $lang
       if ($action == 'COMPANY_CREATE')
       {
           dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id);
       }
       elseif ($action == 'COMPANY_MODIFY')
       {        
           dolibarr_syslog("Trigger for action '$action' launched. id=".$object->id);
       }
       elseif ($action == 'COMPANY_DELETE')
       ...
 }

Les évenements Dolibarr qui provoquent un appel de triggers sont, pour l'instant, les suivants:

  • COMPANY_CREATE
  • COMPANY_MODIFY
  • COMPANY_DELETE