public static function CheckFields($type = "ADD", &$arFields = array()) { $pm = new CPushManager(); $arDeviceTypes = array_keys($pm->GetServices()); $arFields["USER_ID"] = intval($arFields["USER_ID"]); if (!is_array($arFields) || empty($arFields)) { return false; } if (!$arFields["DEVICE_TOKEN"] || !$arFields["DEVICE_ID"] || intval($arFields["USER_ID"]) <= 0) { return false; } if (!$arFields["DEVICE_TYPE"] || !in_array($arFields["DEVICE_TYPE"], $arDeviceTypes)) { return false; } if (!preg_match('~^[a-f0-9]{64}$~i', $arFields["DEVICE_TOKEN"]) && $arFields["DEVICE_TYPE"] == "APPLE") { return false; } if ($type == "ADD") { if (!$arFields["DEVICE_NAME"]) { $arFields["DEVICE_NAME"] = $arFields["DEVICE_ID"]; } } return true; }