Works on capability to hook a thirdparty module.
This commit is contained in:
parent
aa62559812
commit
45397173f1
@ -37,11 +37,6 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
|
|||||||
require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php");
|
require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
|
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
|
||||||
if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/projet/class/project.class.php');
|
if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/projet/class/project.class.php');
|
||||||
if ($conf->milestone->enabled)
|
|
||||||
{
|
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/milestone/lib/milestone.lib.php');
|
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/milestone/class/milestone.class.php');
|
|
||||||
}
|
|
||||||
|
|
||||||
$langs->load('companies');
|
$langs->load('companies');
|
||||||
$langs->load('propal');
|
$langs->load('propal');
|
||||||
@ -77,6 +72,13 @@ $result = restrictedArea($user, $module, $objectid, $dbtable);
|
|||||||
// Nombre de ligne pour choix de produit/service predefinis
|
// Nombre de ligne pour choix de produit/service predefinis
|
||||||
$NBLINES=4;
|
$NBLINES=4;
|
||||||
|
|
||||||
|
// Instantiate hooks of thirdparty module
|
||||||
|
if (is_array($conf->hooks_modules) && !empty($conf->hooks_modules))
|
||||||
|
{
|
||||||
|
$hooks = new Propal($db);
|
||||||
|
$hooks->callHooks('objectcard');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Actions */
|
/* Actions */
|
||||||
|
|||||||
@ -33,6 +33,9 @@
|
|||||||
|
|
||||||
class CommonObject
|
class CommonObject
|
||||||
{
|
{
|
||||||
|
// Instantiate classes of thirdparty module
|
||||||
|
var $objModules=array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Check if ref is used.
|
* \brief Check if ref is used.
|
||||||
* \return int <0 if KO, 0 if not found, >0 if found
|
* \return int <0 if KO, 0 if not found, >0 if found
|
||||||
@ -1142,14 +1145,31 @@ class CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show add free products/services form
|
* Instantiate hooks of thirdparty module
|
||||||
|
* @param $type Type of hook
|
||||||
*/
|
*/
|
||||||
function showAddFreeProductForm($dateSelector=0)
|
function callHooks($type='objectcard')
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf;
|
||||||
global $html,$bc,$var;
|
|
||||||
|
|
||||||
include(DOL_DOCUMENT_ROOT.'/core/tpl/addfreeproductform.tpl.php');
|
foreach($conf->hooks_modules as $module => $hooks)
|
||||||
|
{
|
||||||
|
if ($conf->$module->enabled && in_array($type,$hooks))
|
||||||
|
{
|
||||||
|
// Include class and library of thirdparty module
|
||||||
|
if (file_exists(DOL_DOCUMENT_ROOT.'/'.$module.'/class/'.$module.'.class.php'))
|
||||||
|
{
|
||||||
|
require_once(DOL_DOCUMENT_ROOT.'/'.$module.'/class/'.$module.'.class.php');
|
||||||
|
}
|
||||||
|
if (file_exists(DOL_DOCUMENT_ROOT.'/'.$module.'/lib/'.$module.'.lib.php'))
|
||||||
|
{
|
||||||
|
require_once(DOL_DOCUMENT_ROOT.'/'.$module.'/lib/'.$module.'.lib.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
$classname = ucfirst($module);
|
||||||
|
$this->objModules[] = new $classname($this->db);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1163,6 +1183,17 @@ class CommonObject
|
|||||||
include(DOL_DOCUMENT_ROOT.'/core/tpl/addpredefinedproductform.tpl.php');
|
include(DOL_DOCUMENT_ROOT.'/core/tpl/addpredefinedproductform.tpl.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show add free products/services form
|
||||||
|
*/
|
||||||
|
function showAddFreeProductForm($dateSelector=0)
|
||||||
|
{
|
||||||
|
global $conf,$langs;
|
||||||
|
global $html,$bc,$var;
|
||||||
|
|
||||||
|
include(DOL_DOCUMENT_ROOT.'/core/tpl/addfreeproductform.tpl.php');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show linked object block
|
* Show linked object block
|
||||||
* @param $object
|
* @param $object
|
||||||
|
|||||||
@ -131,11 +131,21 @@ class Conf
|
|||||||
//print 'xxx'.$params[0].'-'.$value;
|
//print 'xxx'.$params[0].'-'.$value;
|
||||||
}
|
}
|
||||||
// If this is constant for triggers activated by a module
|
// If this is constant for triggers activated by a module
|
||||||
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_TRIGGERS$/i',$key,$regs))
|
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_TRIGGERS$/i',$key,$reg))
|
||||||
{
|
{
|
||||||
$modulename = strtolower($regs[1]);
|
$modulename = strtolower($reg[1]);
|
||||||
$this->triggers_modules[] = DOL_DOCUMENT_ROOT.'/'.$modulename.'/inc/triggers/';
|
$this->triggers_modules[] = DOL_DOCUMENT_ROOT.'/'.$modulename.'/inc/triggers/';
|
||||||
}
|
}
|
||||||
|
// If this is constant for hook activated by a module
|
||||||
|
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_HOOKS$/i',$key,$reg))
|
||||||
|
{
|
||||||
|
$modulename = strtolower($reg[1]);
|
||||||
|
$params=explode(':',$value);
|
||||||
|
foreach($params as $value)
|
||||||
|
{
|
||||||
|
$this->hooks_modules[$modulename][]=$value;
|
||||||
|
}
|
||||||
|
}
|
||||||
// If this is constant to force a module directories (used to manage some exceptions)
|
// If this is constant to force a module directories (used to manage some exceptions)
|
||||||
// Should not be used by modules
|
// Should not be used by modules
|
||||||
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_DIR_/i',$key,$reg))
|
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_DIR_/i',$key,$reg))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user