- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/short_uri.php
- Класс: CBXAllShortUri
- Вызов: CBXAllShortUri::ParseFields
static function ParseFields(&$arFields, $id = 0)
{
$id = intval($id);
$updateMode = ($id > 0 ? true : false);
$addMode = !$updateMode;
if (is_set($arFields, "URI") || $addMode)
{
$arFields["URI"] = trim($arFields["URI"]);
if ($arFields["URI"] == '')
{
self::AddError(GetMessage("MN_SU_NO_URI"));
return false;
}
$arFields["URI_CRC"] = self::Crc32($arFields["URI"]);
}
if (is_set($arFields, "SHORT_URI") || $addMode)
{
$arFields["SHORT_URI"] = trim($arFields["SHORT_URI"]);
if ($arFields["SHORT_URI"] == '')
{
self::AddError(GetMessage("MN_SU_NO_SHORT_URI"));
return false;
}
$ar = @parse_url($arFields["SHORT_URI"]);
if (isset($ar["path"]))
$arFields["SHORT_URI"] = $ar["path"];
//$arFields["SHORT_URI"] = @parse_url($arFields["SHORT_URI"], PHP_URL_PATH);
$arFields["SHORT_URI"] = trim($arFields["SHORT_URI"], "/");
if ($arFields["SHORT_URI"] == '')
{
self::AddError(GetMessage("MN_SU_WRONG_SHORT_URI"));
return false;
}
$arFields["SHORT_URI_CRC"] = self::Crc32($arFields["SHORT_URI"]);
}
if (is_set($arFields, "STATUS") || $addMode)
{
$arFields["STATUS"] = intval($arFields["STATUS"]);
if ($arFields["STATUS"] <= 0)
{
self::AddError(GetMessage("MN_SU_NO_STATUS"));
return false;
}
elseif (!array_key_exists($arFields["STATUS"], self::$httpStatusCodes))
{
self::AddError(GetMessage("MN_SU_WRONG_STATUS"));
return false;
}
}
if (is_set($arFields, "NUMBER_USED") || $addMode)
{
$arFields["NUMBER_USED"] = intval($arFields["NUMBER_USED"] ?? 0);
if ($arFields["NUMBER_USED"] <= 0)
$arFields["NUMBER_USED"] = 0;
}
return true;
}