1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
seo_google.php
См. документацию.
1
<?
2
require(
$_SERVER
[
"DOCUMENT_ROOT"
] .
"/bitrix/modules/main/include/prolog_admin_before.php"
);
3
4
if
(!
$USER
->CanDoOperation(
'seo_tools'
))
5
{
6
die
(
GetMessage
(
"ACCESS_DENIED"
));
7
}
8
9
use
Bitrix\Main\Loader
;
10
use
Bitrix\Seo\Engine
;
11
use
Bitrix\Main\IO\Path
;
12
use
Bitrix\Seo\Webmaster
;
13
14
IncludeModuleLangFile
(__FILE__);
15
Loader::includeModule(
'seo'
);
16
Loader::includeModule(
'socialservices'
);
17
18
if
(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'
:
60
$res
=
Webmaster\Service::getSites
();
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
}
77
$res
=
Webmaster\Service::getSites
();
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'
] ??
'/'
;
98
$filename
=
Webmaster\Service::getVerifyToken
($domain,
$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'
],
117
$filename
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
136
$res
=
Webmaster\Service::getSites
();
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
$path
Определения
access_edit.php:21
Bitrix\Main\IO\Path
Определения
path.php:12
Bitrix\Main\Loader
Определения
loader.php:13
Bitrix\Seo\Webmaster\Service\addSite
static addSite(string $domain, string $dir='/')
Определения
Service.php:91
Bitrix\Seo\Webmaster\Service\verifySite
static verifySite(string $domain, string $dir='/')
Определения
Service.php:164
Bitrix\Seo\Webmaster\Service\getSites
static getSites()
Определения
Service.php:44
Bitrix\Seo\Webmaster\Service\getVerifyToken
static getVerifyToken(string $domain, string $dir='/')
Определения
Service.php:122
CSeoUtils\getDomainsList
static getDomainsList()
Определения
seo_utils.php:39
$filename
$filename
Определения
file_edit.php:47
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$res
$res
Определения
filter_act.php:7
$_REQUEST
$_REQUEST["admin_mnu_menu_id"]
Определения
get_menu.php:8
$bFound
$bFound
Определения
get_search.php:40
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
$USER
global $USER
Определения
csv_new_run.php:40
check_bitrix_sessid
check_bitrix_sessid($varname='sessid')
Определения
tools.php:4686
IncludeModuleLangFile
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения
tools.php:3778
GetMessage
GetMessage($name, $aReplace=null)
Определения
tools.php:3397
Bitrix\Seo\Engine
Определения
bitrix.php:9
Bitrix\Seo\Webmaster
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$dir
$dir
Определения
quickway.php:303
die
die
Определения
quickway.php:367
bitrix
modules
seo
tools
seo_google.php
Создано системой
1.14.0