27 require
'../../main.inc.php';
29 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
30 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
31 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
32 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
33 require_once DOL_DOCUMENT_ROOT.
'/product/class/product.class.php';
34 require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingaccount.class.php';
35 require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
36 require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
37 require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
40 $langs->loadLangs(array(
"bills",
"compta",
"accountancy",
"productbatch",
"products"));
42 $optioncss =
GETPOST(
'optioncss',
'aZ');
44 $account_parent =
GETPOST(
'account_parent');
45 $changeaccount =
GETPOST(
'changeaccount');
47 $search_societe =
GETPOST(
'search_societe',
'alpha');
48 $search_lineid =
GETPOST(
'search_lineid',
'int');
49 $search_ref =
GETPOST(
'search_ref',
'alpha');
50 $search_invoice =
GETPOST(
'search_invoice',
'alpha');
51 $search_label =
GETPOST(
'search_label',
'alpha');
52 $search_desc =
GETPOST(
'search_desc',
'alpha');
53 $search_amount =
GETPOST(
'search_amount',
'alpha');
54 $search_account =
GETPOST(
'search_account',
'alpha');
55 $search_vat =
GETPOST(
'search_vat',
'alpha');
56 $search_date_startday =
GETPOST(
'search_date_startday',
'int');
57 $search_date_startmonth =
GETPOST(
'search_date_startmonth',
'int');
58 $search_date_startyear =
GETPOST(
'search_date_startyear',
'int');
59 $search_date_endday =
GETPOST(
'search_date_endday',
'int');
60 $search_date_endmonth =
GETPOST(
'search_date_endmonth',
'int');
61 $search_date_endyear =
GETPOST(
'search_date_endyear',
'int');
62 $search_date_start =
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
63 $search_date_end =
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
64 $search_country =
GETPOST(
'search_country',
'alpha');
65 $search_tvaintra =
GETPOST(
'search_tvaintra',
'alpha');
68 $limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
69 $sortfield =
GETPOST(
'sortfield',
'aZ09comma');
70 $sortorder =
GETPOST(
'sortorder',
'aZ09comma');
72 if (empty($page) || $page < 0) {
75 $offset = $limit * $page;
76 $pageprev = $page - 1;
77 $pagenext = $page + 1;
79 $sortfield =
"f.datef, f.ref, fd.rowid";
82 if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
91 if ($user->socid > 0) {
94 if (!$user->hasRight(
'accounting',
'mouvements',
'lire')) {
107 if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
108 $search_societe =
'';
111 $search_invoice =
'';
115 $search_account =
'';
117 $search_date_startday =
'';
118 $search_date_startmonth =
'';
119 $search_date_startyear =
'';
120 $search_date_endday =
'';
121 $search_date_endmonth =
'';
122 $search_date_endyear =
'';
123 $search_date_start =
'';
124 $search_date_end =
'';
125 $search_country =
'';
126 $search_tvaintra =
'';
129 if (is_array($changeaccount) && count($changeaccount) > 0 && $user->hasRight(
'accounting',
'bind',
'write')) {
132 if (!(
GETPOST(
'account_parent',
'int') >= 0)) {
134 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Account")),
null,
'errors');
140 $sql1 =
"UPDATE ".MAIN_DB_PREFIX.
"facturedet";
141 $sql1 .=
" SET fk_code_ventilation=".(GETPOST(
'account_parent',
'int') > 0 ?
GETPOST(
'account_parent',
'int') :
'0');
142 $sql1 .=
' WHERE rowid IN ('.$db->sanitize(implode(
',', $changeaccount)).
')';
144 dol_syslog(
'accountancy/customer/lines.php::changeaccount sql= '.$sql1);
145 $resql1 = $db->query($sql1);
158 $account_parent =
'';
170 llxHeader(
'', $langs->trans(
"CustomersVentilation").
' - '.$langs->trans(
"Dispatched"));
172 print
'<script type="text/javascript">
174 $(\'#select-all\').click(function(event) {
175 // Iterate each checkbox
176 $(\':checkbox\').each(function() {
180 $(\'#unselect-all\').click(function(event) {
181 // Iterate each checkbox
182 $(\':checkbox\').each(function() {
183 this.checked = false;
192 $sql =
"SELECT f.rowid as facid, f.ref as ref, f.type as ftype, f.datef, f.ref_client,";
193 $sql .=
" fd.rowid, fd.description, fd.product_type as line_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.vat_src_code, fd.total_ttc,";
194 $sql .=
" s.rowid as socid, s.nom as name, s.code_client,";
195 if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
196 $sql .=
" spe.accountancy_code_customer as code_compta_client,";
197 $sql .=
" spe.accountancy_code_supplier as code_compta_fournisseur,";
199 $sql .=
" s.code_compta as code_compta_client,";
200 $sql .=
" s.code_compta_fournisseur,";
202 $sql .=
" p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.tobuy, p.tosell,";
203 if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
204 $sql .=
" ppe.accountancy_code_sell, ppe.accountancy_code_sell_intra, ppe.accountancy_code_sell_export,";
206 $sql .=
" p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
208 $sql .=
" aa.rowid as fk_compte, aa.account_number, aa.label as label_account, aa.labelshort as labelshort_account,";
209 $sql .=
" fd.situation_percent,";
210 $sql .=
" co.code as country_code, co.label as country,";
211 $sql .=
" s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur";
212 $parameters = array();
213 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
214 $sql .= $hookmanager->resPrint;
215 $sql .=
" FROM ".MAIN_DB_PREFIX.
"facturedet as fd";
216 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"product as p ON p.rowid = fd.fk_product";
217 if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
218 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity);
220 $sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
221 $sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"facture as f ON f.rowid = fd.fk_facture";
222 $sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = f.fk_soc";
223 if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
224 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity);
226 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as co ON co.rowid = s.fk_pays ";
227 $sql .=
" WHERE fd.fk_code_ventilation > 0";
228 $sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
229 $sql .=
" AND f.fk_statut > 0";
230 if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
236 if ($search_societe) {
239 if ($search_lineid) {
242 if (strlen(trim($search_invoice))) {
245 if (strlen(trim($search_ref))) {
248 if (strlen(trim($search_label))) {
251 if (strlen(trim($search_desc))) {
254 if (strlen(trim($search_amount))) {
257 if (strlen(trim($search_account))) {
260 if (strlen(trim($search_vat))) {
263 if ($search_date_start) {
264 $sql .=
" AND f.datef >= '".$db->idate($search_date_start).
"'";
266 if ($search_date_end) {
267 $sql .=
" AND f.datef <= '".$db->idate($search_date_end).
"'";
269 if (strlen(trim($search_country))) {
271 $country_code_in_EEC = $country_code_in_EEC_without_me =
'';
272 foreach ($arrayofcode as $key => $value) {
273 $country_code_in_EEC .= ($country_code_in_EEC ?
"," :
"").
"'".$value.
"'";
274 if ($value != $mysoc->country_code) {
275 $country_code_in_EEC_without_me .= ($country_code_in_EEC_without_me ?
"," :
"").
"'".$value.
"'";
278 if ($search_country ==
'special_allnotme') {
279 $sql .=
" AND co.code <> '".$db->escape($mysoc->country_code).
"'";
280 } elseif ($search_country ==
'special_eec') {
281 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC, 1).
")";
282 } elseif ($search_country ==
'special_eecnotme') {
283 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC_without_me, 1).
")";
284 } elseif ($search_country ==
'special_noteec') {
285 $sql .=
" AND co.code NOT IN (".$db->sanitize($country_code_in_EEC, 1).
")";
290 if (strlen(trim($search_tvaintra))) {
293 $sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
294 $sql .= $db->order($sortfield, $sortorder);
298 if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
299 $result = $db->query($sql);
307 $sql .= $db->plimit($limit + 1, $offset);
309 dol_syslog(
"/accountancy/customer/lines.php", LOG_DEBUG);
310 $result = $db->query($sql);
312 $num_lines = $db->num_rows($result);
316 if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
317 $param .=
'&contextpage='.urlencode($contextpage);
319 if ($limit > 0 && $limit != $conf->liste_limit) {
320 $param .=
'&limit='.urlencode($limit);
322 if ($search_societe) {
323 $param .=
"&search_societe=".urlencode($search_societe);
325 if ($search_invoice) {
326 $param .=
"&search_invoice=".urlencode($search_invoice);
329 $param .=
"&search_ref=".urlencode($search_ref);
332 $param .=
"&search_label=".urlencode($search_label);
335 $param .=
"&search_desc=".urlencode($search_desc);
337 if ($search_account) {
338 $param .=
"&search_account=".urlencode($search_account);
341 $param .=
"&search_vat=".urlencode($search_vat);
343 if ($search_date_startday) {
344 $param .=
'&search_date_startday='.urlencode($search_date_startday);
346 if ($search_date_startmonth) {
347 $param .=
'&search_date_startmonth='.urlencode($search_date_startmonth);
349 if ($search_date_startyear) {
350 $param .=
'&search_date_startyear='.urlencode($search_date_startyear);
352 if ($search_date_endday) {
353 $param .=
'&search_date_endday='.urlencode($search_date_endday);
355 if ($search_date_endmonth) {
356 $param .=
'&search_date_endmonth='.urlencode($search_date_endmonth);
358 if ($search_date_endyear) {
359 $param .=
'&search_date_endyear='.urlencode($search_date_endyear);
361 if ($search_country) {
362 $param .=
"&search_country=".urlencode($search_country);
364 if ($search_tvaintra) {
365 $param .=
"&search_tvaintra=".urlencode($search_tvaintra);
368 print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">'.
"\n";
369 print
'<input type="hidden" name="action" value="ventil">';
370 if ($optioncss !=
'') {
371 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
373 print
'<input type="hidden" name="token" value="'.newToken().
'">';
374 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
375 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
376 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
377 print
'<input type="hidden" name="page" value="'.$page.
'">';
379 print_barre_liste($langs->trans(
"InvoiceLinesDone"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines,
$nbtotalofrecords,
'title_accountancy', 0,
'',
'', $limit);
380 print
'<span class="opacitymedium">'.$langs->trans(
"DescVentilDoneCustomer").
'</span><br>';
382 print
'<br><div class="inline-block divButAction paddingbottom">'.$langs->trans(
"ChangeAccount").
' ';
383 print $formaccounting->select_account($account_parent,
'account_parent', 2, array(), 0, 0,
'maxwidth300 maxwidthonsmartphone valignmiddle');
384 print
'<input type="submit" class="button small valignmiddle" value="'.$langs->trans(
"ChangeBinding").
'"/></div>';
388 print
'<div class="div-table-responsive">';
389 print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
391 print
'<tr class="liste_titre_filter">';
392 print
'<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="'.dol_escape_htmltag($search_lineid).
'"></td>';
393 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="'.dol_escape_htmltag($search_invoice).
'"></td>';
394 print
'<td class="liste_titre center">';
395 print
'<div class="nowrap">';
396 print
$form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
398 print
'<div class="nowrap">';
399 print
$form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
402 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'"></td>';
404 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="'.dol_escape_htmltag($search_desc).
'"></td>';
405 print
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'"></td>';
406 print
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" placeholder="%" name="search_vat" size="1" value="'.dol_escape_htmltag($search_vat).
'"></td>';
407 print
'<td class="liste_titre"><input type="text" class="flat maxwidth75imp" name="search_societe" value="'.dol_escape_htmltag($search_societe).
'"></td>';
408 print
'<td class="liste_titre">';
409 print
$form->select_country($search_country,
'search_country',
'', 0,
'maxwidth150',
'code2', 1, 0, 1);
412 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).
'"></td>';
413 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).
'"></td>';
414 print
'<td class="liste_titre center">';
415 $searchpicto =
$form->showFilterButtons();
417 print
"</td></tr>\n";
419 print
'<tr class="liste_titre">';
422 print_liste_field_titre(
"Date", $_SERVER[
"PHP_SELF"],
"f.datef, f.ref, fd.rowid",
"", $param,
'', $sortfield, $sortorder,
'center ');
425 print_liste_field_titre(
"ProductDescription", $_SERVER[
"PHP_SELF"],
"fd.description",
"", $param,
'', $sortfield, $sortorder);
426 print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"],
"fd.total_ht",
"", $param,
'', $sortfield, $sortorder,
'right ');
427 print_liste_field_titre(
"VATRate", $_SERVER[
"PHP_SELF"],
"fd.tva_tx",
"", $param,
'', $sortfield, $sortorder,
'right ');
430 print_liste_field_titre(
"VATIntra", $_SERVER[
"PHP_SELF"],
"s.tva_intra",
"", $param,
'', $sortfield, $sortorder);
431 print_liste_field_titre(
"AccountAccounting", $_SERVER[
"PHP_SELF"],
"aa.account_number",
"", $param,
'', $sortfield, $sortorder);
432 $checkpicto =
$form->showCheckAddButtons();
436 $thirdpartystatic =
new Societe($db);
437 $facturestatic =
new Facture($db);
438 $productstatic =
new Product($db);
442 while ($i < min($num_lines, $limit)) {
443 $objp = $db->fetch_object($result);
445 $facturestatic->ref = $objp->ref;
446 $facturestatic->id = $objp->facid;
447 $facturestatic->type = $objp->ftype;
449 $thirdpartystatic->id = $objp->socid;
450 $thirdpartystatic->name = $objp->name;
451 $thirdpartystatic->client = $objp->client;
452 $thirdpartystatic->fournisseur = $objp->fournisseur;
453 $thirdpartystatic->code_client = $objp->code_client;
454 $thirdpartystatic->code_compta_client = $objp->code_compta_client;
455 $thirdpartystatic->code_fournisseur = $objp->code_fournisseur;
456 $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
457 $thirdpartystatic->email = $objp->email;
458 $thirdpartystatic->country_code = $objp->country_code;
460 $productstatic->ref = $objp->product_ref;
461 $productstatic->id = $objp->product_id;
462 $productstatic->label = $objp->product_label;
463 $productstatic->type = $objp->line_type;
464 $productstatic->status = $objp->tosell;
465 $productstatic->status_buy = $objp->tobuy;
466 $productstatic->accountancy_code_sell = $objp->accountancy_code_sell;
467 $productstatic->accountancy_code_sell_intra = $objp->accountancy_code_sell_intra;
468 $productstatic->accountancy_code_sell_export = $objp->accountancy_code_sell_export;
470 $accountingaccountstatic->rowid = $objp->fk_compte;
471 $accountingaccountstatic->label = $objp->label_account;
472 $accountingaccountstatic->labelshort = $objp->labelshort_account;
473 $accountingaccountstatic->account_number = $objp->account_number;
475 print
'<tr class="oddeven">';
478 print
'<td>'.$objp->rowid.
'</td>';
481 print
'<td class="nowraponall">'.$facturestatic->getNomUrl(1).
'</td>';
484 print
'<td class="center">'.dol_print_date($db->jdate($objp->datef),
'day').
'</td>';
487 print
'<td class="tdoverflowmax100">';
488 if ($productstatic->id > 0) {
489 print $productstatic->getNomUrl(1);
491 if ($productstatic->id > 0 && $objp->product_label) {
494 if ($objp->product_label) {
495 print
'<span class="opacitymedium">'.$objp->product_label.
'</span>';
499 print
'<td class="tdoverflowonsmartphone small">';
501 $trunclength = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
502 print
$form->textwithtooltip(
dol_trunc($text, $trunclength), $objp->description);
505 print
'<td class="right nowraponall amount">'.price($objp->total_ht).
'</td>';
507 print
'<td class="right">'.vatrate($objp->tva_tx.($objp->vat_src_code ?
' ('.$objp->vat_src_code.
')' :
'')).
'</td>';
510 print
'<td class="tdoverflowmax100">'.$thirdpartystatic->getNomUrl(1,
'customer').
'</td>';
514 if ($objp->country_code) {
515 print $langs->trans(
"Country".$objp->country_code).
' ('.$objp->country_code.
')';
519 print
'<td class="tdoverflowmax80" title="'.dol_escape_htmltag($objp->tva_intra).
'">'.
dol_escape_htmltag($objp->tva_intra).
'</td>';
522 print $accountingaccountstatic->getNomUrl(0, 1, 1,
'', 1);
523 print
' <a class="editfielda" href="./card.php?id='.$objp->rowid.
'&backtopage='.urlencode($_SERVER[
"PHP_SELF"].($param ?
'?'.$param :
'')).
'">';
527 print
'<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.
'"/></td>';
532 if ($num_lines == 0) {
533 print
'<tr><td colspan="12"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
540 print_barre_liste(
'', $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines,
$nbtotalofrecords,
'', 0,
'',
'', $limit, 1);
545 print $db->lasterror();
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage accounting accounts.
Class to manage invoices.
const TYPE_REPLACEMENT
Replacement invoice.
const TYPE_SITUATION
Situation invoice.
const TYPE_DEPOSIT
Deposit invoice.
const TYPE_CREDIT_NOTE
Credit note invoice.
Class to manage products or services.
Class to manage third parties objects (customers, suppliers, prospects...)
getCountriesInEEC()
Return list of countries that are inside the EEC (European Economic Community) Note: Try to keep this...
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
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...
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields.
dolGetFirstLineOfText($text, $nboflines=1, $charset='UTF-8')
Return first line of text.
dol_string_nohtmltag($stringtoclean, $removelinefeed=1, $pagecodeto='UTF-8', $strip_tags=0, $removedoublespaces=1)
Clean a string from all HTML tags and entities.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
natural_search($fields, $value, $mode=0, $nofirstand=0)
Generate natural SQL search string for a criteria (this criteria can be tested on one or several fiel...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
dol_trunc($string, $size=40, $trunc='right', $stringencoding='UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '…' if string larger than length.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
if(!defined( 'CSRFCHECK_WITH_TOKEN'))
$nbtotalofrecords
Count total nb of records.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.