Contao\DC_Table::formatCurrentValue PHP Method

formatCurrentValue() protected method

Return the formatted group header as string
protected formatCurrentValue ( string $field, mixed $value, integer $mode ) : string
$field string
$value mixed
$mode integer
return string
    protected function formatCurrentValue($field, $value, $mode)
    {
        $remoteNew = $value;
        // see #3861
        if ($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['inputType'] == 'checkbox' && !$GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['eval']['multiple']) {
            $remoteNew = $value != '' ? ucfirst($GLOBALS['TL_LANG']['MSC']['yes']) : ucfirst($GLOBALS['TL_LANG']['MSC']['no']);
        } elseif (isset($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['foreignKey'])) {
            $key = explode('.', $GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['foreignKey'], 2);
            $objParent = $this->Database->prepare("SELECT " . $key[1] . " AS value FROM " . $key[0] . " WHERE id=?")->limit(1)->execute($value);
            if ($objParent->numRows) {
                $remoteNew = $objParent->value;
            }
        } elseif (in_array($mode, array(1, 2))) {
            $remoteNew = $value != '' ? ucfirst(Utf8::substr($value, 0, 1)) : '-';
        } elseif (in_array($mode, array(3, 4))) {
            if (!isset($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['length'])) {
                $GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['length'] = 2;
            }
            $remoteNew = $value != '' ? ucfirst(Utf8::substr($value, 0, $GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['length'])) : '-';
        } elseif (in_array($mode, array(5, 6))) {
            $remoteNew = $value != '' ? \Date::parse(\Config::get('dateFormat'), $value) : '-';
        } elseif (in_array($mode, array(7, 8))) {
            $remoteNew = $value != '' ? date('Y-m', $value) : '-';
            $intMonth = $value != '' ? date('m', $value) - 1 : '-';
            if (isset($GLOBALS['TL_LANG']['MONTHS'][$intMonth])) {
                $remoteNew = $value != '' ? $GLOBALS['TL_LANG']['MONTHS'][$intMonth] . ' ' . date('Y', $value) : '-';
            }
        } elseif (in_array($mode, array(9, 10))) {
            $remoteNew = $value != '' ? date('Y', $value) : '-';
        } else {
            if ($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['inputType'] == 'checkbox' && !$GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['eval']['multiple']) {
                $remoteNew = $value != '' ? $field : '';
            } elseif (is_array($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['reference'])) {
                $remoteNew = $GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['reference'][$value];
            } elseif ($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['eval']['isAssociative'] || array_is_assoc($GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['options'])) {
                $remoteNew = $GLOBALS['TL_DCA'][$this->strTable]['fields'][$field]['options'][$value];
            } else {
                $remoteNew = $value;
            }
            if (is_array($remoteNew)) {
                $remoteNew = $remoteNew[0];
            }
            if (empty($remoteNew)) {
                $remoteNew = '-';
            }
        }
        return $remoteNew;
    }