36require
'../../main.inc.php';
37require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
41require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
52$langs->loadLangs(array(
'bills',
'banks',
'compta',
'companies'));
54$action =
GETPOST(
'action',
'alpha');
55$massaction =
GETPOST(
'massaction',
'alpha');
56$confirm =
GETPOST(
'confirm',
'alpha');
57$optioncss =
GETPOST(
'optioncss',
'alpha');
58$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'paymentlist';
59$mode =
GETPOST(
'mode',
'alpha');
61$facid =
GETPOST(
'facid',
'int');
62$socid =
GETPOST(
'socid',
'int');
63$userid =
GETPOST(
'userid',
'int');
65$search_ref =
GETPOST(
"search_ref",
"alpha");
66$search_date_startday =
GETPOSTINT(
'search_date_startday');
67$search_date_startmonth =
GETPOSTINT(
'search_date_startmonth');
68$search_date_startyear =
GETPOSTINT(
'search_date_startyear');
69$search_date_endday =
GETPOSTINT(
'search_date_endday');
70$search_date_endmonth =
GETPOSTINT(
'search_date_endmonth');
71$search_date_endyear =
GETPOSTINT(
'search_date_endyear');
72$search_date_start =
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
73$search_date_end =
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
74$search_company =
GETPOST(
"search_company",
'alpha');
75$search_paymenttype =
GETPOST(
"search_paymenttype");
76$search_account =
GETPOST(
"search_account",
'alpha');
77$search_payment_num =
GETPOST(
'search_payment_num',
'alpha');
78$search_amount =
GETPOST(
"search_amount",
'alpha');
79$search_noteprivate =
GETPOST(
"search_noteprivate");
80$search_status =
GETPOST(
'search_status',
'intcomma');
85$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
86$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
89if (empty($page) || $page == -1) {
92$offset = $limit * $page;
100 $sortfield =
"p.ref";
103$search_all = trim(
GETPOST(
'search_all',
'alphanohtml'));
105$arrayofselected = !empty($arrayofselected) && is_array($arrayofselected) ? $arrayofselected : array();
108$fieldstosearchall = array(
109 'p.ref' =>
"RefPayment",
110 's.nom' =>
"ThirdParty",
111 'p.num_paiement' =>
"Numero",
112 'p.amount' =>
"Amount",
116 'p.ref' => array(
'label' =>
"RefPayment",
'checked' =>
'1',
'position' => 10),
117 'p.datep' => array(
'label' =>
"Date",
'checked' =>
'1',
'position' => 20),
118 's.nom' => array(
'label' =>
"ThirdParty",
'checked' =>
'1',
'position' => 30),
119 'c.libelle' => array(
'label' =>
"Type",
'checked' =>
'1',
'position' => 40),
120 'transaction' => array(
'label' =>
"BankTransactionLine",
'checked' =>
'1',
'position' => 50,
'enabled' => (
string) (
int) (isModEnabled(
"bank"))),
121 'ba.label' => array(
'label' =>
"BankAccount",
'checked' =>
'1',
'position' => 60,
'enabled' => (
string) (
int) (isModEnabled(
"bank"))),
122 'p.num_paiement' => array(
'label' =>
"Numero",
'checked' =>
'1',
'position' => 70,
'tooltip' =>
"ChequeOrTransferNumber"),
123 'p.amount' => array(
'label' =>
"Amount",
'checked' =>
'1',
'position' => 80),
124 'p.note' => array(
'label' =>
"Comment",
'checked' =>
'-1',
'position' => 85),
125 'p.ext_payment_id' => array(
'label' =>
"ExtPaymentID",
'checked' =>
'-1',
'position' => 87),
126 'p.ext_payment_site' => array(
'label' =>
"ExtPaymentSite",
'checked' =>
'-1',
'position' => 88),
127 'p.statut' => array(
'label' =>
"Status",
'checked' =>
'1',
'position' => 90,
'enabled' => (
getDolGlobalString(
'BILL_ADD_PAYMENT_VALIDATION'))),
132$hookmanager->initHooks(array(
'paymentlist'));
135if (!$user->hasRight(
'societe',
'client',
'voir')) {
136 $search_sale = $user->id;
141 $socid = $user->socid;
150$parameters = array(
'socid' => $socid);
151$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
157if (empty($reshook)) {
158 include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
161 if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
163 $search_date_startday =
'';
164 $search_date_startmonth =
'';
165 $search_date_startyear =
'';
166 $search_date_endday =
'';
167 $search_date_endmonth =
'';
168 $search_date_endyear =
'';
169 $search_date_start =
'';
170 $search_date_end =
'';
171 $search_account =
'';
173 $search_paymenttype =
'';
174 $search_payment_num =
'';
175 $search_company =
'';
176 $search_noteprivate =
'';
180 $search_array_options = array();
189$form =
new Form($db);
191$accountstatic =
new Account($db);
192$companystatic =
new Societe($db);
195$title = $langs->trans(
'ListPayment');
197llxHeader(
'', $title,
'',
'', 0, 0,
'',
'',
'',
'bodyforlist');
199if (
GETPOST(
"orphelins",
"alpha")) {
201 $sql =
"SELECT p.rowid, p.ref, p.datep, p.fk_bank, p.statut, p.num_paiement as num_payment, p.amount, p.note as private_note";
202 $sql .=
", c.code as paiement_code";
207 $parameters = array();
208 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
209 $sql .= $hookmanager->resPrint;
210 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement as p LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_paiement = c.id";
211 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"paiement_facture as pf ON p.rowid = pf.fk_paiement";
212 $sql .=
" WHERE p.entity IN (".getEntity(
'invoice').
")";
213 $sql .=
" AND pf.fk_facture IS NULL";
216 $parameters = array();
217 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
218 $sql .= $hookmanager->resPrint;
220 $sql =
"SELECT p.rowid, p.ref, p.datep, p.fk_bank, p.statut, p.num_paiement as num_payment, p.amount, p.note as note_private, p.ext_payment_id, p.ext_payment_site";
221 $sql .=
", c.code as paiement_code";
222 $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";
223 $sql .=
", s.rowid as socid, s.nom as name, s.email";
226 $sql .=
", SUM(pf.amount) as totalamount, COUNT(f.rowid) as nbinvoices";
229 $parameters = array();
230 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
231 $sql .= $hookmanager->resPrint;
235 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement as p";
236 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_paiement = c.id";
237 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank as b ON p.fk_bank = b.rowid";
238 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"bank_account as ba ON b.fk_account = ba.rowid";
240 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"paiement_facture as pf ON p.rowid = pf.fk_paiement";
241 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"facture as f ON pf.fk_facture = f.rowid";
242 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s ON f.fk_soc = s.rowid";
244 $sql .=
" WHERE p.entity IN (".getEntity(
'invoice').
")";
246 $sql .=
" AND EXISTS (SELECT f.fk_soc FROM ".MAIN_DB_PREFIX.
"facture as f, ".MAIN_DB_PREFIX.
"paiement_facture as pf";
247 $sql .=
" WHERE p.rowid = pf.fk_paiement AND pf.fk_facture = f.rowid AND f.fk_soc = ".((int) $socid).
")";
251 $sql .=
" AND p.fk_user_creat IS NULL";
253 $sql .=
" AND p.fk_user_creat = ".((int) $userid);
261 if ($search_date_start) {
262 $sql .=
" AND p.datep >= '" . $db->idate($search_date_start) .
"'";
264 if ($search_date_end) {
265 $sql .=
" AND p.datep <= '" . $db->idate($search_date_end) .
"'";
267 if ($search_account > 0) {
268 $sql .=
" AND b.fk_account=".((int) $search_account);
270 if ($search_paymenttype !=
'') {
271 $sql .=
" AND c.code='".$db->escape($search_paymenttype).
"'";
273 if ($search_payment_num !=
'') {
276 if ($search_amount) {
277 $sql .=
" AND (".natural_search(
'p.amount', $search_amount, 1, 1);
282 if ($search_company) {
285 if ($search_noteprivate) {
289 if ($search_sale && $search_sale != -1) {
290 if ($search_sale == -2) {
291 $sql .=
" AND NOT EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = f.fk_soc)";
292 } elseif ($search_sale > 0) {
293 $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).
")";
298 $sql .=
natural_search(array_keys($fieldstosearchall), $search_all);
302 $parameters = array();
303 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters);
304 $sql .= $hookmanager->resPrint;
306 $sql .=
" GROUP BY p.rowid, p.ref, p.datep, p.fk_bank, p.statut, p.num_paiement, p.amount, p.note, p.ext_payment_id, p.ext_payment_site";
308 $sql .=
", ba.rowid, ba.ref, ba.label, ba.number, ba.account_number, ba.fk_accountancy_journal";
309 $sql .=
", s.rowid, s.nom, s.email";
313$nbtotalofrecords =
'';
316 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(DISTINCT p.rowid) as nbtotalofrecords', $sql);
317 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
318 $resql = $db->query($sqlforcount);
320 $objforcount = $db->fetch_object($resql);
321 $nbtotalofrecords = $objforcount->nbtotalofrecords;
326 if (($page * $limit) > $nbtotalofrecords) {
334$sql .= $db->order($sortfield, $sortorder);
336 $sql .= $db->plimit($limit + 1, $offset);
340$resql = $db->query($sql);
348$num = $db->num_rows($resql);
351if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
352 $param .=
'&contextpage='.urlencode($contextpage);
354if ($limit > 0 && $limit !=
$conf->liste_limit) {
355 $param .=
'&limit='.((int) $limit);
357if ($optioncss !=
'') {
358 $param .=
'&optioncss='.urlencode($optioncss);
362 $param .=
'&orphelins=1';
365 $param .=
'&search_ref='.urlencode($search_ref);
367if ($search_date_startday) {
368 $param .=
'&search_date_startday='.urlencode((
string) ($search_date_startday));
370if ($search_date_startmonth) {
371 $param .=
'&search_date_startmonth='.urlencode((
string) ($search_date_startmonth));
373if ($search_date_startyear) {
374 $param .=
'&search_date_startyear='.urlencode((
string) ($search_date_startyear));
376if ($search_date_endday) {
377 $param .=
'&search_date_endday='.urlencode((
string) ($search_date_endday));
379if ($search_date_endmonth) {
380 $param .=
'&search_date_endmonth='.urlencode((
string) ($search_date_endmonth));
382if ($search_date_endyear) {
383 $param .=
'&search_date_endyear='.urlencode((
string) ($search_date_endyear));
385if ($search_company) {
386 $param .=
'&search_company='.urlencode($search_company);
388if ($search_amount !=
'') {
389 $param .=
'&search_amount='.urlencode($search_amount);
391if ($search_paymenttype) {
392 $param .=
'&search_paymenttype='.urlencode($search_paymenttype);
394if ($search_account) {
395 $param .=
'&search_account='.urlencode((
string) ($search_account));
397if ($search_payment_num) {
398 $param .=
'&search_payment_num='.urlencode($search_payment_num);
400if ($search_noteprivate) {
401 $param .=
'&search_noteprivate='.urlencode($search_noteprivate);
404print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
405if ($optioncss !=
'') {
406 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
408print
'<input type="hidden" name="token" value="'.newToken().
'">';
409print
'<input type="hidden" name="action" value="list">';
410print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
411print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
412print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
413print
'<input type="hidden" name="contextpage" value="'.$contextpage.
'">';
416print_barre_liste($langs->trans(
"ReceivedCustomersPayments"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'bill', 0,
'',
'', $limit, 0, 0, 1);
419 foreach ($fieldstosearchall as $key => $val) {
420 $fieldstosearchall[$key] = $langs->trans($val);
422 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).implode(
', ', $fieldstosearchall).
'</div>';
425$varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
426$selectedfields = $form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'));
427$massactionbutton =
'';
428if ($massactionbutton) {
429 $selectedfields .= $form->showCheckAddButtons(
'checkforselect', 1);
433print
'<div class="div-table-responsive">';
434print
'<table class="tagtable nobottomiftotal liste'.($moreforfilter ?
" listwithfilterbefore" :
'').
'">';
438print
'<tr class="liste_titre_filter">';
442 print
'<td class="liste_titre center maxwidthsearch">';
443 $searchpicto = $form->showFilterButtons(
'left');
450 print
'<td class="liste_titre">';
455if (!empty($arrayfields[
'p.ref'][
'checked'])) {
456 print
'<td class="liste_titre left">';
457 print
'<input class="flat" type="text" size="4" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'">';
462if (!empty($arrayfields[
'p.datep'][
'checked'])) {
463 print
'<td class="liste_titre center">';
464 print
'<div class="nowrapfordate">';
465 print $form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
467 print
'<div class="nowrapfordate">';
468 print $form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
474if (!empty($arrayfields[
's.nom'][
'checked'])) {
475 print
'<td class="liste_titre">';
476 print
'<input class="flat" type="text" size="6" name="search_company" value="'.dol_escape_htmltag($search_company).
'">';
481if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
482 print
'<td class="liste_titre">';
483 print $form->select_types_paiements($search_paymenttype,
'search_paymenttype',
'', 2, 1, 1, 0, 1,
'maxwidth100', 1);
488if (!empty($arrayfields[
'transaction'][
'checked'])) {
489 print
'<td class="liste_titre">';
490 print
'<input class="flat" type="text" size="4" name="search_payment_num" value="'.dol_escape_htmltag($search_payment_num).
'">';
495if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
496 print
'<td class="liste_titre">';
501if (!empty($arrayfields[
'ba.label'][
'checked'])) {
502 print
'<td class="liste_titre">';
503 $form->select_comptes($search_account,
'search_account', 0,
'', 1,
'', 0,
'maxwidth125');
508if (!empty($arrayfields[
'p.amount'][
'checked'])) {
509 print
'<td class="liste_titre right">';
510 print
'<input class="flat" type="text" size="4" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'">';
515if (!empty($arrayfields[
'p.note'][
'checked'])) {
516 print
'<td class="liste_titre">';
517 print
'<input class="flat maxwidth150" type="text" name="search_noteprivate" value="'.dol_escape_htmltag($search_noteprivate).
'">';
522if (!empty($arrayfields[
'p.ext_payment_id'][
'checked'])) {
523 print
'<td class="liste_titre">';
529if (!empty($arrayfields[
'p.ext_payment_site'][
'checked'])) {
530 print
'<td class="liste_titre">';
536if (!empty($arrayfields[
'p.statut'][
'checked'])) {
537 print
'<td class="liste_titre right">';
542$parameters = array(
'arrayfields' => $arrayfields);
543$reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters, $object, $action);
544print $hookmanager->resPrint;
548 print
'<td class="liste_titre center maxwidthsearch">';
549 $searchpicto = $form->showFilterButtons();
561print
'<tr class="liste_titre">';
564 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'align="center"', $sortfield, $sortorder,
'maxwidthsearch ');
571if (!empty($arrayfields[
'p.ref'][
'checked'])) {
573 print_liste_field_titre($arrayfields[
'p.ref'][
'label'], $_SERVER[
"PHP_SELF"],
"p.ref",
'', $param,
'', $sortfield, $sortorder);
576if (!empty($arrayfields[
'p.datep'][
'checked'])) {
577 print_liste_field_titre($arrayfields[
'p.datep'][
'label'], $_SERVER[
"PHP_SELF"],
"p.datep",
'', $param,
'', $sortfield, $sortorder,
'center ');
580if (!empty($arrayfields[
's.nom'][
'checked'])) {
581 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
'', $param,
'', $sortfield, $sortorder);
584if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
585 print_liste_field_titre($arrayfields[
'c.libelle'][
'label'], $_SERVER[
"PHP_SELF"],
"c.libelle",
'', $param,
'', $sortfield, $sortorder);
588if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
589 print_liste_field_titre($arrayfields[
'p.num_paiement'][
'label'], $_SERVER[
"PHP_SELF"],
"p.num_paiement",
'', $param,
'', $sortfield, $sortorder,
'', $arrayfields[
'p.num_paiement'][
'tooltip']);
592if (!empty($arrayfields[
'transaction'][
'checked'])) {
593 print_liste_field_titre($arrayfields[
'transaction'][
'label'], $_SERVER[
"PHP_SELF"],
'',
'', $param,
'', $sortfield, $sortorder);
596if (!empty($arrayfields[
'ba.label'][
'checked'])) {
597 print_liste_field_titre($arrayfields[
'ba.label'][
'label'], $_SERVER[
"PHP_SELF"],
"ba.label",
'', $param,
'', $sortfield, $sortorder);
600if (!empty($arrayfields[
'p.amount'][
'checked'])) {
601 print_liste_field_titre($arrayfields[
'p.amount'][
'label'], $_SERVER[
"PHP_SELF"],
"p.amount",
'', $param,
'class="right"', $sortfield, $sortorder);
604if (!empty($arrayfields[
'p.note'][
'checked'])) {
605 print_liste_field_titre($arrayfields[
'p.note'][
'label'], $_SERVER[
"PHP_SELF"],
"p.note",
'', $param,
'', $sortfield, $sortorder);
608if (!empty($arrayfields[
'p.ext_payment_id'][
'checked'])) {
609 print_liste_field_titre($arrayfields[
'p.ext_payment_id'][
'label'], $_SERVER[
"PHP_SELF"],
"p.ext_payment_id",
'', $param,
'', $sortfield, $sortorder);
612if (!empty($arrayfields[
'p.ext_payment_site'][
'checked'])) {
613 print_liste_field_titre($arrayfields[
'p.ext_payment_site'][
'label'], $_SERVER[
"PHP_SELF"],
"p.ext_payment_site",
'', $param,
'', $sortfield, $sortorder);
616if (!empty($arrayfields[
'p.statut'][
'checked'])) {
617 print_liste_field_titre($arrayfields[
'p.statut'][
'label'], $_SERVER[
"PHP_SELF"],
"p.statut",
'', $param,
'class="right"', $sortfield, $sortorder);
621include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_title.tpl.php';
623$parameters = array(
'arrayfields' => $arrayfields,
'param' => $param,
'sortfield' => $sortfield,
'sortorder' => $sortorder);
624$reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters);
625print $hookmanager->resPrint;
628 print_liste_field_titre($selectedfields, $_SERVER[
"PHP_SELF"],
"",
'',
'',
'align="center"', $sortfield, $sortorder,
'maxwidthsearch ');
635$needToFetchEachLine = 0;
636if (isset($extrafields->attributes[
$object->table_element][
'computed']) && is_array($extrafields->attributes[
$object->table_element][
'computed']) && count($extrafields->attributes[
$object->table_element][
'computed']) > 0) {
637 foreach ($extrafields->attributes[
$object->table_element][
'computed'] as $key => $val) {
638 if (!is_null($val) && preg_match(
'/\$object/', $val)) {
639 $needToFetchEachLine++;
651$imaxinloop = ($limit ? min($num, $limit) : $num);
652while ($i < $imaxinloop) {
653 $objp = $db->fetch_object($resql);
659 $object->ref = ($objp->ref ? $objp->ref : $objp->rowid);
660 $object->date = $db->jdate($objp->datep);
661 $object->amount = $objp->amount;
662 $object->note_private = $objp->note_private;
664 $companystatic->id = $objp->socid;
665 $companystatic->name = $objp->name;
666 $companystatic->email = $objp->email;
668 if ($mode ==
'kanban') {
670 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
671 print
'<div class="box-flex-container kanban">';
675 if ($massactionbutton || $massaction) {
677 if (in_array(
$object->id, $arrayofselected)) {
682 print
$object->getKanbanView(
'', array(
'selected' => $selected));
683 if ($i == ($imaxinloop - 1)) {
690 print
'<tr data-rowid="'.$object->id.
'" class="oddeven">';
694 print
'<td class="nowrap center">';
695 if ($massactionbutton || $massaction) {
697 if (in_array(
$object->id, $arrayofselected)) {
700 print
'<input id="cb'.$object->id.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.
$object->id.
'"'.($selected ?
' checked="checked"' :
'').
'>';
710 print
'<td class="nowraponall">'.(($offset * $limit) + $i).
'</td>';
717 if (!empty($arrayfields[
'p.ref'][
'checked'])) {
718 print
'<td class="nowraponall">'.$object->getNomUrl(1).
'</td>';
725 if (!empty($arrayfields[
'p.datep'][
'checked'])) {
726 $dateformatforpayment =
'dayhour';
727 print
'<td class="nowraponall center">'.dol_print_date($db->jdate($objp->datep), $dateformatforpayment,
'tzuser').
'</td>';
734 if (!empty($arrayfields[
's.nom'][
'checked'])) {
735 print
'<td class="tdoverflowmax125">';
736 if ($objp->socid > 0) {
737 print $companystatic->getNomUrl(1,
'', 24);
746 if (!empty($arrayfields[
'c.libelle'][
'checked'])) {
747 print
'<td class="tdoverflowmax100" title="'.dolPrintHTMLForAttribute($langs->trans(
"PaymentTypeShort".$objp->paiement_code)).
'">'.
dolPrintHTML($langs->trans(
"PaymentTypeShort".$objp->paiement_code)).
'</td>';
754 if (!empty($arrayfields[
'p.num_paiement'][
'checked'])) {
755 print
'<td>'.$objp->num_payment.
'</td>';
762 if (!empty($arrayfields[
'transaction'][
'checked'])) {
763 print
'<td class="tdoverflowmax125">';
764 if ($objp->fk_bank > 0) {
765 $bankline->fetch($objp->fk_bank);
766 print $bankline->getNomUrl(1, 0);
775 if (!empty($arrayfields[
'ba.label'][
'checked'])) {
777 if ($objp->bid > 0) {
778 $accountstatic->id = $objp->bid;
779 $accountstatic->ref = $objp->bref;
780 $accountstatic->label = $objp->blabel;
781 $accountstatic->number = $objp->number;
782 $accountstatic->account_number = $objp->account_number;
785 $accountingjournal->fetch($objp->accountancy_journal);
786 $accountstatic->accountancy_journal = $accountingjournal->code;
788 print $accountstatic->getNomUrl(1);
797 if (!empty($arrayfields[
'p.amount'][
'checked'])) {
798 print
'<td class="right">';
799 if ($objp->nbinvoices > 1 || ($objp->totalamount && $objp->amount != $objp->totalamount)) {
800 print $form->textwithpicto(
'', $langs->trans(
"PaymentMadeForSeveralInvoices"));
802 print
'<span class="amount">'.price($objp->amount).
'</span>';
808 if (empty($totalarray[
'val'][
'amount'])) {
816 if (!empty($arrayfields[
'p.note'][
'checked'])) {
818 print
'<td class="tdoverflowmax200" title="'.dolPrintHTMLForAttribute($firstline).
'">';
827 if (!empty($arrayfields[
'p.ext_payment_id'][
'checked'])) {
828 print
'<td class="tdoverflowmax200" title="'.dolPrintHTMLForAttribute($objp->ext_payment_id).
'">';
837 if (!empty($arrayfields[
'p.ext_payment_site'][
'checked'])) {
838 print
'<td class="tdoverflowmax200" title="'.dolPrintHTMLForAttribute($objp->ext_payment_site).
'">';
847 $parameters = array(
'arrayfields'=>$arrayfields,
'obj'=>$objp,
'i'=>$i,
'totalarray'=>&$totalarray);
848 $reshook = $hookmanager->executeHooks(
'printFieldListValue', $parameters, $object, $action);
849 print $hookmanager->resPrint;
852 if (!empty($arrayfields[
'p.statut'][
'checked'])) {
853 print
'<td class="right">';
854 if ($objp->statut == 0) {
855 print
'<a href="card.php?id='.$objp->rowid.
'&action=valide">';
857 print
$object->LibStatut($objp->statut, 5);
858 if ($objp->statut == 0) {
869 print
'<td class="nowrap center">';
870 if ($massactionbutton || $massaction) {
872 if (in_array(
$object->id, $arrayofselected)) {
875 print
'<input id="cb'.$object->id.
'" class="flat checkforselect" type="checkbox" name="toselect[]" value="'.
$object->id.
'"'.($selected ?
' checked="checked"' :
'').
'>';
890include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
895 foreach ($arrayfields as $key => $val) {
896 if (!empty($val[
'checked'])) {
900 print
'<tr><td colspan="'.$colspan.
'"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
905$parameters = array(
'arrayfields' => $arrayfields,
'sql' => $sql);
906$reshook = $hookmanager->executeHooks(
'printFieldListFooter', $parameters, $object, $action);
907print $hookmanager->resPrint;
909print
'</table>'.
"\n";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
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.
Class to manage bank accounts.
Class to manage bank transaction lines.
Class to manage accounting journals.
Class to manage payments of customer invoices.
Class to manage third parties objects (customers, suppliers, prospects...)
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
print_liste_field_titre($name, $file="", $field="", $begin="", $param="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dolGetFirstLineOfText($text, $nboflines=1, $charset='UTF-8')
Return first line of text.
dolPrintHTML($s, $allowiframe=0)
Return a string (that can be on several lines) ready to be output on a HTML page.
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 a Dolibarr global constant int value.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
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.