1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
seo_google.php
См. документацию.
1<?
2require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php");
3
4if (!$USER->CanDoOperation('seo_tools'))
5{
6 die(GetMessage("ACCESS_DENIED"));
7}
8
13
14IncludeModuleLangFile(__FILE__);
15Loader::includeModule('seo');
16Loader::includeModule('socialservices');
17
18if (isset($_REQUEST['action']) && check_bitrix_sessid())
19{
20 $res = [];
21
22 $arDomain = null;
23 if (isset($_REQUEST['domain']) && $_REQUEST['domain'] <> '')
24 {
25 $bFound = false;
26 $arDomains = \CSeoUtils::getDomainsList();
27 foreach ($arDomains as $arDomain)
28 {
29 if ($arDomain['DOMAIN'] == $_REQUEST['domain']
30 && (rtrim($arDomain['SITE_DIR'], '/') == rtrim($_REQUEST['dir'], '/'))
31 )
32 {
33 $bFound = true;
34 break;
35 }
36 }
37
38 if (!$bFound)
39 {
40 $res = ['error' => 'Unknown site!'];
41 }
42 }
43
44 if (!$res['error'])
45 {
46 try
47 {
48 switch ($_REQUEST['action'])
49 {
50 case 'nullify_auth':
51 Webmaster\Service::getAuthAdapter(Webmaster\Service::TYPE_GOOGLE)
52 ->setService(Webmaster\Service::getInstance())
53 ->removeAuth()
54 ;
55 $res = ["result" => true];
56
57 break;
58
59 case 'sites_feed':
61 if ($res['errors'])
62 {
63 $res = ['error' => $res['error']];
64 }
65
66 break;
67
68 case 'site_add':
69 $domain = $arDomain['DOMAIN'];
70 $dir = $arDomain['SITE_DIR'] ?? '/';
71 $resAdd = Webmaster\Service::addSite($domain, $dir);
72 if ($resAdd['error'])
73 {
74 $res = ['error' => $resAdd['error']];
75 break;
76 }
78 $res['_domain'] = $domain;
79
80 break;
81
82 case 'site_verify':
83 $res = array('error' => 'Unknown domain');
84
85 if (is_array($arDomain))
86 {
87 $sitesInfo = Webmaster\Service::getSites();
88 if ($sitesInfo['error'])
89 {
90 $res = ['error' => $res['error']];
91 break;
92 }
93 $verified = $sitesInfo[$arDomain['DOMAIN']]['verified'];
94 if (!$verified)
95 {
96 $domain = $arDomain['DOMAIN'];
97 $dir = $arDomain['SITE_DIR'] ?? '/';
99 if ($filename['error'])
100 {
101 $res = ['error' => $filename['error']];
102 break;
103 }
104 $filename = $filename['token'];
105 // paranoia?
106 $filename = preg_replace("/^(.*?)\..*$/", "\\1.html", $filename);
107
108 if ($filename <> '')
109 {
110 $path = Path::combine(
111 (
112 $arDomain['SITE_DOC_ROOT'] <> ''
113 ? $arDomain['SITE_DOC_ROOT']
114 : $_SERVER['DOCUMENT_ROOT']
115 ),
116 $arDomain['SITE_DIR'],
118 );
119
120 $obFile = new \Bitrix\Main\IO\File($path);
121 if ($obFile->isExists())
122 {
123 $obFile->delete();
124 }
125
126 $obFile->putContents('google-site-verification: ' . $filename);
127
128 $resVerify = !Webmaster\Service::verifySite($domain, $dir);
129 if ($resVerify['errors'])
130 {
131 $res = ['error' => $resVerify['error']];
132 break;
133 }
134 }
135
137 if ($res['errors'])
138 {
139 $res = ['error' => $res['error']];
140 break;
141 }
142
143 $res['_domain'] = $arDomain['DOMAIN'];
144 }
145 elseif ($verified == 'true')
146 {
147 $res = $sitesInfo;
148 $res['_domain'] = $arDomain['DOMAIN'];
149 }
150 }
151 else
152 {
153 $res = ['error' => 'No domain'];
154 }
155 break;
156
157 default:
158 $res = ['error' => 'unknown action'];
159 break;
160 }
161 }
162 catch (Exception $e)
163 {
164 $res = [
165 'error' => $e->getMessage(),
166 ];
167 }
168 }
169
170 Header('Content-type: application/json');
171 echo \Bitrix\Main\Web\Json::encode($res);
172}
173?>
$path
Определения access_edit.php:21
Определения path.php:12
Определения loader.php:13
static addSite(string $domain, string $dir='/')
Определения Service.php:91
static verifySite(string $domain, string $dir='/')
Определения Service.php:164
static getSites()
Определения Service.php:44
static getVerifyToken(string $domain, string $dir='/')
Определения Service.php:122
static getDomainsList()
Определения seo_utils.php:39
$filename
Определения file_edit.php:47
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
$bFound
Определения get_search.php:40
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $USER
Определения csv_new_run.php:40
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
Определения bitrix.php:9
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$dir
Определения quickway.php:303
die
Определения quickway.php:367