- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/lib/adv/yandexregion.php
- Класс: BitrixSeoAdvYandexRegionTable
- Вызов: YandexRegionTable::updateDatabaseItem
static function updateDatabaseItem(array &$regionMap, $regionId)
{
$region = $regionMap[$regionId];
if(!$regionMap[$region["RegionID"]]["ID"])
{
$engine = static::getEngine();
$ownerInfo = $engine->getCurrentUser();
$parentId = 0;
if($region["ParentID"] !== '')
{
if(array_key_exists($region["ParentID"], $regionMap))
{
if($regionMap[$region["ParentID"]]["ID"] > 0)
{
$parentId = $regionMap[$region["ParentID"]]["ID"];
}
else
{
$parentId = static::updateDatabaseItem(
$regionMap,
$region["ParentID"]
);
}
}
}
$regionData = array(
"ENGINE_ID" => $engine->getId(),
"OWNER_ID" => $ownerInfo['id'],
"OWNER_NAME" => $ownerInfo['login'],
"XML_ID" => $region["RegionID"],
"NAME" => $region["RegionName"],
"PARENT_ID" => $parentId
);
$result = static::add($regionData);
if($result->isSuccess())
{
$regionMap[$region["RegionID"]]["ID"] = $result->getId();
}
}
return $regionMap[$region["RegionID"]]["ID"];
}