1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
seo_page_parser.php
См. документацию.
1<?
2require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
3
4if (!$USER->CanDoOperation('seo_tools'))
5 $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
6
9
10Header('Content-Type: application/x-javascript; charset='.LANG_CHARSET);
11
12$arCallbacks = array('set_stats' => 'window.BXSetStats', 'set_keywords_stats' => 'window.BXUpdateKeywordsStats');
13
14if (
15 $_SERVER['REQUEST_METHOD'] == 'POST'
17 && $_REQUEST['url'] && mb_substr($_REQUEST['url'], 0, 1) == '/'
18 && $_REQUEST['site']
19 && $_REQUEST['callback']
20 && array_key_exists($_REQUEST['callback'], $arCallbacks)
21)
22{
23 $bGetFullInfo = $_REQUEST['first'] == 'Y';
24 $obChecker = new CSeoPageChecker($_REQUEST['site'], $_REQUEST['url'], true, $bGetFullInfo);
25
26 if (!$obChecker->bError)
27 {
28 if ($_REQUEST['keywords'])
29 {
30 $arKeywords = explode(',', $_REQUEST['keywords']);
31 foreach ($arKeywords as $k => $v) $arKeywords[$k] = trim($v);
32 $arKeywords = array_unique($arKeywords);
33 TrimArr($arKeywords);
34
35 $arPageResult = $obChecker->CheckKeyword($arKeywords);
36
37 $arResult = array();
38
39 foreach ($arKeywords as $key => $value)
40 {
41 $arWordData = array_values($arPageResult[$key]);
42 $arWordData = $arWordData[0];
43 if (is_array($arWordData))
44 $arWordData['CONTRAST'] = number_format($arWordData['CONTRAST'], 2);
45
46 $arResult[] = array(
47 $value, $arWordData
48 );
49 }
50 }
51 else
52 {
53 $arResult = array();
54 }
55
56 if ($bGetFullInfo)
57 {
58 $extended = $obChecker->GetExtendedData();
59 if ($extended['META_DESCRIPTION'] <> '')
60 $extended['META_DESCRIPTION'] = array($extended['META_DESCRIPTION']);
61 else
62 $extended['META_DESCRIPTION'] = array();
63
64 if ($extended['META_KEYWORDS'] <> '')
65 $extended['META_KEYWORDS'] = array($extended['META_KEYWORDS']);
66 else
67 $extended['META_KEYWORDS'] = array();
68
69 $extended['TITLE'] = array($extended['TITLE']);
70 $arExt = $extended;
71 $arExt['HEADERS'] = array();
72 foreach ($extended['HEADERS'] as $header => $val)
73 {
74 $arExt['HEADERS'][] = $header.': '.$val;
75 }
76 }
77
78 echo $arCallbacks[$_REQUEST['callback']].'('.CUtil::PhpToJsObject($arResult).($bGetFullInfo ? ', '.CUtil::PhpToJsObject($obChecker->GetStatistics()).', '.CUtil::PhpToJsObject($obChecker->GetErrors()).', '.CUtil::PhpToJsObject($arExt) : '').'); ';
79 }
80
81 if ($ex = $APPLICATION->GetException())
82 {
83 echo "window.BXSetStatsError('".CUtil::JSEscape(trim($ex->GetString()))."'); ";
84 }
85}
86else
87{
88 echo 'alert(\'Wrong params!\')';
89}
90?>
global $APPLICATION
Определения include.php:80
$arResult
Определения generate_coupon.php:16
static IncludeModule($module_name)
Определения module.php:151
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $USER
Определения csv_new_run.php:40
const LANG_CHARSET
Определения include.php:65
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
TrimArr(&$arr, $trim_value=false)
Определения tools.php:2110
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if(empty($signedUserToken)) $key
Определения quickway.php:257
$val
Определения options.php:1793
$arCallbacks
Определения seo_page_parser.php:12
$k
Определения template_pdf.php:567