dolibarr 22.0.5
pdf_other.php
1<?php
2/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
4 * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
5 * Copyright (C) 2012-2107 Juanjo Menent <jmenent@2byte.es>
6 * Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es>
7 * Copyright (C) 2021-2024 Anthony Berton <anthony.berton@bb2a.fr>
8 * Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
9 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
10 * Copyright (C) 2024 Nick Fragoulis
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
31// Load Dolibarr environment
32require '../main.inc.php';
33require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
34require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
35require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
36require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
37require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
38require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
39require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
40require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
41
51// Load translation files required by the page
52$langs->loadLangs(array('admin', 'bills', 'companies', 'languages', 'members', 'other', 'products', 'propal', 'receptions', 'stocks', 'trips', 'orders'));
53
54if (!$user->admin) {
56}
57
58$action = GETPOST('action', 'aZ09');
59$modulepart = GETPOST('modulepart', 'aZ09');
60
61$diroffile = '';
62$varname = '';
63if ($modulepart == 'propal') {
64 $diroffile = $conf->propal->dir_output;
65 $varname = 'MAIN_INFO_PROPAL_TERMSOFSALE';
66}
67if ($modulepart == 'order') {
68 $diroffile = $conf->order->dir_output;
69 $varname = 'MAIN_INFO_ORDER_TERMSOFSALE';
70}
71if ($modulepart == 'invoice') {
72 $diroffile = $conf->invoice->dir_output;
73 $varname = 'MAIN_INFO_INVOICE_TERMSOFSALE';
74}
75
76
77/*
78 * Actions
79 */
80
81if ($action == 'update') {
82 if (GETPOSTISSET('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING')) {
83 dolibarr_set_const($db, "MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", GETPOST("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING"), 'chaine', 0, '', $conf->entity);
84 }
85 if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTTERM')) {
86 dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTTERM", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTTERM"), 'chaine', 0, '', $conf->entity);
87 }
88 if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTMODE')) {
89 dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTMODE", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTMODE"), 'chaine', 0, '', $conf->entity);
90 }
91 if (GETPOSTISSET('MAIN_GENERATE_PROPOSALS_WITH_PICTURE')) {
92 dolibarr_set_const($db, "MAIN_GENERATE_PROPOSALS_WITH_PICTURE", GETPOST("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"), 'chaine', 0, '', $conf->entity);
93 }
94 if (GETPOSTISSET('SALES_ORDER_SHOW_SHIPPING_ADDRESS')) {
95 dolibarr_set_const($db, "SALES_ORDER_SHOW_SHIPPING_ADDRESS", GETPOSTINT("SALES_ORDER_SHOW_SHIPPING_ADDRESS"), 'chaine', 0, '', $conf->entity);
96 dolibarr_del_const($db, "SALES_ORDER_SHOW_SHIPPING_ADDRESS", $conf->entity);
97 }
98 if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE')) {
99 dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE", GETPOST("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE"), 'chaine', 0, '', $conf->entity);
100 }
101 if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN')) {
102 dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN", GETPOST("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN"), 'chaine', 0, '', $conf->entity);
103 }
104 if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE')) {
105 dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE", GETPOST("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE"), 'chaine', 0, '', $conf->entity);
106 }
107 if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN')) {
108 dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN", GETPOST("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN"), 'chaine', 0, '', $conf->entity);
109 }
110 if (GETPOSTISSET('MAIN_DOCUMENTS_WITH_PICTURE_WIDTH')) {
111 dolibarr_set_const($db, "MAIN_DOCUMENTS_WITH_PICTURE_WIDTH", GETPOSTINT("MAIN_DOCUMENTS_WITH_PICTURE_WIDTH"), 'chaine', 0, '', $conf->entity);
112 }
113 if (GETPOSTISSET('MAIN_PDF_ADD_TERMSOFSALE_PROPAL')) {
114 dolibarr_set_const($db, "MAIN_PDF_ADD_TERMSOFSALE_PROPAL", GETPOST("MAIN_PDF_ADD_TERMSOFSALE_PROPAL", 'int'), 'chaine', 0, '', $conf->entity);
115 }
116 if (GETPOSTISSET('MAIN_PDF_ADD_TERMSOFSALE_ORDER')) {
117 dolibarr_set_const($db, "MAIN_PDF_ADD_TERMSOFSALE_ORDER", GETPOST("MAIN_PDF_ADD_TERMSOFSALE_ORDER", 'int'), 'chaine', 0, '', $conf->entity);
118 }
119 if (GETPOSTISSET('MAIN_PDF_ADD_TERMSOFSALE_INVOICE')) {
120 dolibarr_set_const($db, "MAIN_PDF_ADD_TERMSOFSALE_INVOICE", GETPOST("MAIN_PDF_ADD_TERMSOFSALE_INVOICE", 'int'), 'chaine', 0, '', $conf->entity);
121 }
122 if (GETPOSTISSET('INVOICE_ADD_ZATCA_QR_CODE')) {
123 dolibarr_set_const($db, "INVOICE_ADD_ZATCA_QR_CODE", GETPOSTINT("INVOICE_ADD_ZATCA_QR_CODE"), 'chaine', 0, '', $conf->entity);
124 if (GETPOSTINT('INVOICE_ADD_ZATCA_QR_CODE') == 1) {
125 dolibarr_del_const($db, "INVOICE_ADD_SWISS_QR_CODE", $conf->entity);
126 }
127 }
128 if (GETPOSTISSET('INVOICE_ADD_EPC_QR_CODE')) {
129 dolibarr_set_const($db, "INVOICE_ADD_EPC_QR_CODE", GETPOST("INVOICE_ADD_EPC_QR_CODE", 'int'), 'chaine', 0, '', $conf->entity);
130 if (GETPOSTINT('INVOICE_ADD_EPC_QR_CODE') == 1) {
131 dolibarr_del_const($db, "INVOICE_ADD_EPC_QR_CODE", $conf->entity);
132 }
133 }
134 if (GETPOSTISSET('INVOICE_ADD_SWISS_QR_CODE')) {
135 dolibarr_set_const($db, "INVOICE_ADD_SWISS_QR_CODE", GETPOST("INVOICE_ADD_SWISS_QR_CODE", 'alpha'), 'chaine', 0, '', $conf->entity);
136 if (GETPOST('INVOICE_ADD_SWISS_QR_CODE', 'alpha') != '0') {
137 dolibarr_del_const($db, "INVOICE_ADD_ZATCA_QR_CODE", $conf->entity);
138 }
139 }
140 if (GETPOSTISSET('INVOICE_CATEGORY_OF_OPERATION')) {
141 dolibarr_set_const($db, "INVOICE_CATEGORY_OF_OPERATION", GETPOSTINT("INVOICE_CATEGORY_OF_OPERATION"), 'chaine', 0, '', $conf->entity);
142 }
143 if (GETPOSTISSET('INVOICE_SHOW_SHIPPING_ADDRESS')) {
144 dolibarr_set_const($db, "INVOICE_SHOW_SHIPPING_ADDRESS", GETPOSTINT("INVOICE_SHOW_SHIPPING_ADDRESS"), 'chaine', 0, '', $conf->entity);
145 dolibarr_del_const($db, "INVOICE_SHOW_SHIPPING_ADDRESS", $conf->entity);
146 }
147 if (GETPOSTISSET('PDF_INVOICE_SHOW_VAT_ANALYSIS')) {
148 dolibarr_set_const($db, "PDF_INVOICE_SHOW_VAT_ANALYSIS", GETPOSTINT("PDF_INVOICE_SHOW_VAT_ANALYSIS"), 'chaine', 0, '', $conf->entity);
149 dolibarr_del_const($db, "PDF_INVOICE_SHOW_VAT_ANALYSIS", $conf->entity);
150 }
151 if (GETPOSTISSET('INVOICE_HIDE_LINKED_OBJECT')) {
152 dolibarr_set_const($db, "INVOICE_HIDE_LINKED_OBJECT", GETPOSTINT("INVOICE_HIDE_LINKED_OBJECT"), 'chaine', 0, '', $conf->entity);
153 }
154 if (GETPOSTISSET('BARCODE_ON_SHIPPING_PDF')) {
155 dolibarr_set_const($db, "BARCODE_ON_SHIPPING_PDF", GETPOSTINT("BARCODE_ON_SHIPPING_PDF"), 'chaine', 0, '', $conf->entity);
156 }
157 if (GETPOSTISSET('BARCODE_ON_RECEPTION_PDF')) {
158 dolibarr_set_const($db, "BARCODE_ON_RECEPTION_PDF", GETPOSTINT("BARCODE_ON_RECEPTION_PDF"), 'chaine', 0, '', $conf->entity);
159 }
160 if (GETPOSTISSET('BARCODE_ON_STOCKTRANSFER_PDF')) {
161 dolibarr_set_const($db, "BARCODE_ON_STOCKTRANSFER_PDF", GETPOSTINT("BARCODE_ON_STOCKTRANSFER_PDF"), 'chaine', 0, '', $conf->entity);
162 }
163
164 // add file to concat
165 foreach (array('MAIN_INFO_PROPAL_TERMSOFSALE', 'MAIN_INFO_ORDER_TERMSOFSALE', 'MAIN_INFO_INVOICE_TERMSOFSALE') as $varname) {
166 if (isset($_FILES[$varname]) && $_FILES[$varname]["name"]) {
167 if (!preg_match('/(\.pdf)$/i', $_FILES[$varname]["name"])) { // Document can be used on a lot of different places. Only pdf can be supported.
168 $langs->load("errors");
169 setEventMessages($langs->trans("ErrorBadFormat"), null, 'errors');
170 } else {
171 if ($varname == 'MAIN_INFO_PROPAL_TERMSOFSALE') {
172 $diroffile = $conf->propal->dir_output;
173 } elseif ($varname == 'MAIN_INFO_ORDER_TERMSOFSALE') {
174 $diroffile = $conf->order->dir_output;
175 } elseif ($varname == 'MAIN_INFO_INVOICE_TERMSOFSALE') {
176 $diroffile = $conf->invoice->dir_output;
177 }
178 if ($diroffile) {
179 $dirforterms = $diroffile.'/';
180 $original_file = $_FILES[$varname]["name"];
181 $result = dol_move_uploaded_file($_FILES[$varname]["tmp_name"], $dirforterms.$original_file, 1, 0, $_FILES[$varname]['error']);
182 if ((int) $result > 0) {
183 dolibarr_set_const($db, $varname, $original_file, 'chaine', 0, '', $conf->entity);
184 }
185 }
186 }
187 }
188 }
189
190 setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
191
192 header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup");
193 exit;
194}
195
196
197// Remove file to concat
198if ($action == 'removetermsofsale') {
199 require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
200
201 $filename = getDolGlobalString($varname);
202 if ($filename != '') {
203 $file = dol_sanitizePathName($diroffile).'/'.dol_sanitizeFileName($filename);
204 dol_delete_file($file);
205 }
206 dolibarr_del_const($db, $varname, $conf->entity);
207}
208
209
210/*
211 * View
212 */
213
214$wikihelp = 'EN:First_setup|FR:Premiers_param&eacute;trages|ES:Primeras_configuraciones';
215llxHeader('', $langs->trans("Setup"), $wikihelp, '', 0, 0, '', '', '', 'mod-admin page-pdf_other');
216
217$form = new Form($db);
218$formother = new FormOther($db);
219$formadmin = new FormAdmin($db);
220$formfile = new FormFile($db);
221
222print load_fiche_titre($langs->trans("PDF"), '', 'title_setup');
223
224$head = pdf_admin_prepare_head();
225
226print dol_get_fiche_head($head, 'other', '', -1, '');
227
228$tooltiptext = '';
229print '<span class="opacitymedium">'.$form->textwithpicto($langs->trans("PDFOtherDesc"), $tooltiptext)."</span><br>\n";
230print "<br>\n";
231
232
233$maxfilesizearray = getMaxFileSizeArray();
234$tooltipconcatpdf = ($maxfilesizearray['maxmin'] > 0) ? $langs->trans('MaxSize').' : '.$maxfilesizearray['maxmin'].' '.$langs->trans('Kb') : '';
235$documenturl = DOL_URL_ROOT.'/document.php';
236if (isset($conf->global->DOL_URL_ROOT_DOCUMENT_PHP)) {
237 $documenturl = getDolGlobalString('DOL_URL_ROOT_DOCUMENT_PHP');
238}
239
240
241print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'">';
242print '<input type="hidden" name="token" value="'.newToken().'">';
243print '<input type="hidden" name="action" value="update">';
244
245if (isModEnabled('propal')) {
246 print '<div id="#proposal"></div>';
247
248 print load_fiche_titre($langs->trans("Proposal"), '', 'proposal');
249
250 print '<div class="div-table-responsive-no-min">';
251 print '<table summary="more" class="noborder centpercent">';
252 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td width="200px"></td></tr>';
253
254 /* This feature seems not yet used into Dolibarr. So option is kept hidden and enabled by default
255 print '<tr class="oddeven"><td>';
256 print $form->textwithpicto($langs->trans("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING"), '');
257 print '</td><td>';
258 if ($conf->use_javascript_ajax) {
259 print ajax_constantonoff('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING');
260 } else {
261 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
262 print $form->selectarray("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", $arrval, getDolGlobalString('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING'));
263 }
264 print '</td></tr>';
265 */
266
267 print '<tr class="oddeven"><td>';
268 print $form->textwithpicto($langs->trans("PDF_XXX_SHOW_PRICE_INCL_TAX"), $langs->trans("AvailableWithSomePDFTemplatesOnly"));
269 print '</td><td>';
270 if ($conf->use_javascript_ajax) {
271 print ajax_constantonoff('PDF_PROPAL_SHOW_PRICE_INCL_TAX');
272 } else {
273 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
274 print $form->selectarray("PDF_PROPAL_SHOW_PRICE_INCL_TAX", $arrval, getDolGlobalString('PDF_PROPAL_SHOW_PRICE_INCL_TAX'));
275 }
276 print '</td></tr>';
277
278 print '<tr class="oddeven"><td>';
279 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_WITH_PICTURE"), $langs->trans("RandomlySelectedIfSeveral"));
280 print '</td><td>';
281 if ($conf->use_javascript_ajax) {
282 print ajax_constantonoff('MAIN_GENERATE_PROPOSALS_WITH_PICTURE');
283 } else {
284 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
285 print $form->selectarray("MAIN_GENERATE_PROPOSALS_WITH_PICTURE", $arrval, getDolGlobalString('MAIN_GENERATE_PROPOSALS_WITH_PICTURE'));
286 }
287 print '</td></tr>';
288
289 // Concat PDF
290 print '<tr class="oddeven"><td>';
291 print $form->textwithpicto($langs->trans("MAIN_PDF_ADD_TERMSOFSALE_PROPAL"), $tooltipconcatpdf);
292 print '</td><td>';
293 if ($conf->use_javascript_ajax) {
294 print ajax_constantonoff('MAIN_PDF_ADD_TERMSOFSALE_PROPAL', array(), null, 0, 0, 1);
295 } else {
296 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
297 print $form->selectarray("MAIN_PDF_ADD_TERMSOFSALE_PROPAL", $arrval, getDolGlobalString('MAIN_PDF_ADD_TERMSOFSALE_PROPAL'));
298 }
299
300 if (getDolGlobalString("MAIN_PDF_ADD_TERMSOFSALE_PROPAL")) {
301 $modulepart = 'propal';
302 print '<div class="inline-block nobordernopadding valignmiddle "><div class="inline-block marginrightonly">';
303 print '<input type="file" class="flat minwidth100 maxwidthinputfileonsmartphone" name="MAIN_INFO_PROPAL_TERMSOFSALE" id="MAIN_INFO_PROPAL_TERMSOFSALE" accept="application/pdf">';
304 if (getDolGlobalString("MAIN_INFO_PROPAL_TERMSOFSALE")) {
305 $termofsale = getDolGlobalString("MAIN_INFO_PROPAL_TERMSOFSALE");
306 if (file_exists($conf->propal->dir_output.'/'.$termofsale)) {
307 $file = dol_dir_list($conf->propal->dir_output, 'files', 0, $termofsale);
308 print '<div class="inline-block valignmiddle marginrightonly"><a href="'.$documenturl.'?modulepart='.$modulepart.'&file='.urlencode($termofsale).'">'.$termofsale.'</a>'.$formfile->showPreview($file[0], $modulepart, $termofsale, 0, '');
309 print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removetermsofsale&modulepart='.$modulepart.'&token='.newToken().'">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
310 }
311 }
312 print '</div>';
313 }
314
315 print '</td></tr>';
316
317 print '</table>';
318 print '</div>';
319
320 print '<br>';
321}
322
323if (isModEnabled('order')) {
324 print '<div id="#order"></div>';
325
326 $langs->load("orders");
327 print load_fiche_titre($langs->trans('CustomersOrders'), '', 'order');
328
329 print '<div class="div-table-responsive-no-min">';
330 print '<table summary="more" class="noborder centpercent">';
331
332 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameters").'</td><td width="200px"></td></tr>';
333
334 print '<tr class="oddeven"><td>';
335 print $form->textwithpicto($langs->trans("PDF_XXX_SHOW_PRICE_INCL_TAX"), $langs->trans("AvailableWithSomePDFTemplatesOnly"));
336 print '</td><td>';
337 if ($conf->use_javascript_ajax) {
338 print ajax_constantonoff('PDF_ORDER_SHOW_PRICE_INCL_TAX');
339 } else {
340 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
341 print $form->selectarray("PDF_ORDER_SHOW_PRICE_INCL_TAX", $arrval, getDolGlobalString('PDF_ORDER_SHOW_PRICE_INCL_TAX'));
342 }
343 print '</td></tr>';
344
345 print '<tr class="oddeven"><td>';
346 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_WITH_PICTURE"), $langs->trans("RandomlySelectedIfSeveral"));
347 print '</td><td>';
348 if ($conf->use_javascript_ajax) {
349 print ajax_constantonoff('MAIN_GENERATE_ORDERS_WITH_PICTURE');
350 } else {
351 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
352 print $form->selectarray("MAIN_GENERATE_ORDERS_WITH_PICTURE", $arrval, getDolGlobalString('MAIN_GENERATE_ORDERS_WITH_PICTURE'));
353 }
354 print '</td></tr>';
355
356 print '<tr class="oddeven"><td>';
357 print $form->textwithpicto($langs->trans("SALES_ORDER_SHOW_SHIPPING_ADDRESS"), $langs->trans("SALES_ORDER_SHOW_SHIPPING_ADDRESSMore"));
358 print '</td><td>';
359 if ($conf->use_javascript_ajax) {
360 print ajax_constantonoff('SALES_ORDER_SHOW_SHIPPING_ADDRESS');
361 } else {
362 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
363 print $form->selectarray("SALES_ORDER_SHOW_SHIPPING_ADDRESS", $arrval, getDolGlobalString('SALES_ORDER_SHOW_SHIPPING_ADDRESS'));
364 }
365 print '</td></tr>';
366
367 // Concat PDF
368 print '<tr class="oddeven"><td>';
369 print $form->textwithpicto($langs->trans("MAIN_PDF_ADD_TERMSOFSALE_ORDER"), '');
370 print '</td><td>';
371 if ($conf->use_javascript_ajax) {
372 print ajax_constantonoff('MAIN_PDF_ADD_TERMSOFSALE_ORDER', array(), null, 0, 0, 1);
373 } else {
374 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
375 print $form->selectarray("MAIN_PDF_ADD_TERMSOFSALE_ORDER", $arrval, getDolGlobalString('MAIN_PDF_ADD_TERMSOFSALE_ORDER'));
376 }
377
378 if (getDolGlobalString("MAIN_PDF_ADD_TERMSOFSALE_ORDER")) {
379 $modulepart = 'order';
380 print '<div class="inline-block nobordernopadding valignmiddle "><div class="inline-block marginrightonly">';
381 print '<input type="file" class="flat minwidth100 maxwidthinputfileonsmartphone" name="MAIN_INFO_ORDER_TERMSOFSALE" id="MAIN_INFO_ORDER_TERMSOFSALE" accept="application/pdf">';
382 if (getDolGlobalString("MAIN_INFO_ORDER_TERMSOFSALE")) {
383 $termofsale = getDolGlobalString("MAIN_INFO_ORDER_TERMSOFSALE");
384 if (file_exists($conf->order->dir_output.'/'.$termofsale)) {
385 $file = dol_dir_list($conf->order->dir_output, 'files', 0, $termofsale);
386 print '<div class="inline-block valignmiddle marginrightonly"><a href="'.$documenturl.'?modulepart='.$modulepart.'&file='.urlencode($termofsale).'">'.$termofsale.'</a>'.$formfile->showPreview($file[0], $modulepart, $termofsale, 0, '');
387 print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removetermsofsale&modulepart='.$modulepart.'&token='.newToken().'">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
388 }
389 }
390 print '</div>';
391 }
392
393 print '</td></tr>';
394
395 print '</table>';
396 print '</div>';
397
398 print '<br>';
399}
400
401
402if (isModEnabled('invoice')) {
403 print '<div id="#invoice"></div>';
404
405 print load_fiche_titre($langs->trans("Invoices"), '', 'bill');
406
407 print '<div class="div-table-responsive-no-min">';
408 print '<table summary="more" class="noborder centpercent">';
409 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameters").'</td><td width="200px"></td></tr>';
410
411 print '<tr class="oddeven"><td>';
412 print $form->textwithpicto($langs->trans("PDF_XXX_SHOW_PRICE_INCL_TAX"), $langs->trans("AvailableWithSomePDFTemplatesOnly"));
413 print '</td><td>';
414 if ($conf->use_javascript_ajax) {
415 print ajax_constantonoff('PDF_INVOICE_SHOW_PRICE_INCL_TAX');
416 } else {
417 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
418 print $form->selectarray("PDF_INVOICE_SHOW_PRICE_INCL_TAX", $arrval, getDolGlobalString('PDF_INVOICE_SHOW_PRICE_INCL_TAX'));
419 }
420 print '</td></tr>';
421
422 print '<tr class="oddeven"><td>';
423 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_WITH_PICTURE"), $langs->trans("RandomlySelectedIfSeveral"));
424 print '</td><td>';
425 if ($conf->use_javascript_ajax) {
426 print ajax_constantonoff('MAIN_GENERATE_INVOICES_WITH_PICTURE');
427 } else {
428 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
429 print $form->selectarray("MAIN_GENERATE_INVOICES_WITH_PICTURE", $arrval, getDolGlobalString('MAIN_GENERATE_INVOICES_WITH_PICTURE'));
430 }
431 print '</td></tr>';
432
433 print '<tr class="oddeven"><td>';
434 print $form->textwithpicto($langs->trans("INVOICE_ADD_ZATCA_QR_CODE"), $langs->trans("INVOICE_ADD_ZATCA_QR_CODEMore"));
435 print '</td><td>';
436 if ($conf->use_javascript_ajax) {
437 print ajax_constantonoff('INVOICE_ADD_ZATCA_QR_CODE');
438 } else {
439 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
440 print $form->selectarray("INVOICE_ADD_ZATCA_QR_CODE", $arrval, getDolGlobalString('INVOICE_ADD_ZATCA_QR_CODE'));
441 }
442 print '</td></tr>';
443
444 print '<tr class="oddeven"><td>';
445 print $form->textwithpicto($langs->trans("INVOICE_ADD_EPC_QR_CODE"), $langs->trans("INVOICE_ADD_EPC_QR_CODEMore"));
446 print '</td><td>';
447 if ($conf->use_javascript_ajax) {
448 print ajax_constantonoff('INVOICE_ADD_EPC_QR_CODE');
449 } else {
450 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
451 print $form->selectarray("INVOICE_ADD_EPC_QR_CODE", $arrval, getDolGlobalString('INVOICE_ADD_EPC_QR_CODE'));
452 }
453 print '</td></tr>';
454
455 print '<tr class="oddeven"><td>';
456 if (getDolGlobalString('INVOICE_ADD_SWISS_QR_CODE') == 'bottom') {
457 print $form->textwithpicto($langs->trans("INVOICE_ADD_SWISS_QR_CODE"), $langs->trans("INVOICE_ADD_SWISS_QR_CODEMore"));
458 } else {
459 print $langs->trans("INVOICE_ADD_SWISS_QR_CODE");
460 }
461 print '</td><td>';
462 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
463 if (getDolGlobalString('MAIN_FEATURES_LEVEL') >= 1) {
464 $arrval['bottom'] = $langs->trans("AtBottomOfPage").' ('.$langs->trans("Experimental").' - Need PHP 8.1+ and some PHP libs)';
465 }
466 print $form->selectarray("INVOICE_ADD_SWISS_QR_CODE", $arrval, getDolGlobalString('INVOICE_ADD_SWISS_QR_CODE'));
467 print '</td></tr>';
468
469 // Mention category of operations
470 // French Decret n°2099-1299 2022-10-07
471 print '<tr class="oddeven"><td>';
472 print $form->textwithpicto($langs->trans("InvoiceOptionCategoryOfOperations"), $langs->trans('InvoiceOptionCategoryOfOperationsHelp'), 1);
473 print '</td><td>';
474 $arrval = array('0'=>$langs->trans("No"),
475 '1'=>$langs->trans("InvoiceOptionCategoryOfOperationsYes1"),
476 '2'=>$langs->trans("InvoiceOptionCategoryOfOperationsYes2")
477 );
478 print $form->selectarray("INVOICE_CATEGORY_OF_OPERATION", $arrval, getDolGlobalString('INVOICE_CATEGORY_OF_OPERATION'), 0, 0, 0, '', 0, 0, 0, '', 'minwidth75imp');
479 print '</td></tr>';
480
481 print '<tr class="oddeven"><td>';
482 print $form->textwithpicto($langs->trans("INVOICE_SHOW_SHIPPING_ADDRESS"), $langs->trans("INVOICE_SHOW_SHIPPING_ADDRESSMore"));
483 print '</td><td>';
484 if ($conf->use_javascript_ajax) {
485 print ajax_constantonoff('INVOICE_SHOW_SHIPPING_ADDRESS');
486 } else {
487 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
488 print $form->selectarray("INVOICE_SHOW_SHIPPING_ADDRESS", $arrval, getDolGlobalString('INVOICE_SHOW_SHIPPING_ADDRESS'));
489 }
490 print '</td></tr>';
491
492 print '<tr class="oddeven"><td>';
493 print $form->textwithpicto($langs->trans("PDF_INVOICE_SHOW_VAT_ANALYSIS"), '');
494 print '</td><td>';
495 if ($conf->use_javascript_ajax) {
496 print ajax_constantonoff('PDF_INVOICE_SHOW_VAT_ANALYSIS');
497 } else {
498 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
499 print $form->selectarray("PDF_INVOICE_SHOW_VAT_ANALYSIS", $arrval, $conf->global->PDF_INVOICE_SHOW_VAT_ANALYSIS);
500 }
501 print '</td></tr>';
502
503
504 /* Keep this option hidden for the moment to avoid options inflation. We'll see later if it is used enough...
505 print '<tr class="oddeven"><td>';
506 print $form->textwithpicto($langs->trans("SUPPLIER_PROPOSAL_ADD_BILLING_CONTACT"), $langs->trans("SUPPLIER_PROPOSAL_ADD_BILLING_CONTACTMore"));
507 print '</td><td>';
508 if ($conf->use_javascript_ajax) {
509 print ajax_constantonoff('SUPPLIER_PROPOSAL_ADD_BILLING_CONTACT');
510 } else {
511 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
512 print $form->selectarray("SUPPLIER_PROPOSAL_ADD_BILLING_CONTACT", $arrval, $conf->global->SUPPLIER_PROPOSAL_ADD_BILLING_CONTACT);
513 }
514 print '</td></tr>';
515 */
516 print '<tr class="oddeven"><td>';
517 print $form->textwithpicto($langs->trans("INVOICE_HIDE_LINKED_OBJECT"), $langs->trans("INVOICE_HIDE_LINKED_OBJECTMore"));
518 print '</td><td>';
519 if ($conf->use_javascript_ajax) {
520 print ajax_constantonoff('INVOICE_HIDE_LINKED_OBJECT');
521 } else {
522 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
523 print $form->selectarray("INVOICE_HIDE_LINKED_OBJECT", $arrval, getDolGlobalString('INVOICE_HIDE_LINKED_OBJECT'));
524 }
525 print '</td></tr>';
526
527 // Concat PDF
528 print '<tr class="oddeven"><td>';
529 print $form->textwithpicto($langs->trans("MAIN_PDF_ADD_TERMSOFSALE_INVOICE"), '');
530 print '</td><td>';
531 if ($conf->use_javascript_ajax) {
532 print ajax_constantonoff('MAIN_PDF_ADD_TERMSOFSALE_INVOICE', array(), null, 0, 0, 1);
533 } else {
534 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
535 print $form->selectarray("MAIN_PDF_ADD_TERMSOFSALE_INVOICE", $arrval, getDolGlobalString('MAIN_PDF_ADD_TERMSOFSALE_INVOICE'));
536 }
537
538 if (getDolGlobalString("MAIN_PDF_ADD_TERMSOFSALE_INVOICE")) {
539 $modulepart = 'invoice';
540 print '<div class="inline-block nobordernopadding valignmiddle "><div class="inline-block marginrightonly">';
541 print '<input type="file" class="flat minwidth100 maxwidthinputfileonsmartphone" name="MAIN_INFO_INVOICE_TERMSOFSALE" id="MAIN_INFO_INVOICE_TERMSOFSALE" accept="application/pdf">';
542 if (getDolGlobalString("MAIN_INFO_INVOICE_TERMSOFSALE")) {
543 $termofsale = getDolGlobalString("MAIN_INFO_INVOICE_TERMSOFSALE");
544 if (file_exists($conf->invoice->dir_output.'/'.$termofsale)) {
545 $file = dol_dir_list($conf->invoice->dir_output, 'files', 0, $termofsale);
546 print '<div class="inline-block valignmiddle marginrightonly"><a href="'.$documenturl.'?modulepart='.$modulepart.'&file='.urlencode($termofsale).'">'.$termofsale.'</a>'.$formfile->showPreview($file[0], $modulepart, $termofsale, 0, '');
547 print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removetermsofsale&modulepart='.$modulepart.'&token='.newToken().'">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
548 }
549 }
550 print '</div>';
551 }
552
553 print '</td></tr>';
554
555 print '</table>';
556 print '</div>';
557
558 print '<br>';
559}
560
561
562if (isModEnabled('supplier_proposal')) {
563 print '<div id="#supplier_proposal"></div>';
564
565 $langs->load("supplier_proposal");
566 print load_fiche_titre($langs->trans("SupplierProposal"), '', 'supplier_proposal');
567
568 print '<div class="div-table-responsive-no-min">';
569 print '<table summary="more" class="noborder centpercent">';
570 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td width="200px"></td></tr>';
571
572 print '<tr class="oddeven"><td>';
573 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE"), '');
574 print '</td><td>';
575 if ($conf->use_javascript_ajax) {
576 print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE');
577 } else {
578 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
579 print $form->selectarray("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE", $arrval, getDolGlobalString('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_UNIT_PRICE'));
580 }
581 print '</td></tr>';
582
583 print '<tr class="oddeven"><td>';
584 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN"), '');
585 print '</td><td>';
586 if ($conf->use_javascript_ajax) {
587 print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN');
588 } else {
589 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
590 print $form->selectarray("MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN", $arrval, getDolGlobalString('MAIN_GENERATE_DOCUMENTS_SUPPLIER_PROPOSAL_WITHOUT_TOTAL_COLUMN'));
591 }
592 print '</td></tr>';
593
594 print '</table>';
595 print '</div>';
596
597 print '<br>';
598}
599
600
601if (isModEnabled('supplier_order')) {
602 print '<div id="#supplier_order"></div>';
603
604 $langs->load("supplier_order");
605 print load_fiche_titre($langs->trans("SupplierOrder"), '', 'supplier_proposal');
606
607 print '<div class="div-table-responsive-no-min">';
608 print '<table summary="more" class="noborder centpercent">';
609 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td width="200px"></td></tr>';
610
611 print '<tr class="oddeven"><td>';
612 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE"), '');
613 print '</td><td>';
614 if ($conf->use_javascript_ajax) {
615 print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE');
616 } else {
617 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
618 print $form->selectarray("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE", $arrval, getDolGlobalString('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_UNIT_PRICE'));
619 }
620 print '</td></tr>';
621
622 print '<tr class="oddeven"><td>';
623 print $form->textwithpicto($langs->trans("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN"), '');
624 print '</td><td>';
625 if ($conf->use_javascript_ajax) {
626 print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN');
627 } else {
628 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
629 print $form->selectarray("MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN", $arrval, getDolGlobalString('MAIN_GENERATE_DOCUMENTS_PURCHASE_ORDER_WITHOUT_TOTAL_COLUMN'));
630 }
631 print '</td></tr>';
632
633 print '</table>';
634 print '</div>';
635
636 print '<br>';
637}
638
639if (isModEnabled('shipping')) {
640 print '<div id="#shipping"></div>';
641
642 print load_fiche_titre($langs->trans("Shipments"), '', 'shipment');
643
644 print '<div class="div-table-responsive-no-min">';
645 print '<table summary="more" class="noborder centpercent">';
646 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameters").'</td><td width="200px"></td></tr>';
647
648 print '<tr class="oddeven"><td>';
649 print $langs->trans("BARCODE_ON_SHIPPING_PDF");
650 print '</td><td>';
651 if ($conf->use_javascript_ajax) {
652 print ajax_constantonoff('BARCODE_ON_SHIPPING_PDF');
653 } else {
654 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
655 print $form->selectarray("BARCODE_ON_SHIPPING_PDF", $arrval, getDolGlobalString('BARCODE_ON_SHIPPING_PDF'));
656 }
657 print '</td></tr>';
658 print '</table>';
659 print '</div>';
660
661 print '<br>';
662}
663
664if (isModEnabled('reception')) {
665 print '<div id="#reception"></div>';
666
667 print load_fiche_titre($langs->trans("Receptions"), '', 'reception');
668
669 print '<div class="div-table-responsive-no-min">';
670 print '<table summary="more" class="noborder centpercent">';
671 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameters").'</td><td width="200px"></td></tr>';
672
673 print '<tr class="oddeven"><td>';
674 print $langs->trans("RECEPTION_PDF_HIDE_ORDERED");
675 print '</td><td>';
676 if ($conf->use_javascript_ajax) {
677 print ajax_constantonoff('RECEPTION_PDF_HIDE_ORDERED');
678 } else {
679 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
680 print $form->selectarray("RECEPTION_PDF_HIDE_ORDERED", $arrval, getDolGlobalString('RECEPTION_PDF_HIDE_ORDERED'));
681 }
682 print '</td></tr>';
683
684 print '<tr class="oddeven"><td>';
685 print $langs->trans("MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT");
686 print '</td><td>';
687 if ($conf->use_javascript_ajax) {
688 print ajax_constantonoff('MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT');
689 } else {
690 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
691 print $form->selectarray("MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT", $arrval, getDolGlobalString('MAIN_PDF_RECEPTION_DISPLAY_AMOUNT_HT'));
692 }
693 print '</td></tr>';
694
695 print '<tr class="oddeven"><td>';
696 print $langs->trans("BARCODE_ON_RECEPTION_PDF");
697 print '</td><td>';
698 if ($conf->use_javascript_ajax) {
699 print ajax_constantonoff('BARCODE_ON_RECEPTION_PDF');
700 } else {
701 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
702 print $form->selectarray("BARCODE_ON_RECEPTION_PDF", $arrval, getDolGlobalString('BARCODE_ON_RECEPTION_PDF'));
703 }
704 print '</td></tr>';
705 print '</table>';
706 print '</div>';
707
708 print '<br>';
709}
710
711if (isModEnabled('stocktransfer')) {
712 print '<div id="#stocktransfer"></div>';
713
714 print load_fiche_titre($langs->trans("StockTransfer"), '', 'stock');
715
716 print '<div class="div-table-responsive-no-min">';
717 print '<table summary="more" class="noborder centpercent">';
718 print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameters").'</td><td width="200px"></td></tr>';
719
720 print '<tr class="oddeven"><td>';
721 print $langs->trans("BARCODE_ON_STOCKTRANSFER_PDF");
722 print '</td><td>';
723 if ($conf->use_javascript_ajax) {
724 print ajax_constantonoff('BARCODE_ON_STOCKTRANSFER_PDF');
725 } else {
726 $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
727 print $form->selectarray("BARCODE_ON_STOCKTRANSFER_PDF", $arrval, getDolGlobalString('BARCODE_ON_STOCKTRANSFER_PDF'));
728 }
729 print '</td></tr>';
730
731 print '</table>';
732 print '</div>';
733
734 print '<br>';
735}
736
737print '<br><div class="center">';
738print '<input class="button button-save" type="submit" name="save" value="'.$langs->trans("Save").'">';
739print '</div>';
740
741print '</form>';
742
743
744// End of page
745llxFooter();
746$db->close();
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).
dolibarr_del_const($db, $name, $entity=1)
Delete a constant.
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
Definition wrapper.php:91
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Definition wrapper.php:73
Class to generate html code for admin pages.
Class to offer components to list and upload files.
Class to manage generation of HTML components Only common components must be here.
Class permettant la generation de composants html autre Only common components are here.
dol_delete_file($file, $disableglob=0, $nophperrors=0, $nohook=0, $object=null, $allowdotdot=false, $indexdatabase=1, $nolog=0)
Remove a file or several files with a mask.
dol_dir_list($utf8_path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0, $nbsecondsold=0)
Scan a directory and return a list of files/directories.
Definition files.lib.php:63
dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan=0, $uploaderrorcode=0, $nohook=0, $keyforsourcefile='addedfile', $upload_dir='', $mode=0)
Check validity of a file upload from an GUI page, and move it to its final destination.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1, $includequotes=0)
Clean a string to use it as a file name.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
dol_sanitizePathName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a path name.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
Definition member.php:79
pdf_admin_prepare_head()
Return array head with list of tabs to view object information.
Definition pdf.lib.php:49
getMaxFileSizeArray()
Return the max allowed for file upload.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.