24 require
'../../main.inc.php';
25 require_once DOL_DOCUMENT_ROOT.
'/core/lib/product.lib.php';
26 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.product.class.php';
27 require_once DOL_DOCUMENT_ROOT.
'/product/dynamic_price/class/price_global_variable.class.php';
28 require_once DOL_DOCUMENT_ROOT.
'/product/dynamic_price/class/price_global_variable_updater.class.php';
31 $langs->load(
"products");
34 $action =
GETPOST(
'action',
'aZ09');
35 $save =
GETPOST(
'save',
'alpha');
36 $cancel =
GETPOST(
'cancel',
'alpha');
37 $selection =
GETPOST(
'selection',
'int');
44 if ($action ==
'edit_variable') {
45 $res = $price_globals->fetch($selection);
51 if ($action ==
'edit_updater') {
52 $res = $price_updaters->fetch($selection);
63 if (!empty($action) && empty($cancel)) {
65 if ($action ==
'create_variable' || $action ==
'edit_variable') {
68 $price_globals->value =
GETPOSTISSET(
'value') ?
GETPOST(
'value',
'int') : $price_globals->value;
71 foreach ($price_globals->listGlobalVariables() as $entry) {
79 if ($action ==
'create_variable' && !empty($save)) {
80 $res = $price_globals->create($user);
86 } elseif ($action ==
'edit_variable' && !empty($save)) {
87 $res = $price_globals->update($user);
93 } elseif ($action ==
'delete_variable') {
94 $res = $price_globals->delete($selection, $user);
103 if ($action ==
'create_updater' || $action ==
'edit_updater') {
106 $price_updaters->parameters =
GETPOSTISSET(
'parameters') ?
GETPOST(
'parameters',
'alphanohtml') : $price_updaters->parameters;
107 $price_updaters->fk_variable =
GETPOSTISSET(
'fk_variable') ?
GETPOST(
'fk_variable',
'int') : $price_updaters->fk_variable;
108 $price_updaters->update_interval =
GETPOSTISSET(
'update_interval') ?
GETPOST(
'update_interval',
'int') : $price_updaters->update_interval;
110 if ($action ==
'create_updater' && !empty($save)) {
112 $res = $price_updaters->process();
114 $res = $price_updaters->create($user);
119 setEventMessages($price_updaters->error, $price_updaters->errors,
'errors');
121 } elseif ($action ==
'edit_updater' && !empty($save)) {
123 $res = $price_updaters->process();
125 $res = $price_updaters->update($user);
130 setEventMessages($price_updaters->error, $price_updaters->errors,
'errors');
132 } elseif ($action ==
'delete_updater') {
133 $res = $price_updaters->delete($selection, $user);
137 setEventMessages($price_updaters->error, $price_updaters->errors,
'errors');
140 } elseif (!empty($cancel)) {
149 $form =
new Form($db);
151 llxHeader(
"",
"", $langs->trans(
"CardProduct".$product->type));
153 $linkback =
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToModuleList").
'</a>';
156 print '<span class="opacitymedium">'.$langs->trans(
"DynamicPriceDesc").
'</span><br>';
160 if ($action !=
'create_updater' && $action !=
'edit_updater')
164 print '<table summary="listofattributes" class="noborder centpercent">';
165 print
'<tr class="liste_titre">';
166 print
'<td>'.$langs->trans(
"Variable").
'</td>';
167 print
'<td>'.$langs->trans(
"Description").
'</td>';
168 print
'<td>'.$langs->trans(
"Value").
'</td>';
169 print
'<td width="80"> </td>';
172 $arrayglobalvars = $price_globals->listGlobalVariables();
173 if (!empty($arrayglobalvars))
175 foreach ($arrayglobalvars as $i=>$entry) {
177 print
'<tr class="oddeven">';
178 print
'<td>'.$entry->code.
'</td>';
179 print
'<td>'.$entry->description.
'</td>';
180 print
'<td>'.price($entry->value).
'</td>';
181 print
'<td class="right"><a class="editfielda paddingrightonly" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit_variable&token='.
newToken().
'&selection='.$entry->id.
'">'.
img_edit().
'</a> ';
182 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=delete_variable&token='.
newToken().
'&selection='.$entry->id.
'">'.
img_delete().
'</a></td>';
186 print
'<tr colspan="7"><td class="opacitymedium">';
187 print $langs->trans(
"None");
195 print
'<div class="tabsAction">';
196 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=create_variable">'.$langs->trans(
"AddVariable").
'</a>';
204 if ($action ==
'create_variable' || $action ==
'edit_variable') {
206 print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">';
207 print
'<input type="hidden" name="token" value="'.newToken().
'">';
208 print
'<input type="hidden" name="action" value="'.$action.
'">';
209 print
'<input type="hidden" name="selection" value="'.$selection.
'">';
212 print
'<br><table summary="listofattributes" class="border centpercent">';
215 print
'<td class="fieldrequired">'.$langs->trans(
"Variable").
'</td>';
216 print
'<td class="valeur"><input type="text" name="code" size="20" value="'.(empty($price_globals->code) ?
'' : $price_globals->code).
'"></td>';
220 print
'<td>'.$langs->trans(
"Description").
'</td>';
221 print
'<td class="valeur"><input type="text" name="description" size="50" value="'.(empty($price_globals->description) ?
'' : $price_globals->description).
'"></td>';
225 print
'<td class="fieldrequired">'.$langs->trans(
"Value").
'</td>';
226 print
'<td class="valeur"><input type="text" name="value" size="10" value="'.(empty($price_globals->value) ?
'' : $price_globals->value).
'"></td>';
231 print
'<br><div class="center">';
232 print
'<input type="submit" class="button button-save" name="save" value="'.$langs->trans(
"Save").
'"> ';
233 print
'<input type="submit" class="button button-cancel" name="cancel" id="cancel" value="'.$langs->trans(
"Cancel").
'">';
239 if ($action !=
'create_variable' && $action !=
'edit_variable')
243 print
'<table summary="listofattributes" class="noborder centpercent">';
244 print
'<tr class="liste_titre">';
245 print
'<td>'.$langs->trans(
"VariableToUpdate").
'</td>';
246 print
'<td>'.$langs->trans(
"Description").
'</td>';
247 print
'<td>'.$langs->trans(
"Type").
'</td>';
248 print
'<td>'.$langs->trans(
"Parameters").
'</td>';
249 print
'<td>'.$langs->trans(
"UpdateInterval").
'</td>';
250 print
'<td>'.$langs->trans(
"LastUpdated").
'</td>';
251 print
'<td width="80"> </td>';
254 $arraypriceupdaters = $price_updaters->listUpdaters();
255 if (!empty($arraypriceupdaters))
257 foreach ($arraypriceupdaters as $i=>$entry) {
259 if ($entry->fk_variable > 0) {
260 $res = $price_globals->fetch($entry->fk_variable);
262 $code = $price_globals->code;
266 print
'<td>'.$code.
'</td>';
267 print
'<td>'.$entry->description.
'</td>';
268 print
'<td>'.$langs->trans(
"GlobalVariableUpdaterType".$entry->type).
'</td>';
269 print
'<td style="max-width: 250px; word-wrap: break-word; white-space: pre-wrap;">'.$entry->parameters.
'</td>';
270 print
'<td>'.$entry->update_interval.
'</td>';
271 print
'<td>'.$entry->getLastUpdated().
'</td>';
272 print
'<td class="right"><a class="editfielda paddingrightonly" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit_updater&selection='.$entry->id.
'">'.
img_edit().
'</a> ';
273 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=delete_updater&token='.
newToken().
'&selection='.$entry->id.
'">'.
img_delete().
'</a></td>';
277 print
'<tr><td colspan="7" class="opacitymedium">';
278 print $langs->trans(
"None");
286 print
'<div class="tabsAction">';
287 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=create_updater&token='.
newToken().
'">'.$langs->trans(
"AddUpdater").
'</a>';
293 if ($action ==
'create_updater' || $action ==
'edit_updater') {
295 print
'<form id="updaterform" action="'.$_SERVER[
"PHP_SELF"].
'" method="post">';
296 print
'<input type="hidden" name="token" value="'.newToken().
'">';
297 print
'<input type="hidden" name="action" value="'.$action.
'">';
298 print
'<input type="hidden" name="selection" value="'.$selection.
'">';
301 print
'<br><table summary="listofattributes" class="border centpercent">';
304 print
'<td class="fieldrequired">'.$langs->trans(
"VariableToUpdate").
'</td><td>';
305 $globals_list = array();
306 foreach ($price_globals->listGlobalVariables() as $entry) {
307 $globals_list[$entry->id] = $entry->code;
309 print $form->selectarray(
'fk_variable', $globals_list, (empty($price_updaters->fk_variable) ? 0 : $price_updaters->fk_variable));
313 print
'<td>'.$langs->trans(
"Description").
'</td>';
314 print
'<td class="valeur"><input type="text" name="description" size="50" value="'.(empty($price_updaters->description) ?
'' : $price_updaters->description).
'"></td>';
318 print
'<td class="fieldrequired">'.$langs->trans(
"Type").
'</td><td>';
319 $type = empty($price_updaters->type) ? 0 : $price_updaters->type;
320 $type_list = array();
321 foreach ($price_updaters->types as $val) {
322 $type_list[$val] = $langs->trans(
"GlobalVariableUpdaterType".$val);
324 print $form->selectarray(
'type', $type_list, $type);
326 print
'<script type="text/javascript">
327 jQuery(document).ready(run);
329 jQuery("#type").change(on_change);
331 function on_change() {
332 jQuery("#updaterform").submit();
338 $help = $langs->trans(
"GlobalVariableUpdaterHelp".$type).
'<br><b>'.$langs->trans(
"GlobalVariableUpdaterHelpFormat".$type).
'</b>';
339 print
'<td class="fieldrequired">'.$form->textwithpicto($langs->trans(
"Parameters"), $help, 1).
'</td><td>';
340 require_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
341 $doleditor =
new DolEditor(
'parameters', empty($price_updaters->parameters) ?
'' : $price_updaters->parameters,
'', 300,
'',
'',
false,
false,
false, ROWS_8,
'90%');
342 $doleditor->Create();
347 print
'<td class="fieldrequired">'.$langs->trans(
"UpdateInterval").
'</td>';
348 print
'<td class="valeur"><input type="text" name="update_interval" size="10" value="'.(empty($price_updaters->update_interval) ?
'' : $price_updaters->update_interval).
'"></td>';
353 print
'<br><div class="center">';
354 print
'<input type="submit" class="button button-save" name="save" value="'.$langs->trans(
"Save").
'"> ';
355 print
'<input type="submit" class="button button-cancel" name="cancel" id="cancel" value="'.$langs->trans(
"Cancel").
'">';
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
img_edit($titlealt= 'default', $float=0, $other= '')
Show logo editer/modifier fiche.
if(!empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'] country if(!empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'] typent code
</td > param sortfield sortorder printFieldListOption< tdclass="liste_titremaxwidthsearchright"></td ></tr >< trclass="liste_titre">< inputtype="checkbox"onClick="toggle(this)"/> Ref p ref Label p label Duration p duration center DesiredStock p desiredstock right StockLimitShort p seuil_stock_alerte right stock_physique right stock_real_warehouse right Ordered right StockToBuy right SupplierRef right param sortfield sortorder printFieldListTitle warehouseinternal SELECT description FROM product_lang WHERE qty< br > qty qty qty StockTooLow StockTooLow help help help< trclass="oddeven">< td >< inputtype="checkbox"class="check"name="choose'.$i.'"></td >< tdclass="nowrap"> stock</td >< td >< inputtype="hidden"name="desc'.$i.'"value="'.dol_escape_htmltag($objp-> description
Only used if Module[ID]Desc translation string is not found.
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
print
Draft customers invoices.
Class for accesing price global variables table.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
Class to manage a WYSIWYG editor.
img_delete($titlealt= 'default', $other= 'class="pictodelete"', $morecss= '')
Show delete logo.
Class for price global variable updaters table.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
dol_strtolower($string, $encoding="UTF-8")
Convert a string to lower.