2005-04-21 20:49:15 +02:00
< ? php
/* Copyright ( C ) 2005 Laurent Destailleur < eldy @ users . sourceforge . net >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*
* $Id $
* $Source $
*/
/**
\file htdocs / includes / triggers / interface_demo . class . php
\ingroup core
2005-07-09 14:40:23 +02:00
\brief Fichier de demo de personalisation des actions du workflow
\remarks Son propre fichier d ' actions peut etre cr<EFBFBD> <EFBFBD> par recopie de celui - ci :
2005-04-21 20:49:15 +02:00
- Le nom du fichier doit etre interface_xxx . class . php
2005-07-09 14:40:23 +02:00
- Le fichier doit rester stock<EFBFBD> dans includes / triggers
2005-04-21 20:49:15 +02:00
- Le nom de la classe doit etre InterfaceXxx
*/
/**
2005-09-09 23:24:13 +02:00
\class InterfaceDemo
2005-07-09 14:40:23 +02:00
\brief Classe des fonctions triggers des actions personalis<EFBFBD> es du workflow
2005-04-21 20:49:15 +02:00
*/
class InterfaceDemo
{
2005-07-05 01:12:22 +02:00
var $db ;
/**
* \brief Constructeur .
2005-09-09 23:24:13 +02:00
* \param DB Handler d ' acc<EFBFBD> s base
2005-07-05 01:12:22 +02:00
*/
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 <20> 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 ;
}
2005-04-21 20:49:15 +02:00
2005-07-05 01:12:22 +02:00
/**
* \brief Renvoi version du lot de triggers
* \return string Version du lot de triggers
*/
function getVersion ()
{
global $langs ;
$langs -> load ( " admin " );
2005-04-21 20:49:15 +02:00
2005-07-05 01:12:22 +02:00
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 " );
}
/**
2005-09-09 23:24:13 +02:00
* \brief Fonction appel<EFBFBD> e lors du d<EFBFBD> clenchement d ' un <EFBFBD> v<EFBFBD> nement Dolibarr .
* D ' autres fonctions run_trigger peuvent etre pr<EFBFBD> sentes dans includes / triggers
* \param action Code de l ' evenement
* \param object Objet concern<EFBFBD>
* \param user Objet user
* \param lang Objet lang
* \param conf Objet conf
* \return int < 0 si ko , 0 si aucune action faite , > 0 si ok
2005-07-05 01:12:22 +02:00
*/
2005-09-09 23:24:13 +02:00
function run_trigger ( $action , $object , $user , $langs , $conf )
2005-07-05 01:12:22 +02:00
{
2005-04-21 20:49:15 +02:00
// Mettre ici le code <20> ex<65> cuter en r<> action de l'action
// Les donn<6E> es de l'action sont stock<63> es dans $object
2005-07-05 01:12:22 +02:00
2005-09-26 21:37:20 +02:00
// Users
if ( $action == 'USER_CREATE' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
}
elseif ( $action == 'USER_MODIFY' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
}
elseif ( $action == 'USER_DISABLE' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
}
2005-04-24 04:45:42 +02:00
// Companies
2005-09-26 21:37:20 +02:00
elseif ( $action == 'COMPANY_CREATE' )
2005-04-21 20:49:15 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'COMPANY_MODIFY' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'COMPANY_DELETE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched. id= " . $object -> id );
2005-04-21 20:49:15 +02:00
}
2005-12-10 14:56:05 +01:00
// Proposals
elseif ( $action == 'PROPAL_CREATE' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
}
elseif ( $action == 'PROPAL_MODIFY' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
}
elseif ( $action == 'PROPAL_VALIDATE' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
}
elseif ( $action == 'PROPAL_CLOSE_SIGNED' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
}
elseif ( $action == 'PROPAL_CLOSE_REFUSED' )
{
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
}
2005-04-24 04:45:42 +02:00
// Contracts
elseif ( $action == 'CONTRACT_CREATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'CONTRACT_MODIFY' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'CONTRACT_ACTIVATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'CONTRACT_CANCEL' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'CONTRACT_CLOSE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'CONTRACT_DELETE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
// Bills
2005-04-21 20:49:15 +02:00
elseif ( $action == 'BILL_CREATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'BILL_MODIFY' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
2005-04-24 04:45:42 +02:00
elseif ( $action == 'BILL_VALIDATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
elseif ( $action == 'BILL_CANCEL' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-24 04:45:42 +02:00
}
2005-04-21 20:49:15 +02:00
elseif ( $action == 'BILL_DELETE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
2005-04-24 04:45:42 +02:00
// Products
2005-04-21 20:49:15 +02:00
elseif ( $action == 'PRODUCT_CREATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'PRODUCT_MODIFY' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'PRODUCT_DELETE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'ORDER_CREATE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'ORDER_MODIFY' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
elseif ( $action == 'ORDER_DELETE' )
2005-07-05 01:12:22 +02:00
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' launched " );
2005-04-21 20:49:15 +02:00
}
else
{
2005-07-09 14:40:23 +02:00
dolibarr_syslog ( " Trigger ' " . $this -> name . " ' for action ' $action ' was ran but no handler found for this action. " );
2005-09-09 23:24:13 +02:00
return - 1 ;
2005-04-21 20:49:15 +02:00
}
2005-09-09 23:24:13 +02:00
return 0 ;
2005-07-05 01:12:22 +02:00
}
2005-04-21 20:49:15 +02:00
}
?>