dolibarr  16.0.1
index.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
3  * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
4  * Copyright (C) 2013-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
5  * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
6  * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
7  * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
8  * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
9  * Copyright (C) 2017 Laurent Destailleur <eldy@destailleur.fr>
10  * Copyright (C) 2021 Ferran Marcet <fmarcet@2byte.es>
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 3 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program. If not, see <https://www.gnu.org/licenses/>.
24  */
25 
32 require '../../main.inc.php';
33 require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
34 require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
35 require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
36 
37 // Load translation files required by the page
38 $langs->loadLangs(array("compta", "bills", "admin", "accountancy", "other"));
39 
40 // Security access
41 if (empty($user->rights->accounting->chartofaccount)) {
43 }
44 
45 $action = GETPOST('action', 'aZ09');
46 
47 // Parameters ACCOUNTING_* and others
48 $list = array(
49  'ACCOUNTING_LENGTH_GACCOUNT',
50  'ACCOUNTING_LENGTH_AACCOUNT',
51 // 'ACCOUNTING_LIMIT_LIST_VENTILATION' // there is already a global parameter to define the nb of records in lists, we must use it in priority. Having one parameter for nb of record for each page is deprecated.
52 // 'ACCOUNTING_LENGTH_DESCRIPTION', // adjust size displayed for lines description for dol_trunc
53 // 'ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT', // adjust size displayed for select account description for dol_trunc
54 );
55 
56 $list_binding = array(
57  'ACCOUNTING_DATE_START_BINDING',
58  'ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER'
59 );
60 
61 $error = 0;
62 
63 
64 /*
65  * Actions
66  */
67 
68 if (in_array($action, array(
69  'setBANK_DISABLE_DIRECT_INPUT',
70  'setACCOUNTANCY_COMBO_FOR_AUX',
71  'setACCOUNTING_MANAGE_ZERO',
72  'setACCOUNTING_LIST_SORT_VENTILATION_TODO',
73  'setACCOUNTING_LIST_SORT_VENTILATION_DONE'))) {
74  $constname = preg_replace('/^set/', '', $action);
75  $constvalue = GETPOST('value', 'int');
76  $res = dolibarr_set_const($db, $constname, $constvalue, 'yesno', 0, '', $conf->entity);
77  if (!($res > 0)) {
78  $error++;
79  }
80 
81  if (!$error) {
82  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
83  } else {
84  setEventMessages($langs->trans("Error"), null, 'mesgs');
85  }
86 }
87 
88 if ($action == 'update') {
89  $error = 0;
90 
91  if (!$error) {
92  foreach ($list as $constname) {
93  $constvalue = GETPOST($constname, 'alpha');
94  if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
95  $error++;
96  }
97  }
98  if ($error) {
99  setEventMessages($langs->trans("Error"), null, 'errors');
100  }
101 
102  foreach ($list_binding as $constname) {
103  $constvalue = GETPOST($constname, 'alpha');
104 
105  if ($constname == 'ACCOUNTING_DATE_START_BINDING') {
106  $constvalue = dol_mktime(0, 0, 0, GETPOST($constname.'month', 'int'), GETPOST($constname.'day', 'int'), GETPOST($constname.'year', 'int'));
107  }
108 
109  if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
110  $error++;
111  }
112  }
113  if ($error) {
114  setEventMessages($langs->trans("Error"), null, 'errors');
115  }
116  }
117 
118  if (!$error) {
119  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
120  }
121 }
122 
123 if ($action == 'setlistsorttodo') {
124  $setlistsorttodo = GETPOST('value', 'int');
125  $res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity);
126  if (!($res > 0)) {
127  $error++;
128  }
129 
130  if (!$error) {
131  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
132  } else {
133  setEventMessages($langs->trans("Error"), null, 'mesgs');
134  }
135 }
136 
137 if ($action == 'setlistsortdone') {
138  $setlistsortdone = GETPOST('value', 'int');
139  $res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_DONE", $setlistsortdone, 'yesno', 0, '', $conf->entity);
140  if (!($res > 0)) {
141  $error++;
142  }
143 
144  if (!$error) {
145  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
146  } else {
147  setEventMessages($langs->trans("Error"), null, 'mesgs');
148  }
149 }
150 
151 if ($action == 'setmanagezero') {
152  $setmanagezero = GETPOST('value', 'int');
153  $res = dolibarr_set_const($db, "ACCOUNTING_MANAGE_ZERO", $setmanagezero, 'yesno', 0, '', $conf->entity);
154  if (!($res > 0)) {
155  $error++;
156  }
157 
158  if (!$error) {
159  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
160  } else {
161  setEventMessages($langs->trans("Error"), null, 'mesgs');
162  }
163 }
164 
165 if ($action == 'setdisabledirectinput') {
166  $setdisabledirectinput = GETPOST('value', 'int');
167  $res = dolibarr_set_const($db, "BANK_DISABLE_DIRECT_INPUT", $setdisabledirectinput, 'yesno', 0, '', $conf->entity);
168  if (!($res > 0)) {
169  $error++;
170  }
171 
172  if (!$error) {
173  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
174  } else {
175  setEventMessages($langs->trans("Error"), null, 'mesgs');
176  }
177 }
178 
179 if ($action == 'setenabledraftexport') {
180  $setenabledraftexport = GETPOST('value', 'int');
181  $res = dolibarr_set_const($db, "ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL", $setenabledraftexport, 'yesno', 0, '', $conf->entity);
182  if (!($res > 0)) {
183  $error++;
184  }
185 
186  if (!$error) {
187  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
188  } else {
189  setEventMessages($langs->trans("Error"), null, 'mesgs');
190  }
191 }
192 
193 if ($action == 'setenablesubsidiarylist') {
194  $setenablesubsidiarylist = GETPOST('value', 'int');
195  $res = dolibarr_set_const($db, "ACCOUNTANCY_COMBO_FOR_AUX", $setenablesubsidiarylist, 'yesno', 0, '', $conf->entity);
196  if (!($res > 0)) {
197  $error++;
198  }
199 
200  if (!$error) {
201  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
202  } else {
203  setEventMessages($langs->trans("Error"), null, 'mesgs');
204  }
205 }
206 
207 if ($action == 'setdisablebindingonsales') {
208  $setdisablebindingonsales = GETPOST('value', 'int');
209  $res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_SALES", $setdisablebindingonsales, 'yesno', 0, '', $conf->entity);
210  if (!($res > 0)) {
211  $error++;
212  }
213 
214  if (!$error) {
215  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
216  } else {
217  setEventMessages($langs->trans("Error"), null, 'mesgs');
218  }
219 }
220 
221 if ($action == 'setdisablebindingonpurchases') {
222  $setdisablebindingonpurchases = GETPOST('value', 'int');
223  $res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_PURCHASES", $setdisablebindingonpurchases, 'yesno', 0, '', $conf->entity);
224  if (!($res > 0)) {
225  $error++;
226  }
227 
228  if (!$error) {
229  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
230  } else {
231  setEventMessages($langs->trans("Error"), null, 'mesgs');
232  }
233 }
234 
235 if ($action == 'setdisablebindingonexpensereports') {
236  $setdisablebindingonexpensereports = GETPOST('value', 'int');
237  $res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS", $setdisablebindingonexpensereports, 'yesno', 0, '', $conf->entity);
238  if (!($res > 0)) {
239  $error++;
240  }
241 
242  if (!$error) {
243  setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
244  } else {
245  setEventMessages($langs->trans("Error"), null, 'mesgs');
246  }
247 }
248 
249 
250 /*
251  * View
252  */
253 
254 $form = new Form($db);
255 
256 $title = $langs->trans('ConfigAccountingExpert');
257 llxHeader('', $title);
258 
259 $linkback = '';
260 //$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1">' . $langs->trans("BackToModuleList") . '</a>';
261 print load_fiche_titre($title, $linkback, 'accountancy');
262 
263 // Show message if accountancy hidden options are activated to help to resolve some problems
264 if (!$user->admin) {
265  if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
266  print '<div class="info">' . $langs->trans("ConstantIsOn", "FACTURE_DEPOSITS_ARE_JUST_PAYMENTS") . '</div>';
267  }
268  if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) {
269  print '<div class="info">' . $langs->trans("ConstantIsOn", "ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY") . '</div>';
270  }
271  if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
272  print '<div class="info">' . $langs->trans("ConstantIsOn", "MAIN_COMPANY_PERENTITY_SHARED") . '</div>';
273  }
274  if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
275  print '<div class="info">' . $langs->trans("ConstantIsOn", "MAIN_PRODUCT_PERENTITY_SHARED") . '</div>';
276  }
277 }
278 
279 print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
280 print '<input type="hidden" name="token" value="'.newToken().'">';
281 print '<input type="hidden" name="action" value="update">';
282 
283 // Params
284 print '<table class="noborder centpercent">';
285 print '<tr class="liste_titre">';
286 print '<td colspan="2">'.$langs->trans('Options').'</td>';
287 print "</tr>\n";
288 
289 // TO DO Mutualize code for yes/no constants
290 
291 /* Set this option as a hidden option but keep it for some needs.
292 print '<tr>';
293 print '<td>'.$langs->trans("ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL").'</td>';
294 if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) {
295  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enabledraftexport&value=0">';
296  print img_picto($langs->trans("Activated"), 'switch_on');
297  print '</a></td>';
298 } else {
299  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enabledraftexport&value=1">';
300  print img_picto($langs->trans("Disabled"), 'switch_off');
301  print '</a></td>';
302 }
303 print '</tr>';
304 */
305 
306 print '<tr class="oddeven">';
307 print '<td>'.$langs->trans("BANK_DISABLE_DIRECT_INPUT").'</td>';
308 if (!empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
309  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setBANK_DISABLE_DIRECT_INPUT&value=0">';
310  print img_picto($langs->trans("Activated"), 'switch_on');
311  print '</a></td>';
312 } else {
313  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setBANK_DISABLE_DIRECT_INPUT&value=1">';
314  print img_picto($langs->trans("Disabled"), 'switch_off');
315  print '</a></td>';
316 }
317 print '</tr>';
318 
319 print '<tr class="oddeven">';
320 print '<td>'.$langs->trans("ACCOUNTANCY_COMBO_FOR_AUX");
321 print ' - <span class="opacitymedium">'.$langs->trans("NotRecommended").'</span>';
322 print '</td>';
323 
324 if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) {
325  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTANCY_COMBO_FOR_AUX&value=0">';
326  print img_picto($langs->trans("Activated"), 'switch_on');
327  print '</a></td>';
328 } else {
329  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTANCY_COMBO_FOR_AUX&value=1">';
330  print img_picto($langs->trans("Disabled"), 'switch_off');
331  print '</a></td>';
332 }
333 print '</tr>';
334 
335 print '<tr class="oddeven">';
336 print '<td>'.$langs->trans("ACCOUNTING_MANAGE_ZERO").'</td>';
337 if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO)) {
338  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_MANAGE_ZERO&value=0">';
339  print img_picto($langs->trans("Activated"), 'switch_on');
340  print '</a></td>';
341 } else {
342  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_MANAGE_ZERO&value=1">';
343  print img_picto($langs->trans("Disabled"), 'switch_off');
344  print '</a></td>';
345 }
346 print '</tr>';
347 
348 // Param a user $user->rights->accounting->chartofaccount can access
349 foreach ($list as $key) {
350  print '<tr class="oddeven value">';
351 
352  if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO) && ($key == 'ACCOUNTING_LENGTH_GACCOUNT' || $key == 'ACCOUNTING_LENGTH_AACCOUNT')) {
353  continue;
354  }
355 
356  // Param
357  $label = $langs->trans($key);
358  print '<td>'.$label.'</td>';
359  // Value
360  print '<td class="right">';
361  print '<input type="text" class="maxwidth50 right" id="'.$key.'" name="'.$key.'" value="'.getDolGlobalString($key).'">';
362 
363  print '</td>';
364  print '</tr>';
365 }
366 print '</table>';
367 print '<br>';
368 
369 // Binding params
370 print '<table class="noborder centpercent">';
371 print '<tr class="liste_titre">';
372 print '<td colspan="2">'.$langs->trans('BindingOptions').'</td>';
373 print "</tr>\n";
374 
375 // TO DO Mutualize code for yes/no constants
376 print '<tr class="oddeven">';
377 print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO").'</td>';
378 if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_TODO)) {
379  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_LIST_SORT_VENTILATION_TODO&value=0">';
380  print img_picto($langs->trans("Activated"), 'switch_on');
381  print '</a></td>';
382 } else {
383  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_LIST_SORT_VENTILATION_TODO&value=1">';
384  print img_picto($langs->trans("Disabled"), 'switch_off');
385  print '</a></td>';
386 }
387 print '</tr>';
388 
389 print '<tr class="oddeven">';
390 print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_DONE").'</td>';
391 if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
392  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_LIST_SORT_VENTILATION_DONE&value=0">';
393  print img_picto($langs->trans("Activated"), 'switch_on');
394  print '</a></td>';
395 } else {
396  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setACCOUNTING_LIST_SORT_VENTILATION_DONE&value=1">';
397  print img_picto($langs->trans("Disabled"), 'switch_off');
398  print '</a></td>';
399 }
400 print '</tr>';
401 
402 // Param a user $user->rights->accounting->chartofaccount can access
403 foreach ($list_binding as $key) {
404  print '<tr class="oddeven value">';
405 
406  // Param
407  $label = $langs->trans($key);
408  print '<td>'.$label.'</td>';
409  // Value
410  print '<td class="right">';
411  if ($key == 'ACCOUNTING_DATE_START_BINDING') {
412  print $form->selectDate((!empty($conf->global->$key) ? $db->idate($conf->global->$key) : -1), $key, 0, 0, 1);
413  } elseif ($key == 'ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER') {
414  $array = array(0=>$langs->trans("PreviousMonth"), 1=>$langs->trans("CurrentMonth"), 2=>$langs->trans("Fiscalyear"));
415  print $form->selectarray($key, $array, (isset($conf->global->ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER) ? $conf->global->ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER : 0));
416  } else {
417  print '<input type="text" class="maxwidth100" id="'.$key.'" name="'.$key.'" value="'.getDolGlobalString($key).'">';
418  }
419 
420  print '</td>';
421  print '</tr>';
422 }
423 
424 print '<tr class="oddeven">';
425 print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_SALES").'</td>';
426 if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_SALES)) {
427  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonsales&value=0">';
428  print img_picto($langs->trans("Activated"), 'switch_on', '', false, 0, 0, '', 'warning');
429  print '</a></td>';
430 } else {
431  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonsales&value=1">';
432  print img_picto($langs->trans("Disabled"), 'switch_off');
433  print '</a></td>';
434 }
435 print '</tr>';
436 
437 print '<tr class="oddeven">';
438 print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_PURCHASES").'</td>';
439 if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_PURCHASES)) {
440  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonpurchases&value=0">';
441  print img_picto($langs->trans("Activated"), 'switch_on', '', false, 0, 0, '', 'warning');
442  print '</a></td>';
443 } else {
444  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonpurchases&value=1">';
445  print img_picto($langs->trans("Disabled"), 'switch_off');
446  print '</a></td>';
447 }
448 print '</tr>';
449 
450 print '<tr class="oddeven">';
451 print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS").'</td>';
452 if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS)) {
453  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonexpensereports&value=0">';
454  print img_picto($langs->trans("Activated"), 'switch_on', '', false, 0, 0, '', 'warning');
455  print '</a></td>';
456 } else {
457  print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&action=setdisablebindingonexpensereports&value=1">';
458  print img_picto($langs->trans("Disabled"), 'switch_off');
459  print '</a></td>';
460 }
461 print '</tr>';
462 
463 print '</table>';
464 
465 print '<div class="center"><input type="submit" class="button button-edit" name="button" value="'.$langs->trans('Modify').'"></div>';
466 
467 print '</form>';
468 
469 // End of page
470 llxFooter();
471 $db->close();
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
if($cancel &&!$id) if($action== 'add'&&!$cancel) if($action== 'delete') if($id) $form
Actions.
Definition: card.php:142
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm= 'auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
dolibarr_set_const($db, $name, $value, $type= 'chaine', $visible=0, $note= '', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
Definition: admin.lib.php:627
if(!function_exists('utf8_encode')) if(!function_exists('utf8_decode')) getDolGlobalString($key, $default= '')
Return dolibarr global constant string value.
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOCSRFCHECK')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
Definition: wrapper.php:59
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
Class to manage generation of HTML components Only common components must be here.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
img_picto($titlealt, $picto, $moreatt= '', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt= '', $morecss= '', $marginleftonlyshort=2)
Show picto whatever it&#39;s its name (generic function)
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 ...
newToken()
Return the value of token currently saved into session with name &#39;newtoken&#39;.
llxFooter()
Empty footer.
Definition: wrapper.php:73