private static function PrepareFields($params) { $arValues = array(); $arFields = IM\StatusTable::getMap(); foreach ($params as $key => $value) { if (!isset($arFields[$key])) { continue; } if ($key == 'STATUS') { $arValues[$key] = in_array($value, self::$AVAILABLE_STATUSES) ? $value : 'online'; } else { if ($key == 'COLOR') { $colors = IM\Color::getSafeColors(); if (isset($colors[$value])) { $arValues[$key] = $value; } } else { $arValues[$key] = $value; } } } return $arValues; }