dolibarr 23.0.3
list-lines.tpl.php
1<!-- file list-lines.tpl.php -->
2<?php
3/* Copyright (C) 2025 Open-Dsi <support@open-dsi.fr>
4 */
5// Protection to avoid direct call of template
6if (empty($context) || !is_object($context)) {
7 print "Error, template page can't be called as URL";
8 exit(1);
9}
10'@phan-var-force Context $context';
11'@phan-var-force AbstractListController $this';
12
21$formList = &$this->formList;
22
23if (!empty($formList->records)) {
24 $totalarray = [
25 'nbfield' => 0,
26 'totalizable' => [],
27 ];
28
29 foreach ($formList->records as $i => $record) {
30 // Store properties in $object
31 $formList->setVarsFromFetchObj($record); ?>
32 <tr data-rowid="<?php print dolPrintHTMLForAttribute((string) $formList->object->id) ?>">
33 <td></td>
34 <?php $formList->setTotalValue('', [], $record, $i, $totalarray) ?>
35
36 <?php foreach ($formList->object->fields as $key => $val) {
37 $alias = $val['alias'] ?? 't.';
38 if (array_key_exists($alias . $key, $formList->arrayfields) && !empty($formList->arrayfields[$alias . $key]['checked'])) {
39 $cssforfield = $formList->getClasseCssList($key, $val, true);
40 if (preg_match('/tdoverflow/', $cssforfield)) $cssforfield .= ' classfortooltip';
41 $title = '';
42 if (preg_match('/tdoverflow/', $cssforfield) && !is_numeric($formList->object->$key)) {
43 $title = ' title="' . dolPrintHTMLForAttribute((string) $formList->object->$key) . '"';
44 }
45 ?>
46 <td <?php print (empty($cssforfield) ? '' : 'class="' . dolPrintHTMLForAttribute($cssforfield) . '" '); print $title ?>data-label="<?php print dolPrintHTMLForAttribute((string) $formList->arrayfields[$alias . $key]['label']) ?>" data-col="<?php print dolPrintHTMLForAttribute((string) $key) ?>">
47 <?php print $formList->printValue($key, $val, $record, $i, $totalarray);
48 $formList->setTotalValue($key, $val, $record, $i, $totalarray) ?>
49 </td>
50 <?php }
51 }
52
53 // Fields from hook
54 $parameters = array('record' => $record, 'i' => $i, 'totalarray' => &$totalarray);
55 $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $context);
56 print $hookmanager->resPrint;
57
58 // Remain to pay
59 if (array_key_exists('remain_to_pay', $formList->arrayfields) && !empty($formList->arrayfields['remain_to_pay']['checked'])) { ?>
60 <td class="nowraponall" data-label="<?php print dolPrintHTMLForAttribute((string) $formList->arrayfields['remain_to_pay']['label']) ?>" data-col="remain_to_pay">
61 <?php print $formList->printValue('remain_to_pay', [], $record, $i, $totalarray);
62 $formList->setTotalValue('remain_to_pay', [], $record, $i, $totalarray) ?>
63 </td>
64 <?php }
65
66 // Download link
67 if (array_key_exists('download_link', $formList->arrayfields) && !empty($formList->arrayfields['download_link']['checked'])) { ?>
68 <td data-label="<?php print dolPrintHTMLForAttribute((string) $formList->arrayfields['download_link']['label']) ?>" data-col="download_link">
69 <?php print $formList->printValue('download_link', [], $record, $i, $totalarray);
70 $formList->setTotalValue('download_link', [], $record, $i, $totalarray) ?>
71 </td>
72 <?php }
73
74 // Signature link
75 if (array_key_exists('signature_link', $formList->arrayfields) && !empty($formList->arrayfields['signature_link']['checked'])) { ?>
76 <td data-label="<?php print dolPrintHTMLForAttribute((string) $formList->arrayfields['signature_link']['label']) ?>" data-col="signature_link">
77 <?php print $formList->printValue('signature_link', [], $record, $i, $totalarray);
78 $formList->setTotalValue('signature_link', [], $record, $i, $totalarray) ?>
79 </td>
80 <?php } ?>
81 </tr>
82 <?php }
83
84 // Move fields of totalizable into the common array pos and val
85 if (!empty($totalarray['totalizable']) && is_array($totalarray['totalizable'])) {
86 foreach ($totalarray['totalizable'] as $keytotalizable => $valtotalizable) {
87 $totalarray['pos'][$valtotalizable['pos']] = $keytotalizable;
88 $totalarray['val'][$keytotalizable] = isset($valtotalizable['total']) ? $valtotalizable['total'] : 0;
89 }
90 }
91 // Show total line
92 if (isset($totalarray['pos'])) { ?>
93 <tr>
94 <?php $i = 0;
95 while ($i < $totalarray['nbfield']) {
96 $i++;
97 if (!empty($totalarray['pos'][$i])) { ?>
98 <td class="nowraponall essai">
99 <?php print price(!empty($totalarray['val'][$totalarray['pos'][$i]]) ? $totalarray['val'][$totalarray['pos'][$i]] : 0) ?>
100 </td>
101 <?php } else {
102 if ($i == 1) { ?>
103 <td><?php print $langs->trans("Total") ?></td>
104 <?php } else { ?>
105 <td></td>
106 <?php }
107 }
108 } ?>
109 </tr>
110 <?php }
111} else { // If no record found ?>
112<tr><td colspan="<?php print $formList->nbColumn ?>"><span class="opacitymedium"><?php print $langs->trans("NoRecordFound") ?></span></td></tr>
113<?php } ?>
$totalarray
Definition export.php:1216
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dolPrintHTMLForAttribute($s, $escapeonlyhtmltags=0, $allowothertags=array())
Return a string ready to be output into an HTML attribute (alt, title, data-html, ....
if(!defined( 'CSRFCHECK_WITH_TOKEN'))
Abort invoice creation with a given error message.
$context
@method int call_trigger(string $triggerName, ?User $user)
Definition logout.php:42