34 require
'../../main.inc.php';
35 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
36 require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
38 require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
39 require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
42 $langs->loadLangs(array(
'bills',
'banks',
'compta',
'companies'));
44 $action =
GETPOST(
'action',
'alpha');
45 $massaction =
GETPOST(
'massaction',
'alpha');
46 $confirm =
GETPOST(
'confirm',
'alpha');
47 $optioncss =
GETPOST(
'optioncss',
'alpha');
48 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'paymentlist';
50 $facid =
GETPOST(
'facid',
'int');
51 $socid =
GETPOST(
'socid',
'int');
52 $userid =
GETPOST(
'userid',
'int');
55 if ($user->socid) $socid = $user->socid;
58 $search_ref =
GETPOST(
"search_ref",
"alpha");
59 $search_date_startday =
GETPOST(
'search_date_startday',
'int');
60 $search_date_startmonth =
GETPOST(
'search_date_startmonth',
'int');
61 $search_date_startyear =
GETPOST(
'search_date_startyear',
'int');
62 $search_date_endday =
GETPOST(
'search_date_endday',
'int');
63 $search_date_endmonth =
GETPOST(
'search_date_endmonth',
'int');
64 $search_date_endyear =
GETPOST(
'search_date_endyear',
'int');
65 $search_date_start =
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
66 $search_date_end =
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
67 $search_company =
GETPOST(
"search_company",
'alpha');
68 $search_paymenttype =
GETPOST(
"search_paymenttype");
69 $search_account =
GETPOST(
"search_account",
"int");
70 $search_payment_num =
GETPOST(
'search_payment_num',
'alpha');
71 $search_amount =
GETPOST(
"search_amount",
'alpha');
72 $search_status =
GETPOST(
'search_status',
'intcomma');
73 $search_sale =
GETPOST(
'search_sale',
'int');
75 $limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
76 $sortfield =
GETPOST(
'sortfield',
'aZ09comma');
77 $sortorder =
GETPOST(
'sortorder',
'aZ09comma');
80 if (empty($page) || $page == -1) {
83 $offset = $limit * $page;
84 $pageprev = $page - 1;
85 $pagenext = $page + 1;
97 $fieldstosearchall = array(
98 'p.ref'=>
"RefPayment",
99 's.nom'=>
"ThirdParty",
100 'p.num_paiement'=>
"Numero",
101 'p.amount'=>
"Amount",
104 $arrayfields = array(
105 'p.ref' => array(
'label'=>
"RefPayment",
'checked'=>1,
'position'=>10),
106 'p.datep' => array(
'label'=>
"Date",
'checked'=>1,
'position'=>20),
107 's.nom' => array(
'label'=>
"ThirdParty",
'checked'=>1,
'position'=>30),
108 'c.libelle' => array(
'label'=>
"Type",
'checked'=>1,
'position'=>40),
109 'transaction' => array(
'label'=>
"BankTransactionLine",
'checked'=>1,
'position'=>50,
'enabled'=>(
isModEnabled(
"banque"))),
110 'ba.label' => array(
'label'=>
"Account",
'checked'=>1,
'position'=>60,
'enabled'=>(
isModEnabled(
"banque"))),
111 'p.num_paiement' => array(
'label'=>
"Numero",
'checked'=>1,
'position'=>70,
'tooltip'=>
"ChequeOrTransferNumber"),
112 'p.amount' => array(
'label'=>
"Amount",
'checked'=>1,
'position'=>80),
113 'p.statut' => array(
'label'=>
"Status",
'checked'=>1,
'position'=>90,
'enabled'=>(!empty($conf->global->BILL_ADD_PAYMENT_VALIDATION))),
118 $hookmanager->initHooks(array(
'paymentlist'));
121 if (!$user->hasRight(
'societe',
'client',
'voir')) {
122 $search_sale = $user->id;
127 $socid = $user->socid;
136 $parameters = array(
'socid'=>$socid);
137 $reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
143 if (empty($reshook)) {
144 include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
147 if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
149 $search_date_startday =
'';
150 $search_date_startmonth =
'';
151 $search_date_startyear =
'';
152 $search_date_endday =
'';
153 $search_date_endmonth =
'';
154 $search_date_endyear =
'';
155 $search_date_start =
'';
156 $search_date_end =
'';
157 $search_account =
'';
159 $search_paymenttype =
'';
160 $search_payment_num =
'';
161 $search_company =
'';
165 $search_array_options = array();
175 $accountstatic =
new Account($db);
176 $companystatic =
new Societe($db);
179 llxHeader(
'', $langs->trans(
'ListPayment'));
181 if (
GETPOST(
"orphelins",
"alpha")) {
183 $sql =
"SELECT p.rowid, p.ref, p.datep, p.amount, p.statut, p.num_paiement";
184 $sql .=
", c.code as paiement_code";
189 $parameters = array();
190 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
191 $sql .= $hookmanager->resPrint;
192 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement as p LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_paiement = c.id";
193 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"paiement_facture as pf ON p.rowid = pf.fk_paiement";
194 $sql .=
" WHERE p.entity IN (".getEntity(
'invoice').
")";
195 $sql .=
" AND pf.fk_facture IS NULL";
198 $parameters = array();
199 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
200 $sql .= $hookmanager->resPrint;
202 $sql =
"SELECT p.rowid, p.ref, p.datep, p.fk_bank, p.statut, p.num_paiement, p.amount";
203 $sql .=
", c.code as paiement_code";
204 $sql .=
", ba.rowid as bid, ba.ref as bref, ba.label as blabel, ba.number, ba.account_number as account_number, ba.fk_accountancy_journal as accountancy_journal";
205 $sql .=
", s.rowid as socid, s.nom as name, s.email";
208 $sql .=
", SUM(pf.amount) as totalamount, COUNT(f.rowid) as nbinvoices";
211 $parameters = array();
212 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
213 $sql .= $hookmanager->resPrint;
217 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement as p";
218 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_paiement = c.id";
219 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank as b ON p.fk_bank = b.rowid";
220 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank_account as ba ON b.fk_account = ba.rowid";
222 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"paiement_facture as pf ON p.rowid = pf.fk_paiement";
223 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"facture as f ON pf.fk_facture = f.rowid";
224 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s ON f.fk_soc = s.rowid";
226 $sql .=
" WHERE p.entity IN (".getEntity(
'invoice').
")";
228 $sql .=
" AND EXISTS (SELECT f.fk_soc FROM ".MAIN_DB_PREFIX.
"facture as f, ".MAIN_DB_PREFIX.
"paiement_facture as pf";
229 $sql .=
" WHERE p.rowid = pf.fk_paiement AND pf.fk_facture = f.rowid AND f.fk_soc = ".((int) $socid).
")";
233 $sql .=
" AND p.fk_user_creat IS NULL";
235 $sql .=
" AND p.fk_user_creat = ".((int) $userid);
243 if ($search_date_start) {
244 $sql .=
" AND p.datep >= '" . $db->idate($search_date_start) .
"'";
246 if ($search_date_end) {
247 $sql .=
" AND p.datep <= '" . $db->idate($search_date_end) .
"'";
249 if ($search_account > 0) {
250 $sql .=
" AND b.fk_account=".((int) $search_account);
252 if ($search_paymenttype !=
'') {
253 $sql .=
" AND c.code='".$db->escape($search_paymenttype).
"'";
255 if ($search_payment_num !=
'') {
258 if ($search_amount) {
259 $sql .=
" AND (".natural_search(
'p.amount', $search_amount, 1, 1);
264 if ($search_company) {
268 if ($search_sale && $search_sale !=
'-1') {
269 if ($search_sale == -2) {
270 $sql .=
" AND NOT EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = f.fk_soc)";
271 } elseif ($search_sale > 0) {
272 $sql .=
" AND EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = f.fk_soc AND sc.fk_user = ".((int) $search_sale).
")";
281 $parameters = array();
282 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
283 $sql .= $hookmanager->resPrint;
285 $sql .=
" GROUP BY p.rowid, p.ref, p.datep, p.fk_bank, p.statut, p.num_paiement, p.amount";
287 $sql .=
", ba.rowid, ba.ref, ba.label, ba.number, ba.account_number, ba.fk_accountancy_journal";
288 $sql .=
", s.rowid, s.nom, s.email";
292 $nbtotalofrecords =
'';
295 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(DISTINCT p.rowid) as nbtotalofrecords',
$sql);
296 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
297 $resql = $db->query($sqlforcount);
299 $objforcount = $db->fetch_object($resql);
300 $nbtotalofrecords = $objforcount->nbtotalofrecords;
305 if (($page * $limit) > $nbtotalofrecords) {
313 $sql .= $db->order($sortfield, $sortorder);
315 $sql .= $db->plimit($limit + 1, $offset);
319 $resql = $db->query(
$sql);
327 $num = $db->num_rows($resql);
330 if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
331 $param .=
'&contextpage='.urlencode($contextpage);
333 if ($limit > 0 && $limit != $conf->liste_limit) {
334 $param .=
'&limit='.((int) $limit);
338 $param .=
'&orphelins=1';
341 $param .=
'&search_ref='.urlencode($search_ref);
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_company) {
362 $param .=
'&search_company='.urlencode($search_company);
364 if ($search_amount !=
'') {
365 $param .=
'&search_amount='.urlencode($search_amount);
367 if ($search_paymenttype) {
368 $param .=
'&search_paymenttype='.urlencode($search_paymenttype);
370 if ($search_account) {
371 $param .=
'&search_account='.urlencode($search_account);
373 if ($search_payment_num) {
374 $param .=
'&search_payment_num='.urlencode($search_payment_num);
376 if ($optioncss !=
'') {
377 $param .=
'&optioncss='.urlencode($optioncss);
380 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
381 if ($optioncss !=
'') {
382 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
384 print
'<input type="hidden" name="token" value="'.newToken().
'">';
385 print
'<input type="hidden" name="action" value="list">';
386 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
387 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
388 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
389 print
'<input type="hidden" name="contextpage" value="'.$contextpage.
'">';
391 print_barre_liste($langs->trans(
"ReceivedCustomersPayments"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'bill', 0,
'',
'', $limit, 0, 0, 1);
394 foreach ($fieldstosearchall as $key => $val) {
395 $fieldstosearchall[$key] = $langs->trans($val);
397 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).join(
', ', $fieldstosearchall).
'</div>';
400 $varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
401 $selectedfields =
$form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage);
402 $massactionbutton =
'';
403 if ($massactionbutton) {
404 $selectedfields .=
$form->showCheckAddButtons(
'checkforselect', 1);
408 print
'<div class="div-table-responsive">';
409 print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
'').
'">';
411 print
'<tr class="liste_titre_filter">';
414 print
'<tr class="liste_titre_filter">';
415 if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) {
416 print
'<td class="liste_titre">';
421 if (!empty($arrayfields[
'p.ref'][
'checked'])) {
422 print
'<td class="liste_titre left">';
423 print
'<input class="flat" type="text" size="4" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'">';
428 if (!empty($arrayfields[
'p.datep'][
'checked'])) {
429 print
'<td class="liste_titre center">';
430 print
'<div class="nowrap">';
431 print
$form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
433 print
'<div class="nowrap">';
434 print
$form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
440 if (!empty($arrayfields[
's.nom'][
'checked'])) {
441 print
'<td class="liste_titre">';
442 print
'<input class="flat" type="text" size="6" name="search_company" value="'.dol_escape_htmltag($search_company).
'">';
447 if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
448 print
'<td class="liste_titre">';
449 print
$form->select_types_paiements($search_paymenttype,
'search_paymenttype',
'', 2, 1, 1, 0, 1,
'maxwidth100', 1);
454 if (!empty($arrayfields[
'transaction'][
'checked'])) {
455 print
'<td class="liste_titre">';
456 print
'<input class="flat" type="text" size="4" name="search_payment_num" value="'.dol_escape_htmltag($search_payment_num).
'">';
461 if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
462 print
'<td class="liste_titre">';
467 if (!empty($arrayfields[
'ba.label'][
'checked'])) {
468 print
'<td class="liste_titre">';
469 $form->select_comptes($search_account,
'search_account', 0,
'', 1);
474 if (!empty($arrayfields[
'p.amount'][
'checked'])) {
475 print
'<td class="liste_titre right">';
476 print
'<input class="flat" type="text" size="4" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'">';
481 if (!empty($arrayfields[
'p.statut'][
'checked'])) {
482 print
'<td class="liste_titre right">';
487 $parameters = array(
'arrayfields'=>$arrayfields);
488 $reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters);
489 print $hookmanager->resPrint;
491 print
'<td class="liste_titre maxwidthsearch">';
492 print
$form->showFilterAndCheckAddButtons(0);
497 print
'<tr class="liste_titre">';
498 if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) {
501 if (!empty($arrayfields[
'p.ref'][
'checked'])) {
502 print_liste_field_titre($arrayfields[
'p.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"p.ref",
'', $param,
'', $sortfield, $sortorder);
504 if (!empty($arrayfields[
'p.datep'][
'checked'])) {
505 print_liste_field_titre($arrayfields[
'p.datep'][
'label'], $_SERVER[
"PHP_SELF"],
"p.datep",
'', $param,
'', $sortfield, $sortorder,
'center ');
507 if (!empty($arrayfields[
's.nom'][
'checked'])) {
508 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
'', $param,
'', $sortfield, $sortorder);
510 if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
511 print_liste_field_titre($arrayfields[
'c.libelle'][
'label'], $_SERVER[
"PHP_SELF"],
"c.libelle",
'', $param,
'', $sortfield, $sortorder);
513 if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
514 print_liste_field_titre($arrayfields[
'p.num_paiement'][
'label'], $_SERVER[
"PHP_SELF"],
"p.num_paiement",
'', $param,
'', $sortfield, $sortorder,
'', $arrayfields[
'p.num_paiement'][
'tooltip']);
516 if (!empty($arrayfields[
'transaction'][
'checked'])) {
517 print_liste_field_titre($arrayfields[
'transaction'][
'label'], $_SERVER[
"PHP_SELF"],
'',
'', $param,
'', $sortfield, $sortorder);
519 if (!empty($arrayfields[
'ba.label'][
'checked'])) {
520 print_liste_field_titre($arrayfields[
'ba.label'][
'label'], $_SERVER[
"PHP_SELF"],
"ba.label",
'', $param,
'', $sortfield, $sortorder);
522 if (!empty($arrayfields[
'p.amount'][
'checked'])) {
523 print_liste_field_titre($arrayfields[
'p.amount'][
'label'], $_SERVER[
"PHP_SELF"],
"p.amount",
'', $param,
'class="right"', $sortfield, $sortorder);
525 if (!empty($arrayfields[
'p.statut'][
'checked'])) {
526 print_liste_field_titre($arrayfields[
'p.statut'][
'label'], $_SERVER[
"PHP_SELF"],
"p.statut",
'', $param,
'class="right"', $sortfield, $sortorder);
530 $parameters = array(
'arrayfields'=>$arrayfields,
'param'=>$param,
'sortfield'=>$sortfield,
'sortorder'=>$sortorder);
531 $reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters);
532 print $hookmanager->resPrint;
534 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
'',
'',
'',
'align="center"', $sortfield, $sortorder,
'maxwidthsearch ');
538 foreach ($arrayfields as $column) {
539 if ($column[
'checked']) {
545 $totalarray = array();
546 $totalarray[
'nbfield'] = 0;
547 while ($i < min($num, $limit)) {
548 $objp = $db->fetch_object($resql);
550 $object->id = $objp->rowid;
551 $object->ref = ($objp->ref ? $objp->ref : $objp->rowid);
552 $object->date = $db->jdate($objp->datep);
553 $object->amount = $objp->amount;
555 $companystatic->id = $objp->socid;
556 $companystatic->name = $objp->name;
557 $companystatic->email = $objp->email;
559 print
'<tr class="oddeven">';
562 if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) {
563 print
'<td>'.(($offset * $limit) + $i).
'</td>';
565 $totalarray[
'nbfield']++;
570 if (!empty($arrayfields[
'p.ref'][
'checked'])) {
571 print
'<td>'.$object->getNomUrl(1).
'</td>';
573 $totalarray[
'nbfield']++;
578 if (!empty($arrayfields[
'p.datep'][
'checked'])) {
579 $dateformatforpayment =
'dayhour';
580 print
'<td class="center">'.dol_print_date($db->jdate($objp->datep), $dateformatforpayment,
'tzuser').
'</td>';
582 $totalarray[
'nbfield']++;
587 if (!empty($arrayfields[
's.nom'][
'checked'])) {
589 if ($objp->socid > 0) {
590 print $companystatic->getNomUrl(1,
'', 24);
594 $totalarray[
'nbfield']++;
599 if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
600 print
'<td>'.$langs->trans(
"PaymentTypeShort".$objp->paiement_code).
'</td>';
602 $totalarray[
'nbfield']++;
607 if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
608 print
'<td>'.$objp->num_paiement.
'</td>';
610 $totalarray[
'nbfield']++;
615 if (!empty($arrayfields[
'transaction'][
'checked'])) {
617 if ($objp->fk_bank > 0) {
618 $bankline->fetch($objp->fk_bank);
619 print $bankline->getNomUrl(1, 0);
623 $totalarray[
'nbfield']++;
628 if (!empty($arrayfields[
'ba.label'][
'checked'])) {
630 if ($objp->bid > 0) {
631 $accountstatic->id = $objp->bid;
632 $accountstatic->ref = $objp->bref;
633 $accountstatic->label = $objp->blabel;
634 $accountstatic->number = $objp->number;
635 $accountstatic->account_number = $objp->account_number;
638 $accountingjournal->fetch($objp->accountancy_journal);
639 $accountstatic->accountancy_journal = $accountingjournal->code;
641 print $accountstatic->getNomUrl(1);
645 $totalarray[
'nbfield']++;
650 if (!empty($arrayfields[
'p.amount'][
'checked'])) {
651 print
'<td class="right">';
652 if ($objp->nbinvoices > 1 || ($objp->totalamount && $objp->amount != $objp->totalamount)) {
653 print
$form->textwithpicto(
'', $langs->trans(
"PaymentMadeForSeveralInvoices"));
655 print
'<span class="amount">'.price($objp->amount).
'</span>';
658 $totalarray[
'nbfield']++;
660 $totalarray[
'pos'][$checkedCount] =
'amount';
661 if (empty($totalarray[
'val'][
'amount'])) {
662 $totalarray[
'val'][
'amount'] = $objp->amount;
664 $totalarray[
'val'][
'amount'] += $objp->amount;
669 if (!empty($arrayfields[
'p.statut'][
'checked'])) {
670 print
'<td class="right">';
671 if ($objp->statut == 0) {
672 print
'<a href="card.php?id='.$objp->rowid.
'&action=valide">';
674 print $object->LibStatut($objp->statut, 5);
675 if ($objp->statut == 0) {
680 $totalarray[
'nbfield']++;
687 $totalarray[
'nbfield']++;
696 include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
701 foreach ($arrayfields as $key => $val) {
702 if (!empty($val[
'checked'])) {
706 print
'<tr><td colspan="'.$colspan.
'" class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</td></tr>';
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage bank accounts.
Class to manage bank transaction lines.
Class to manage accounting accounts.
Class to manage payments of customer invoices.
Class to manage third parties objects (customers, suppliers, prospects...)
if(isModEnabled('facture') && $user->hasRight('facture', 'lire')) if((isModEnabled('fournisseur') &&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') && $user->hasRight('don', 'lire')) if(isModEnabled('tax') &&!empty($user->rights->tax->charges->lire)) if(isModEnabled('facture') &&isModEnabled('commande') && $user->hasRight("commande", "lire") &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) $sql
Social contributions to pay.
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_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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...
getDolGlobalInt($key, $default=0)
Return dolibarr global constant int value.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by second index function, which produces ascending (default) or descending output...
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.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
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.
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.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.