- Модуль: support
- Путь к файлу: ~/bitrix/modules/support/classes/general/tablefields.php
- Класс: CSupportTableFields
- Вызов: CSupportTableFields::ToArray
public function ToArray($fields = self::ALL, $notNull = array(), $forSQL = false, $row = null) //getArr
{
$row = $this->checkRow($row);
$res = array();
$arFields = CSupportTools::prepareParamArray($fields, array_keys($this->_arFields[$row]));
foreach($arFields as $key => $name)
{
$fName = is_int($key) ? $name : $key;
if(!array_key_exists($fName, $this->_arFieldsTypes)) continue;
$v = $this->_arFields[$row][$fName];
$ft = $this->_arFieldsTypes[$fName];
if(in_array(self::ONLY_CHANGED, $notNull) && (!isset($this->_arModifiedFields[$row][$fName]) || $this->_arModifiedFields[$row][$fName] != true))
{
continue;
}
elseif(in_array(self::NOT_NULL, $notNull) && $v === null)
{
continue;
}
elseif(in_array(self::NOT_DEFAULT, $notNull) && $v === $ft["DEF_VAL"])
{
continue;
}
if($forSQL)
{
if(array_key_exists("AUTO_CALCULATED", $ft)) continue;
$res[$name] = self::ConvertForSQL($ft["TYPE"], $v);
}
else $res[$name] = $v;
}
return $res;
}