/**
  * Function called when a Dolibarrr business event is done.
  * All functions "run_trigger" are triggered if file
  * is inside directory core/triggers
  *
  * 	@param		string		$action		Event action code
  * 	@param		Object		$object		Object
  * 	@param		User		$user		Object user
  * 	@param		Translate	$langs		Object langs
  * 	@param		conf		$conf		Object conf
  * 	@return		int						<0 if KO, 0 if no triggered ran, >0 if OK
  */
 public function run_trigger($action, $object, $user, $langs, $conf)
 {
     global $conf, $user, $db;
     // Put here code you want to execute when a Dolibarr business events occurs.
     // Data and type of action are stored into $object and $action
     // Users
     $db =& $this->db;
     //echo $action.'<br>';
     if ($action == 'PROPAL_VALIDATE' && $conf->global->PROPALEHISTORY_AUTO_ARCHIVE) {
         define('INC_FROM_DOLIBARR', true);
         dol_include_once("/propalehistory/config.php");
         dol_include_once("/comm/propal/class/propal.class.php");
         dol_include_once('/propalehistory/class/propaleHist.class.php');
         if (isset($_REQUEST['mesg'])) {
             setEventMessage($_REQUEST['mesg']);
         }
         $ATMdb = new TPDOdb();
         TPropaleHist::archiverPropale($ATMdb, $object);
         dol_syslog("Trigger '" . $this->name . "' for action '{$action}' launched by " . __FILE__ . ". id=" . $object->id);
     }
     return 0;
 }
    function doActions($parameters, &$object, &$action, $hookmanager)
    {
        global $langs, $db, $user;
        define('INC_FROM_DOLIBARR', true);
        dol_include_once("/propalehistory/config.php");
        dol_include_once("/comm/propal/class/propal.class.php");
        dol_include_once('/propalehistory/class/propaleHist.class.php');
        if (isset($_REQUEST['mesg'])) {
            setEventMessage($_REQUEST['mesg']);
        }
        $ATMdb = new TPDOdb();
        if ($_REQUEST['action'] == 'delete') {
            global $db;
            $sql = "DELETE FROM " . MAIN_DB_PREFIX . "propale_history";
            $sql .= " WHERE fk_propale = " . $_REQUEST['id'];
            $resql = $db->query($sql);
        }
        if (isset($_REQUEST['actionATM'])) {
            $actionATM = $_REQUEST['actionATM'];
        } else {
            $actionATM = '';
        }
        if ($actionATM == 'viewVersion') {
            $version = new TPropaleHist();
            $version->load($ATMdb, $_REQUEST['idVersion']);
            $propal = $version->getObject();
            //pre($propal,true);
            $object = new PropalHist($db, $object->socid);
            foreach ($propal as $k => $v) {
                $object->{$k} = $v;
            }
            foreach ($object->lines as &$line) {
                $line->description = $line->desc;
                $line->db = $db;
                //$line->fetch_optionals();
            }
            //pre($object,true);
            $object->id = $_REQUEST['id'];
            $object->db = $db;
        } elseif ($actionATM == 'createVersion') {
            TPropaleHist::archiverPropale($ATMdb, $object);
        } elseif ($actionATM == 'restaurer') {
            TPropaleHist::restaurerPropale($ATMdb, $object);
        } elseif ($actionATM == 'supprimer') {
            $version = new TPropaleHist();
            $version->load($ATMdb, $_REQUEST['idVersion']);
            $version->delete($ATMdb);
            ?>
				<script language="javascript">
					document.location.href="<?php 
            echo $_SERVER['PHP_SELF'];
            ?>
?id=<?php 
            echo $_REQUEST['id'];
            ?>
&mesg=<?php 
            echo $langs->transnoentities('HistoryVersionSuccessfullDelete');
            ?>
";
				</script>
			<?php 
        }
    }