Fix: force generic object if savemethod is not defined

This commit is contained in:
Regis Houssin 2012-03-09 19:03:49 +01:00
parent 616698889c
commit b27a206b23
2 changed files with 17 additions and 20 deletions

View File

@ -44,15 +44,13 @@ if((isset($_GET['field']) && ! empty($_GET['field']))
&& (isset($_GET['table_element']) && ! empty($_GET['table_element'])) && (isset($_GET['table_element']) && ! empty($_GET['table_element']))
&& (isset($_GET['fk_element']) && ! empty($_GET['fk_element']))) && (isset($_GET['fk_element']) && ! empty($_GET['fk_element'])))
{ {
$element = GETPOST('element'); $element = GETPOST('element','alpha');
$table_element = GETPOST('table_element'); $table_element = GETPOST('table_element','alpha');
$fk_element = GETPOST('fk_element'); $fk_element = GETPOST('fk_element','alpha');
$ext_element = GETPOST('ext_element'); $ext_element = GETPOST('ext_element','alpha');
//$ext_table_element = GETPOST('ext_table_element'); $field = substr(GETPOST('field','alpha'), 8); // remove prefix val_
//$ext_fk_element = GETPOST('ext_fk_element'); $type = GETPOST('type','alpha');
$field = substr(GETPOST('field'), 8); // remove prefix val_ $loadmethod = (GETPOST('loadmethod','alpha') ? GETPOST('loadmethod','alpha') : 'getValueFrom');
$type = GETPOST('type');
$loadmethod = (GETPOST('loadmethod') ? GETPOST('loadmethod') : 'getValueFrom');
if ($element != 'order_supplier' && $element != 'invoice_supplier' && preg_match('/^([^_]+)_([^_]+)/i',$element,$regs)) if ($element != 'order_supplier' && $element != 'invoice_supplier' && preg_match('/^([^_]+)_([^_]+)/i',$element,$regs))
{ {

View File

@ -45,16 +45,15 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
&& (isset($_POST['table_element']) && ! empty($_POST['table_element'])) && (isset($_POST['table_element']) && ! empty($_POST['table_element']))
&& (isset($_POST['fk_element']) && ! empty($_POST['fk_element']))) && (isset($_POST['fk_element']) && ! empty($_POST['fk_element'])))
{ {
$element = GETPOST('element'); $element = GETPOST('element','alpha');
$table_element = GETPOST('table_element'); $table_element = GETPOST('table_element','alpha');
$fk_element = GETPOST('fk_element'); $fk_element = GETPOST('fk_element','alpha');
$ext_element = GETPOST('ext_element'); $ext_element = GETPOST('ext_element','alpha');
//$ext_table_element = GETPOST('ext_table_element'); $field = substr(GETPOST('field','alpha'), 8); // remove prefix val_
//$ext_fk_element = GETPOST('ext_fk_element'); $value = GETPOST('value','alpha');
$field = substr(GETPOST('field'), 8); // remove prefix val_ $type = GETPOST('type','alpha');
$value = GETPOST('value'); $savemethod = GETPOST('savemethod','alpha');
$type = GETPOST('type'); $savemethodname = (! empty($savemethod) ? $savemethod : 'setValueFrom');
$savemethodname = (GETPOST('savemethod') ? GETPOST('savemethod') : 'setValueFrom');
$view=''; $view='';
$format='text'; $format='text';
@ -158,7 +157,7 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
if (! $error) if (! $error)
{ {
if (! is_object($object)) $object = new GenericObject($db); if (! is_object($object) || empty($savemethod)) $object = new GenericObject($db);
// Specific for add_object_linked() // Specific for add_object_linked()
// TODO add a function for variable treatment // TODO add a function for variable treatment