mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-02-07 16:41:48 +01:00
New: Les triggers webcalendar grent les modif d'tat du module adhrent.
Qual: Amlioration de la gestion d'erreur des triggers. La totalit des erreurs de chaque triggers est remonte dans un tableau.
This commit is contained in:
@@ -35,7 +35,8 @@
|
||||
|
||||
class Interfaces
|
||||
{
|
||||
var $dir; // Repertoire contenant les fichiers triggers
|
||||
var $dir; // Directory with all trigger files
|
||||
var $errors=array(); // Array for errors
|
||||
|
||||
/**
|
||||
* \brief Constructeur.
|
||||
@@ -49,20 +50,20 @@ class Interfaces
|
||||
|
||||
/**
|
||||
* \brief Fonction appel<65>e lors du d<>clenchement d'un <20>v<EFBFBD>nement Dolibarr.
|
||||
* Cette fonction d<>clenche tous les triggers trouv<75>s
|
||||
* Cette fonction d<>clenche tous les triggers trouv<75>s actifs.
|
||||
* \param action Code de l'evenement
|
||||
* \param object Objet concern
|
||||
* \param user Objet user
|
||||
* \param lang Objet lang
|
||||
* \param conf Objet conf
|
||||
* \return int Nbre de triggers d<>clench<63>s si pas d'erreurs. Nb en erreur sinon.
|
||||
* \return int Nb triggers d<>clench<63>s si pas d'erreurs, -Nb en erreur sinon.
|
||||
*/
|
||||
function run_triggers($action,$object,$user,$lang,$conf)
|
||||
{
|
||||
|
||||
$handle=opendir($this->dir);
|
||||
$modules = array();
|
||||
$nbok = $nbko = 0;
|
||||
$nbtotal = $nbok = $nbko = 0;
|
||||
|
||||
while (($file = readdir($handle))!==false)
|
||||
{
|
||||
@@ -83,13 +84,24 @@ class Interfaces
|
||||
if ($objMod)
|
||||
{
|
||||
$modules[$i] = $modName;
|
||||
if ($objMod->run_trigger($action,$object,$user,$lang,$conf) > 0)
|
||||
$result=$objMod->run_trigger($action,$object,$user,$lang,$conf);
|
||||
if ($result > 0)
|
||||
{
|
||||
// Action OK
|
||||
$nbtotal++;
|
||||
$nbok++;
|
||||
}
|
||||
else
|
||||
if ($result == 0)
|
||||
{
|
||||
// Aucune action faite
|
||||
$nbtotal++;
|
||||
}
|
||||
if ($result < 0)
|
||||
{
|
||||
// Action KO
|
||||
$nbtotal++;
|
||||
$nbko++;
|
||||
$this->errors[]=$objMod->error;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
@@ -97,8 +109,15 @@ class Interfaces
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($nbko) return $nbko;
|
||||
return $nbok;
|
||||
if ($nbko)
|
||||
{
|
||||
dolibarr_syslog("Interfaces::run_triggers Found: ".$nbtotal.", Done: ".$nbok.", Failed: ".$nbko);
|
||||
return -$nbko;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $nbok;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user