Your IP : 3.12.76.84


Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/seo/tools/
Upload File :
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/seo/tools/seo_page_parser.php

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");

if (!$USER->CanDoOperation('seo_tools'))
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

IncludeModuleLangFile(__FILE__);
CModule::IncludeModule('seo');

CUtil::JSPostUnescape();

Header('Content-Type: application/x-javascript; charset='.LANG_CHARSET);

$arCallbacks = array('set_stats' => 'window.BXSetStats', 'set_keywords_stats' => 'window.BXUpdateKeywordsStats');

if (
	$_SERVER['REQUEST_METHOD'] == 'POST'
	&& check_bitrix_sessid()
	&& $_REQUEST['url'] && mb_substr($_REQUEST['url'], 0, 1) == '/'
	&& $_REQUEST['site']
	&& $_REQUEST['callback']
	&& array_key_exists($_REQUEST['callback'], $arCallbacks)
)
{
	$bGetFullInfo = $_REQUEST['first'] == 'Y';
	$obChecker = new CSeoPageChecker($_REQUEST['site'], $_REQUEST['url'], true, $bGetFullInfo);

	if (!$obChecker->bError)
	{
		if ($_REQUEST['keywords'])
		{
			$arKeywords = explode(',', $_REQUEST['keywords']);
			foreach ($arKeywords as $k => $v) $arKeywords[$k] = trim($v);
			$arKeywords = array_unique($arKeywords);
			TrimArr($arKeywords);

			$arPageResult = $obChecker->CheckKeyword($arKeywords);

			$arResult = array();

			foreach ($arKeywords as $key => $value)
			{
				$arWordData = array_values($arPageResult[$key]);
				$arWordData = $arWordData[0];
				if (is_array($arWordData))
					$arWordData['CONTRAST'] = number_format($arWordData['CONTRAST'], 2);

				$arResult[] = array(
					$value, $arWordData
				);
			}
		}
		else
		{
			$arResult = array();
		}

		if ($bGetFullInfo)
		{
			$extended = $obChecker->GetExtendedData();
			if ($extended['META_DESCRIPTION'] <> '')
				$extended['META_DESCRIPTION'] = array($extended['META_DESCRIPTION']);
			else
				$extended['META_DESCRIPTION'] = array();

			if ($extended['META_KEYWORDS'] <> '')
				$extended['META_KEYWORDS'] = array($extended['META_KEYWORDS']);
			else
				$extended['META_KEYWORDS'] = array();

			$extended['TITLE'] = array($extended['TITLE']);
			$arExt = $extended;
			$arExt['HEADERS'] = array();
			foreach ($extended['HEADERS'] as $header => $val)
			{
				$arExt['HEADERS'][] = $header.': '.$val;
			}
		}

		echo $arCallbacks[$_REQUEST['callback']].'('.CUtil::PhpToJsObject($arResult).($bGetFullInfo ? ', '.CUtil::PhpToJsObject($obChecker->GetStatistics()).', '.CUtil::PhpToJsObject($obChecker->GetErrors()).', '.CUtil::PhpToJsObject($arExt) : '').'); ';
	}

	if ($ex = $APPLICATION->GetException())
	{
		echo "window.BXSetStatsError('".CUtil::JSEscape(trim($ex->GetString()))."'); ";
	}
}
else
{
	echo 'alert(\'Wrong params!\')';
}
?>