- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/util/error/collection.php
- Класс: BitrixTasksUtilErroris
- Вызов: is::addForeignErrors
public function addForeignErrors($other, array $parameters = array('CHANGE_TYPE_TO' => false))
{
if($other !== null)
{
$parameters['CHANGE_TYPE_TO'] = (string) $parameters['CHANGE_TYPE_TO'];
if($other instanceof Collection)
{
/** @var Error $error */
foreach($other->toArray() as $error)
{
if($parameters['CHANGE_TYPE_TO'] != '')
{
$error->setType($parameters['CHANGE_TYPE_TO']);
}
$this->add($error);
}
}
elseif(is_array($other))
{
foreach($other as $error)
{
if(!is_array($error))
{
$error = $error->toArray();
}
// old tasks crud errors
if(array_key_exists('id', $error) && array_key_exists('text', $error))
{
$errorType = $parameters['CHANGE_TYPE_TO'] != '' ? $parameters['CHANGE_TYPE_TO'] : Error::TYPE_FATAL;
$newError = array(
'CODE' => (string) $error['id'],
'MESSAGE' => (string) $error['text'],
'TYPE' => $errorType
);
}
else
{
if((string) $error['CODE'] == '')
{
continue;
}
$errorType = (string) $error['TYPE'];
if((string) $error['TYPE'] == '')
{
$errorType = Error::TYPE_FATAL;
}
if($parameters['CHANGE_TYPE_TO'] != '')
{
$errorType = $parameters['CHANGE_TYPE_TO'];
}
$newError = array(
'CODE' => (string) $error['CODE'],
'MESSAGE' => (string) $error['MESSAGE'],
'TYPE' => $errorType
);
}
$this->add($newError['CODE'], $newError['MESSAGE'], $newError['TYPE']);
}
}
}
}