- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/date.php
- Класс: BitrixBizprocBaseTypeDate
- Вызов: Date::renderControlMultiple
static function renderControlMultiple(FieldType $fieldType, array $field, $value, $allowSelection, $renderMode)
{
$allowSelectionOrig = $allowSelection;
if ($renderMode & FieldType::RENDER_MODE_PUBLIC)
{
$allowSelection = false;
}
if (!is_array($value) || is_array($value) && CBPHelper::isAssociativeArray($value))
{
$value = array($value);
}
$selectorValue = null;
if ($allowSelection)
{
foreach ($value as $k => $v)
{
if (CBPActivity::isExpression($v))
{
$selectorValue = $v;
unset($value[$k]);
}
}
$value = array_values($value);
}
if (empty($value))
{
$value[] = null;
}
$controls = [];
foreach ($value as $k => $v)
{
$singleField = $field;
$singleField['Index'] = $k;
$controls[] = static::renderControl(
$fieldType,
$singleField,
$v,
$allowSelectionOrig,
$renderMode
);
}
if ($renderMode & FieldType::RENDER_MODE_PUBLIC)
{
$renderResult = static::renderPublicMultipleWrapper($fieldType, $field, $controls);
}
else
{
$renderResult = static::wrapCloneableControls($controls, static::generateControlName($field));
}
if ($allowSelection)
{
$renderResult .= static::renderControlSelector($field, $selectorValue, true, '', $fieldType);
}
return $renderResult;
}