if (empty($errors)) { $arSitemapSettings = SitemapTable::prepareSettings(array('FILE_MASK' => trim($_REQUEST['FILE_MASK']), 'ROBOTS' => $_REQUEST['ROBOTS'] == 'N' ? 'N' : 'Y', 'logical' => $_REQUEST['log'] == 'N' ? 'N' : 'Y', 'DIR' => $_REQUEST['DIR'], 'FILE' => $_REQUEST['FILE'], 'PROTO' => $_REQUEST['PROTO'], 'DOMAIN' => $_REQUEST['DOMAIN'], 'FILENAME_INDEX' => $fileNameIndex, 'FILENAME_FILES' => $fileNameFiles, 'FILENAME_IBLOCK' => $fileNameIblock, 'FILENAME_FORUM' => $fileNameForum, 'IBLOCK_ACTIVE' => $_REQUEST['IBLOCK_ACTIVE'], 'IBLOCK_LIST' => $_REQUEST['IBLOCK_LIST'], 'IBLOCK_SECTION' => $_REQUEST['IBLOCK_SECTION'], 'IBLOCK_ELEMENT' => $_REQUEST['IBLOCK_ELEMENT'], 'IBLOCK_SECTION_SECTION' => $_REQUEST['IBLOCK_SECTION_SECTION'], 'IBLOCK_SECTION_ELEMENT' => $_REQUEST['IBLOCK_SECTION_ELEMENT'], 'FORUM_ACTIVE' => $_REQUEST['FORUM_ACTIVE'], 'FORUM_TOPIC' => $_REQUEST['FORUM_TOPIC'])); $arSiteMapFields = array('NAME' => trim($_REQUEST['NAME']), 'ACTIVE' => $_REQUEST['ACTIVE'] == 'N' ? 'N' : 'Y', 'SITE_ID' => $SITE_ID, 'SETTINGS' => serialize($arSitemapSettings)); if ($ID > 0) { $result = SitemapTable::update($ID, $arSiteMapFields); } else { $result = SitemapTable::add($arSiteMapFields); $ID = $result->getId(); } if ($result->isSuccess()) { $arSitemapIblock = array(); SitemapIblockTable::clearBySitemap($ID); if (is_array($_REQUEST['IBLOCK_AUTO'])) { foreach ($_REQUEST['IBLOCK_AUTO'] as $iblockId => $auto) { if ($auto === 'Y') { $result = SitemapIblockTable::add(array('SITEMAP_ID' => $ID, 'IBLOCK_ID' => intval($iblockId))); } } } SitemapForumTable::clearBySitemap($ID); if (is_array($_REQUEST['FORUM_AUTO'])) { foreach ($_REQUEST['FORUM_AUTO'] as $forumId => $auto) { if ($auto === 'Y') { $result = SitemapForumTable::add($ID, $forumId); } } } if ($_REQUEST["save"] != '') { LocalRedirect(BX_ROOT . "/admin/seo_sitemap.php?lang=" . LANGUAGE_ID); } elseif ($_REQUEST["save_and_add"] != '') { LocalRedirect(BX_ROOT . "/admin/seo_sitemap.php?lang=" . LANGUAGE_ID . "&run=" . $ID . "&" . bitrix_sessid_get());