- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/value/address.php
- Класс: Bitrix\Crm\Integration\DocumentGenerator\Value\Address
- Вызов: Address::toString
public function toString($modifier = null): string
{
if(is_string($this->value))
{
return $this->value;
}
if(!is_array($this->value))
{
return '';
}
$options = $this->getOptions($modifier);
$options['SEPARATOR'] = (int)$options['SEPARATOR'];
$options['FORMAT'] = (int)$options['FORMAT'];
$options['SHOW_TYPE'] = $options['SHOW_TYPE'] ?? null;
$addressFormatter = AddressFormatter::getSingleInstance();
switch ($options['SEPARATOR'])
{
case AddressSeparator::Comma:
$result = $addressFormatter->formatTextComma($this->value, $options['FORMAT']);
break;
case AddressSeparator::NewLine:
$result = $addressFormatter->formatTextMultiline($this->value, $options['FORMAT']);
break;
case AddressSeparator::HtmlLineBreak:
$result = $addressFormatter->formatHtmlMultiline($this->value, $options['FORMAT']);
break;
default:
$result = $addressFormatter->formatTextComma($this->value, $options['FORMAT']);
}
unset($addressFormatter);
if($options['SHOW_TYPE'] === true && !empty($this->value['TYPE']))
{
$separator = AddressSeparator::getSeparator($options['SEPARATOR']);
$separator = str_replace(',', '', $separator);
$result .= $separator . '(' . $this->value['TYPE'] . ')';
}
return $result;
}