require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/search/prolog.php");
IncludeModuleLangFile(__FILE__);
/** @global CMain $APPLICATION */
global $APPLICATION;
/** @var CAdminMessage $message */
$searchDB = CDatabase::GetModuleConnection('search');
$POST_RIGHT = $APPLICATION->GetGroupRight("search");
if($POST_RIGHT=="D")
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$arSiteMap=false;
if($_SERVER["REQUEST_METHOD"] == "POST" && $_REQUEST["Generate"]=="Y")
{
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_js.php");
if(check_bitrix_sessid())
{
if(array_key_exists("NS", $_POST) && is_array($_POST["NS"]))
{
$NS = $_POST["NS"];
}
else
{
$NS = array();
$sm_max_execution_time = intval($_REQUEST["sm_max_execution_time"]);
if($sm_max_execution_time < 1)
$sm_max_execution_time = 30;
COption::SetOptionString("search", "sm_max_execution_time", $sm_max_execution_time);
$sm_record_limit = intval($_REQUEST["sm_record_limit"]);
if($sm_record_limit < 1)
$sm_record_limit = 5000;
COption::SetOptionString("search", "sm_record_limit", $sm_record_limit);
COption::SetOptionString("search", "sm_forum_topics_only", ($_REQUEST["sm_forum_topics_only"] == "Y"? "Y": "N"));
COption::SetOptionString("search", "sm_blog_no_comments", ($_REQUEST["sm_blog_no_comments"] == "Y"? "Y": "N"));
COption::SetOptionString("search", "sm_use_https", ($_REQUEST["sm_use_https"] == "Y"? "Y": "N"));
}
$cSiteMap = new CSiteMap;
$arOptions = array(
"FORUM_TOPICS_ONLY" => COption::GetOptionString("search", "sm_forum_topics_only"),
"BLOG_NO_COMMENTS" => COption::GetOptionString("search", "sm_blog_no_comments"),
"USE_HTTPS" => COption::GetOptionString("search", "sm_use_https"),
);
$sm_max_execution_time = COption::GetOptionString("search", "sm_max_execution_time");
$sm_record_limit = COption::GetOptionString("search", "sm_record_limit");
$arSiteMap=$cSiteMap->Create($SM_SITE_ID, array($sm_max_execution_time, $sm_record_limit), $NS, $arOptions);
if(is_array($arSiteMap)):
CAdminMessage::ShowMessage(array(
"TYPE" => "PROGRESS",
"HTML" => true,
"DETAILS" => GetMessage("SEARCH_SITEMAP_DOC_COUNT").": ".intval($arSiteMap["CNT"]).".
"
.GetMessage("SEARCH_SITEMAP_ERR_COUNT").": ".intval($arSiteMap["ERROR_CNT"]).".
",
));
?>