- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/v2/AgentContract/Manager.php
- Класс: BitrixCatalogv2AgentContractManager
- Вызов: Manager::convertFileList
static function convertFileList(array $fileMap, array $files): array
{
$formatArray = false;
$formatOther = false;
foreach ($files as $value)
{
if (is_array($value))
{
$formatArray = true;
}
else
{
$formatOther = true;
}
}
if ($formatArray && $formatOther)
{
return [];
}
if ($formatArray)
{
return $files;
}
$counter = 0;
$list = array_values(array_unique($files));
$files = [];
$parsed = [];
foreach ($list as $value)
{
if (!is_string($value))
{
continue;
}
if (preg_match('/^delete([0-9]+)$/', $value, $parsed))
{
$value = (int)$parsed[1];
if (isset($fileMap[$value]))
{
$id = $fileMap[$value];
$files[$id] = [
'DEL' => 'Y',
];
}
}
elseif (preg_match('/^[0-9]+$/', $value, $parsed))
{
$value = (int)$value;
if (isset($fileMap[$value]))
{
$id = $fileMap[$value];
$files[$id] = [
'ID' => $id,
'FILE_ID' => $value,
];
}
else
{
$id = 'n' . $counter;
$counter++;
$files[$id] = [
'ID' => null,
'FILE_ID' => $value,
];
}
}
}
return $files;
}