2
0
forked from Wavyzz/dolibarr

Fix: problem with external module

This commit is contained in:
Regis Houssin
2012-06-06 22:59:26 +02:00
parent 54dd02413f
commit 0d1159d862
2 changed files with 22 additions and 7 deletions

View File

@@ -87,8 +87,15 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($
}
else if (! empty($ext_element))
{
dol_include_once('/'.$ext_element.'/class/actions_'.$ext_element.'.class.php');
$classname = 'Actions'.ucfirst($ext_element);
$module = $subelement = $ext_element;
if (preg_match('/^([^_]+)_([^_]+)/i',$ext_element,$regs))
{
$module = $regs[1];
$subelement = $regs[2];
}
dol_include_once('/'.$module.'/class/actions_'.$subelement.'.class.php');
$classname = 'Actions'.ucfirst($subelement);
$object = new $classname($db);
$ret = $object->$methodname();
if ($ret > 0) echo json_encode($object->$cachename);

View File

@@ -51,6 +51,7 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($
$field = substr($field, 8); // remove prefix val_
$type = GETPOST('type','alpha',2);
$value = ($type == 'ckeditor' ? GETPOST('value','',2) : GETPOST('value','alpha',2));
$loadmethod = GETPOST('loadmethod','alpha',2);
$savemethod = GETPOST('savemethod','alpha',2);
$savemethodname = (! empty($savemethod) ? $savemethod : 'setValueFrom');
@@ -104,9 +105,9 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($
}
else if ($type == 'select')
{
$loadmethodname = 'load_cache_'.GETPOST('loadmethod','alpha');
$loadcachename = 'cache_'.GETPOST('loadmethod','alpha');
$loadviewname = 'view_'.GETPOST('loadmethod','alpha');
$loadmethodname = 'load_cache_'.$loadmethod;
$loadcachename = 'cache_'.$loadmethod;
$loadviewname = 'view_'.$loadmethod;
$form = new Form($db);
if (method_exists($form, $loadmethodname))
@@ -131,8 +132,15 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($
}
else
{
dol_include_once('/'.$ext_element.'/class/actions_'.$ext_element.'.class.php');
$classname = 'Actions'.ucfirst($ext_element);
$module = $subelement = $ext_element;
if (preg_match('/^([^_]+)_([^_]+)/i',$ext_element,$regs))
{
$module = $regs[1];
$subelement = $regs[2];
}
dol_include_once('/'.$module.'/class/actions_'.$subelement.'.class.php');
$classname = 'Actions'.ucfirst($subelement);
$object = new $classname($db);
$ret = $object->$loadmethodname();
if ($ret > 0)