6if (empty($conf) || !is_object($conf)) {
7 print
"Error, template page can't be called as URL";
11if (empty($extrafieldsobjectkey) && is_object(
$object)) {
12 $extrafieldsobjectkey =
$object->table_element;
16if (!empty($extrafieldsobjectkey) && !empty($extrafields->attributes[$extrafieldsobjectkey])) {
17 if (array_key_exists(
'label', $extrafields->attributes[$extrafieldsobjectkey]) && is_array($extrafields->attributes[$extrafieldsobjectkey][
'label']) && count($extrafields->attributes[$extrafieldsobjectkey][
'label'])) {
18 if (empty($extrafieldsobjectprefix)) {
19 $extrafieldsobjectprefix =
'ef.';
22 foreach ($extrafields->attributes[$extrafieldsobjectkey][
'label'] as $key => $val) {
23 if (!empty($arrayfields[$extrafieldsobjectprefix.$key][
'checked'])) {
24 if ($extrafields->attributes[$extrafieldsobjectkey][
'type'][$key] ==
'separate') {
28 $cssclass = $extrafields->getAlignFlag($key, $extrafieldsobjectkey);
30 $tmpkey =
'options_'.$key;
32 if (in_array($extrafields->attributes[$extrafieldsobjectkey][
'type'][$key], array(
'date',
'datetime',
'timestamp')) && isset($obj->$tmpkey) && !is_numeric($obj->$tmpkey)) {
33 $datenotinstring = $obj->$tmpkey;
34 if (!is_numeric($obj->$tmpkey)) {
35 $datenotinstring = $db->jdate($datenotinstring);
37 $value = $datenotinstring;
38 } elseif (in_array($extrafields->attributes[$extrafieldsobjectkey][
'type'][$key], array(
'int'))) {
39 $value = (!empty($obj->$tmpkey) || $obj->$tmpkey ===
'0' ? $obj->$tmpkey :
'');
42 $value = (isset($obj->$tmpkey) ? $obj->$tmpkey :
43 (isset($obj->array_options[$tmpkey]) ? $obj->array_options[$tmpkey] :
'') );
46 if ($extrafields->attributes[$extrafieldsobjectkey][
'computed'][$key]) {
48 $value =
dol_eval((
string) $extrafields->attributes[$extrafieldsobjectkey][
'computed'][$key], 1, 1,
'2');
49 if (is_numeric(
price2num($value)) && $extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key]) {
54 $valuetoshow = $extrafields->showOutputField($key, $value,
'', $extrafieldsobjectkey);
57 print
'<td'.($cssclass ?
' class="'.$cssclass.
'"' :
'');
58 print
' data-key="'.$extrafieldsobjectkey.
'.'.$key.
'"';
65 if (empty($totalarray)) {
66 $totalarray[
'nbfield'] = 0;
68 $totalarray[
'nbfield']++;
71 if (!empty($extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key])) {
74 $totalarray[
'totalizable'][$key][
'pos'] = $totalarray[
'nbfield'];
76 if (isset($obj->$tmpkey) && is_numeric($obj->$tmpkey)) {
77 if (!isset($totalarray[
'totalizable'][$key][
'total'])) {
78 $totalarray[
'totalizable'][$key][
'total'] = 0;
80 $totalarray[
'totalizable'][$key][
'total'] += $obj->$tmpkey;
84 if (!empty($extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key]) && $extrafields->attributes[$extrafieldsobjectkey][
'totalizable'][$key] == 1) {
86 $totalarray[
'pos'][$totalarray[
'nbfield']] = $extrafieldsobjectprefix.$tmpkey;
88 if (!isset($totalarray[
'val'])) {
89 $totalarray[
'val'] = array();
91 if (!isset($totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey])) {
92 $totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey] = 0;
94 if (isset($obj->$tmpkey) && is_numeric($obj->$tmpkey)) {
95 if (!isset($totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey])) {
96 $totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey] = 0;
98 $totalarray[
'val'][$extrafieldsobjectprefix.$tmpkey] += $obj->$tmpkey;
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
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=1, $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...