Fix: security
This commit is contained in:
parent
a806f1ae09
commit
f079b63438
@ -336,7 +336,10 @@ else if ($id)
|
||||
$soc = new Societe($db);
|
||||
if ($object->socid) $soc->fetch($object->socid);
|
||||
|
||||
if (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) include(DOL_DOCUMENT_ROOT.'/core/tpl/ajaxeditinplace.tpl.php');
|
||||
if (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE) && $user->rights->deplacement->creer)
|
||||
{
|
||||
include(DOL_DOCUMENT_ROOT.'/core/tpl/ajaxeditinplace.tpl.php');
|
||||
}
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
|
||||
if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
|
||||
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
|
||||
|
||||
require('../../main.inc.php');
|
||||
require_once(DOL_DOCUMENT_ROOT."/core/class/genericobject.class.php");
|
||||
@ -39,11 +39,26 @@ top_httphead();
|
||||
//print '<!-- Ajax page called with url '.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
||||
|
||||
// Load original field value
|
||||
if((isset($_GET['field']) && ! empty($_GET['field'])) && (isset($_GET['table_element']) && ! empty($_GET['table_element'])) && (isset($_GET['fk_element']) && ! empty($_GET['fk_element'])))
|
||||
if((isset($_GET['field']) && ! empty($_GET['field']))
|
||||
&& (isset($_GET['element']) && ! empty($_GET['element']))
|
||||
&& (isset($_GET['table_element']) && ! empty($_GET['table_element']))
|
||||
&& (isset($_GET['fk_element']) && ! empty($_GET['fk_element'])))
|
||||
{
|
||||
$object = new GenericObject($db);
|
||||
$ret=$object->getValueFrom($_GET['table_element'], $_GET['fk_element'], $_GET['field']);
|
||||
echo $ret;
|
||||
$element = GETPOST('element');
|
||||
$table_element = GETPOST('table_element');
|
||||
$field = GETPOST('field');
|
||||
$fk_element = GETPOST('fk_element');
|
||||
|
||||
if ($user->rights->$element->lire || $user->rights->$element->read)
|
||||
{
|
||||
$object = new GenericObject($db);
|
||||
$ret=$object->getValueFrom($table_element, $fk_element, $field);
|
||||
echo $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $langs->trans('NotEnoughPermissions');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -40,22 +40,39 @@ top_httphead();
|
||||
//var_dump($_POST);
|
||||
|
||||
// Load original field value
|
||||
if((isset($_POST['field']) && ! empty($_POST['field'])) && (isset($_POST['table_element']) && ! empty($_POST['table_element'])) && (isset($_POST['fk_element']) && ! empty($_POST['fk_element'])))
|
||||
if((isset($_POST['field']) && ! empty($_POST['field']))
|
||||
&& (isset($_POST['element']) && ! empty($_POST['element']))
|
||||
&& (isset($_POST['table_element']) && ! empty($_POST['table_element']))
|
||||
&& (isset($_POST['fk_element']) && ! empty($_POST['fk_element'])))
|
||||
{
|
||||
$object = new GenericObject($db);
|
||||
$element = GETPOST('element');
|
||||
$table_element = GETPOST('table_element');
|
||||
$field = GETPOST('field');
|
||||
$fk_element = GETPOST('fk_element');
|
||||
$value = GETPOST('value');
|
||||
$type = GETPOST('type');
|
||||
|
||||
// Clean parameters
|
||||
$value = trim($_POST['value']);
|
||||
if ($_POST['type'] == 'numeric')
|
||||
if ($user->rights->$element->creer || $user->rights->$element->write)
|
||||
{
|
||||
$value = price2num($value);
|
||||
$object = new GenericObject($db);
|
||||
|
||||
// Check parameters
|
||||
if (! is_numeric($value)) $value = 0;
|
||||
}
|
||||
|
||||
$ret=$object->setValueFrom($_POST['table_element'], $_POST['fk_element'], $_POST['field'], $value);
|
||||
if ($ret > 0) echo (! empty($value) ? dol_nl2br($value) : ' ');
|
||||
// Clean parameters
|
||||
$value = trim($value);
|
||||
if ($type == 'numeric')
|
||||
{
|
||||
$value = price2num($value);
|
||||
|
||||
// Check parameters
|
||||
if (! is_numeric($value)) $value = 0;
|
||||
}
|
||||
|
||||
$ret=$object->setValueFrom($table_element, $fk_element, $field, $value);
|
||||
if ($ret > 0) echo (! empty($value) ? dol_nl2br($value) : ' ');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $langs->trans('NotEnoughPermissions');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -32,11 +32,13 @@ $(document).ready(function() {
|
||||
loadurl : '<?php echo DOL_URL_ROOT.'/core/ajax/loadinplace.php'; ?>',
|
||||
loaddata : {
|
||||
type: 'textarea',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
},
|
||||
submitdata : {
|
||||
type: 'textarea',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
}
|
||||
@ -52,11 +54,13 @@ $(document).ready(function() {
|
||||
loadurl : '<?php echo DOL_URL_ROOT.'/core/ajax/loadinplace.php'; ?>',
|
||||
loaddata : {
|
||||
type: 'text',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
},
|
||||
submitdata : {
|
||||
type: 'text',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
}
|
||||
@ -72,11 +76,13 @@ $(document).ready(function() {
|
||||
loadurl : '<?php echo DOL_URL_ROOT.'/core/ajax/loadinplace.php'; ?>',
|
||||
loaddata : {
|
||||
type: 'numeric',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
},
|
||||
submitdata : {
|
||||
type: 'numeric',
|
||||
element: "<?php echo $object->element; ?>",
|
||||
table_element: "<?php echo $object->table_element; ?>",
|
||||
fk_element: "<?php echo $object->id; ?>"
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user