dolibarr  16.0.5
admin_extrafields_view.tpl.php
1 <?php
2 /* Copyright (C) 2010-2018 Laurent Destailleur <eldy@users.sourceforge.net>
3  * Copyright (C) 2012-2021 Regis Houssin <regis.houssin@inodbox.com>
4  * Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <https://www.gnu.org/licenses/>.
18  */
19 
20 /* To call this template, you must define
21  * $textobject
22  * $langs
23  * $extrafield
24  * $elementtype
25  */
26 
27 // Protection to avoid direct call of template
28 if (empty($langs) || !is_object($langs)) {
29  print "Error, template page can't be called as URL";
30  exit;
31 }
32 
33 
34 $langs->load("modulebuilder");
35 
36 ?>
37 
38 <!-- BEGIN PHP TEMPLATE admin_extrafields_view.tpl.php -->
39 <?php
40 
41 print '<span class="opacitymedium">'.$langs->trans("DefineHereComplementaryAttributes", empty($textobject) ? '': $textobject).'</span><br>'."\n";
42 print '<br>';
43 
44 // Load $extrafields->attributes
45 $extrafields->fetch_name_optionals_label($elementtype);
46 
47 print '<div class="div-table-responsive">';
48 print '<table summary="listofattributes" class="noborder centpercent">';
49 
50 print '<tr class="liste_titre">';
51 print '<td class="left">'.$langs->trans("Position");
52 print '<span class="nowrap">';
53 print img_picto('A-Z', '1downarrow.png');
54 print '</span>';
55 print '</td>';
56 print '<td>'.$langs->trans("LabelOrTranslationKey").'</td>';
57 print '<td>'.$langs->trans("TranslationString").'</td>';
58 print '<td>'.$langs->trans("AttributeCode").'</td>';
59 print '<td>'.$langs->trans("Type").'</td>';
60 print '<td class="right">'.$langs->trans("Size").'</td>';
61 print '<td>'.$langs->trans("ComputedFormula").'</td>';
62 print '<td class="center">'.$langs->trans("Unique").'</td>';
63 print '<td class="center">'.$langs->trans("Required").'</td>';
64 print '<td class="center">'.$langs->trans("AlwaysEditable").'</td>';
65 print '<td class="center">'.$form->textwithpicto($langs->trans("Visible"), $langs->trans("VisibleDesc")).'</td>';
66 print '<td class="center">'.$form->textwithpicto($langs->trans("DisplayOnPdf"), $langs->trans("DisplayOnPdfDesc")).'</td>';
67 print '<td class="center">'.$form->textwithpicto($langs->trans("Totalizable"), $langs->trans("TotalizableDesc")).'</td>';
68 if (!empty($conf->multicompany->enabled)) {
69  print '<td class="center">'.$langs->trans("Entity").'</td>';
70 }
71 print '<td width="80">&nbsp;</td>';
72 print "</tr>\n";
73 
74 if (isset($extrafields->attributes[$elementtype]['type']) && is_array($extrafields->attributes[$elementtype]['type']) && count($extrafields->attributes[$elementtype]['type'])) {
75  foreach ($extrafields->attributes[$elementtype]['type'] as $key => $value) {
76  /*if (! dol_eval($extrafields->attributes[$elementtype]['enabled'][$key], 1, 1, '1')) {
77  // TODO Uncomment this to exclude extrafields of modules not enabled. Add a link to "Show extrafields disabled"
78  // continue;
79  }*/
80 
81  // Load language if required
82  if (!empty($extrafields->attributes[$elementtype]['langfile'][$key])) {
83  $langs->load($extrafields->attributes[$elementtype]['langfile'][$key]);
84  }
85 
86  print '<tr class="oddeven">';
87  // Position
88  print "<td>".dol_escape_htmltag($extrafields->attributes[$elementtype]['pos'][$key])."</td>\n";
89  // Label
90  print "<td>".dol_escape_htmltag($extrafields->attributes[$elementtype]['label'][$key])."</td>\n"; // We don't translate here, we want admin to know what is the key not translated value
91  // Label translated
92  print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($langs->transnoentitiesnoconv($extrafields->attributes[$elementtype]['label'][$key])).'">'.dol_escape_htmltag($langs->transnoentitiesnoconv($extrafields->attributes[$elementtype]['label'][$key]))."</td>\n";
93  // Key
94  print "<td>".dol_escape_htmltag($key)."</td>\n";
95  // Type
96  $typetoshow = $type2label[$extrafields->attributes[$elementtype]['type'][$key]];
97  print '<td title="'.dol_escape_htmltag($typetoshow).'" class="tdoverflowmax150">';
98  print dol_escape_htmltag($typetoshow);
99  print "</td>\n";
100  // Size
101  print '<td class="right">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['size'][$key])."</td>\n";
102  // Computed field
103  print '<td class="tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['computed'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['computed'][$key])."</td>\n";
104  // Is unique ?
105  print '<td class="center">'.yn($extrafields->attributes[$elementtype]['unique'][$key])."</td>\n";
106  // Is mandatory ?
107  print '<td class="center">'.yn($extrafields->attributes[$elementtype]['required'][$key])."</td>\n";
108  // Can always be editable ?
109  print '<td class="center">'.yn($extrafields->attributes[$elementtype]['alwayseditable'][$key])."</td>\n";
110  // Visible
111  print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['list'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['list'][$key])."</td>\n";
112  // Print on PDF
113  print '<td class="center tdoverflowmax100" title="'.dol_escape_htmltag($extrafields->attributes[$elementtype]['printable'][$key]).'">'.dol_escape_htmltag($extrafields->attributes[$elementtype]['printable'][$key])."</td>\n";
114  // Summable
115  print '<td class="center">'.yn($extrafields->attributes[$elementtype]['totalizable'][$key])."</td>\n";
116  if (!empty($conf->multicompany->enabled)) {
117  print '<td class="center">';
118  if (empty($extrafields->attributes[$elementtype]['entityid'][$key])) {
119  print $langs->trans("All");
120  } else {
121  global $multicompanylabel_cache;
122  if (!is_array($multicompanylabel_cache)) {
123  $multicompanylabel_cache = array();
124  }
125  if (empty($multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]])) {
126  global $mc;
127  $mc->getInfo($extrafields->attributes[$elementtype]['entityid'][$key]);
128  $multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]] = $mc->label ? $mc->label : $extrafields->attributes[$elementtype]['entityid'][$key];
129  }
130  print $multicompanylabel_cache[$extrafields->attributes[$elementtype]['entityid'][$key]];
131  }
132  print '</td>';
133  }
134  print '<td class="right nowraponall">';
135  print '<a class="editfielda" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'&attrname='.urlencode($key).'#formeditextrafield">'.img_edit().'</a>';
136  print '&nbsp; <a class="paddingleft" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&attrname='.urlencode($key).'">'.img_delete().'</a>';
137  print '</td>'."\n";
138  print "</tr>";
139  }
140 } else {
141  $colspan = 14;
142  if (!empty($conf->multicompany->enabled)) {
143  $colspan++;
144  }
145 
146  print '<tr class="oddeven">';
147  print '<td colspan="'.$colspan.'"><span class="opacitymedium">';
148  print $langs->trans("None");
149  print '</span></td>';
150  print '</tr>';
151 }
152 
153 print "</table>";
154 print '</div>';
155 ?>
156 <!-- END PHP TEMPLATE admin_extrafields_view.tpl.php -->
dol_escape_htmltag
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.
Definition: functions.lib.php:1468
img_edit
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
Definition: functions.lib.php:4389
img_picto
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
Definition: functions.lib.php:3880
img_delete
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
Definition: functions.lib.php:4429
newToken
newToken()
Return the value of token currently saved into session with name 'newtoken'.
Definition: functions.lib.php:10878