/** * 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 } }