23 if (!defined(
'NOTOKENRENEWAL')) define(
'NOTOKENRENEWAL',
'1');
24 if (!defined(
'NOREQUIREMENU')) define(
'NOREQUIREMENU',
'1');
25 if (!defined(
'NOREQUIREAJAX')) define(
'NOREQUIREAJAX',
'1');
26 if (!defined(
'NOREQUIRESOC')) define(
'NOREQUIRESOC',
'1');
28 require
'../../main.inc.php';
29 require_once DOL_DOCUMENT_ROOT.
'/core/class/genericobject.class.php';
31 $field =
GETPOST(
'field',
'alpha', 2);
32 $element =
GETPOST(
'element',
'alpha', 2);
33 $table_element =
GETPOST(
'table_element',
'alpha', 2);
34 $fk_element =
GETPOST(
'fk_element',
'alpha', 2);
59 if (!empty($field) && !empty($element) && !empty($table_element) && !empty($fk_element))
61 $ext_element =
GETPOST(
'ext_element',
'alpha', 2);
62 $field = substr($field, 8);
63 $type =
GETPOST(
'type',
'alpha', 2);
64 $value = ($type ==
'ckeditor' ?
GETPOST(
'value',
'', 2) :
GETPOST(
'value',
'alpha', 2));
65 $loadmethod =
GETPOST(
'loadmethod',
'alpha', 2);
66 $savemethod =
GETPOST(
'savemethod',
'alpha', 2);
67 $savemethodname = (!empty($savemethod) ? $savemethod :
'setValueFrom');
68 $newelement = $element;
75 if ($element !=
'order_supplier' && $element !=
'invoice_supplier' && preg_match(
'/^([^_]+)_([^_]+)/i', $element, $regs)) {
77 $subelement = $regs[2];
80 if ($element ==
'propal') {
81 $newelement =
'propale';
82 } elseif ($element ==
'fichinter') {
83 $newelement =
'ficheinter';
84 } elseif ($element ==
'product') {
85 $newelement =
'produit';
86 } elseif ($element ==
'member') {
87 $newelement =
'adherent';
88 } elseif ($element ==
'order_supplier') {
89 $newelement =
'fournisseur';
90 $subelement =
'commande';
91 } elseif ($element ==
'invoice_supplier') {
92 $newelement =
'fournisseur';
93 $subelement =
'facture';
95 $newelement = $element;
98 $_POST[
'action'] =
'update';
99 $feature = $newelement;
100 $feature2 = $subelement;
101 $object_id = $fk_element;
102 if ($feature ==
'expedition' || $feature ==
'shipping') {
103 $feature =
'commande';
106 if ($feature ==
'shipping') {
107 $feature =
'commande';
109 if ($feature ==
'payment') {
110 $feature =
'facture';
112 if ($feature ==
'payment_supplier') {
113 $feature =
'fournisseur';
114 $feature2 =
'facture';
118 $check_access =
restrictedArea($user, $feature, $object_id,
'', $feature2);
130 $newvalue = trim($value);
132 if ($type ==
'numeric')
137 if (!is_numeric($newvalue))
140 $return[
'error'] = $langs->trans(
'ErrorBadValue');
142 } elseif ($type ==
'datepicker') {
143 $timestamp =
GETPOST(
'timestamp',
'int', 2);
145 $newvalue = ($timestamp / 1000);
146 } elseif ($type ==
'select') {
147 $loadmethodname =
'load_cache_'.$loadmethod;
148 $loadcachename =
'cache_'.$loadmethod;
149 $loadviewname =
'view_'.$loadmethod;
151 $form =
new Form($db);
152 if (method_exists($form, $loadmethodname))
154 $ret = $form->$loadmethodname();
157 $loadcache = $form->$loadcachename;
158 $value = $loadcache[$newvalue];
160 if (!empty($form->$loadviewname))
162 $loadview = $form->$loadviewname;
163 $view = $loadview[$newvalue];
167 $return[
'error'] = $form->error;
170 $module = $subelement = $ext_element;
171 if (preg_match(
'/^([^_]+)_([^_]+)/i', $ext_element, $regs))
174 $subelement = $regs[2];
178 $classname =
'Actions'.ucfirst($subelement);
179 $object =
new $classname($db);
180 $ret = $object->$loadmethodname();
183 $loadcache = $object->$loadcachename;
184 $value = $loadcache[$newvalue];
186 if (!empty($object->$loadviewname))
188 $loadview = $object->$loadviewname;
189 $view = $loadview[$newvalue];
193 $return[
'error'] = $object->error;
200 if ((isset($object) && !is_object($object)) || empty($savemethod)) $object =
new GenericObject($db);
204 $object->ext_fk_element = $newvalue;
205 $object->ext_element = $ext_element;
206 $object->fk_element = $fk_element;
207 $object->element = $element;
209 $ret = $object->$savemethodname($field, $newvalue, $table_element, $fk_element, $format);
212 if ($type ==
'numeric') $value =
price($newvalue);
213 elseif ($type ==
'textarea') $value =
dol_nl2br($newvalue);
215 $return['value'] = $value;
216 $return['view'] = (!empty($view) ? $view : $value);
218 $return[
'error'] = $object->error;
222 echo json_encode($return);
224 echo $langs->trans(
'NotEnoughPermissions');
if(!function_exists('dol_getprefix')) dol_include_once($relpath, $classname= '')
Make an include_once using default root and alternate root if it fails.
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_nl2br($stringtoencode, $nl2brmode=0, $forxml=false)
Replace CRLF in string with a HTML BR tag.
if(!defined('NOREQUIREMENU')) if(!function_exists("llxHeader")) top_httphead($contenttype= 'text/html', $forcenocache=0)
Show HTTP header.
price($amount, $form=0, $outlangs= '', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code= '')
Function to format a value into an amount for visual output Function used into PDF and HTML pages...
price2num($amount, $rounding= '', $option=0)
Function that return a number with universal decimal format (decimal separator is '...
if(!GETPOST('transkey', 'alphanohtml')&&!GETPOST('transphrase', 'alphanohtml')) else
View.
restrictedArea($user, $features, $objectid=0, $tableandshare= '', $feature2= '', $dbt_keyfield= 'fk_soc', $dbt_select= 'rowid', $isdraft=0)
Check permissions of a user to show a page and an object.
Class of a generic business object.