4if (empty($conf) || !is_object($conf)) {
5 print
"Error, template page can't be called as URL";
9if (empty($extrafieldsobjectkey) && is_object($object)) {
10 $extrafieldsobjectkey = $object->table_element;
14if (!empty($extrafieldsobjectkey) && !empty($extrafields->attributes[$extrafieldsobjectkey])) {
15 if (key_exists(
'label', $extrafields->attributes[$extrafieldsobjectkey]) && is_array($extrafields->attributes[$extrafieldsobjectkey][
'label']) && count($extrafields->attributes[$extrafieldsobjectkey][
'label'])) {
16 if (empty($extrafieldsobjectprefix)) {
17 $extrafieldsobjectprefix =
'ef.';
20 foreach ($extrafields->attributes[$extrafieldsobjectkey][
'label'] as $key => $val) {
21 if (!empty($arrayfields[$extrafieldsobjectprefix.$key][
'checked'])) {
22 $cssclass = $extrafields->getAlignFlag($key, $extrafieldsobjectkey);
24 $tmpkey =
'options_'.$key;
26 if (in_array($extrafields->attributes[$extrafieldsobjectkey][
'type'][$key], array(
'date',
'datetime',
'timestamp')) && isset($obj->$tmpkey) && !is_numeric($obj->$tmpkey)) {
27 $datenotinstring = $obj->$tmpkey;
28 if (!is_numeric($obj->$tmpkey)) {
29 $datenotinstring = $db->jdate($datenotinstring);
31 $value = $datenotinstring;
32 } elseif (in_array($extrafields->attributes[$extrafieldsobjectkey][
'type'][$key], array(
'int'))) {
33 $value = (!empty($obj->$tmpkey) || $obj->$tmpkey ===
'0' ? $obj->$tmpkey :
'');
35 $value = (!empty($obj->$tmpkey) ? $obj->$tmpkey :
'');
38 if ($extrafields->attributes[$extrafieldsobjectkey][
'computed'][$key]) {
39 $objectoffield = $object;
40 $value =
dol_eval($extrafields->attributes[$extrafieldsobjectkey][
'computed'][$key], 1, 1,
'2');
41 if (is_numeric(
price2num($value)) && $extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key]) {
47 $valuetoshow = $extrafields->showOutputField($key, $value,
'', $extrafieldsobjectkey);
50 print
'<td'.($cssclass ?
' class="'.$cssclass.
'"' :
'');
51 print
' data-key="'.$extrafieldsobjectkey.
'.'.$key.
'"';
58 if (empty($totalarray)) {
59 $totalarray[
'nbfield'] = 0;
61 $totalarray[
'nbfield']++;
64 if ($extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key]) {
67 $totalarray[
'totalizable'][$key][
'pos'] = $totalarray[
'nbfield'];
69 if (isset($obj->$tmpkey) && is_numeric($obj->$tmpkey)) {
70 if (!isset($totalarray[
'totalizable'][$key][
'total'])) {
71 $totalarray[
'totalizable'][$key][
'total'] = 0;
73 $totalarray[
'totalizable'][$key][
'total'] += $obj->$tmpkey;
76 if (!empty($val[
'isameasure']) && $val[
'isameasure'] == 1) {
78 $totalarray[
'pos'][$totalarray[
'nbfield']] = $extrafieldsobjectprefix.$tmpkey;
80 if (!isset($totalarray[
'val'])) {
81 $totalarray[
'val'] = array();
83 if (!isset($totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey])) {
84 $totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey] = 0;
86 $totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey] += $obj->$tmpkey;
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 '.
dol_eval($s, $returnvalue=0, $hideerrors=1, $onlysimplestring='1')
Replace eval function to add more security.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...