1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
register.php
См. документацию.
1
<?php
2
namespace
Bitrix\Landing\Domain;
3
4
use \Bitrix\Landing\Manager;
5
use \Bitrix\Main\Web\HttpClient;
6
use Bitrix\Main\Web\Json;
7
8
class
Register
9
{
13
const
B24_SERVICE_DETECT_IP
=
'https://ip.bitrix24.site/getipforzone/?bx24_zone='
;
14
18
const
B24_SERVICE_DETECT_DOMAIN
=
'https://ip.bitrix24.site/getdomainstatus/?bx24_site_domain='
;
19
23
const
B24_DEFAULT_DNS_IP
=
'52.59.124.117'
;
24
28
const
B24_DEFAULT_DNS_CNAME
=
'lb.bitrix24.site.'
;
29
34
public
static
function
getInstance
(): ?
Provider
35
{
36
return
new
Provider\Bitrix24
();
37
}
38
44
protected
static
function
getINA
(?
string
$tld =
null
): string
45
{
46
$http =
new
HttpClient
;
47
$zone = ($tld ==
'kz'
) ?
'kz'
:
Manager::getZone
();
48
$ip = $http->get(self::B24_SERVICE_DETECT_IP . $zone);
49
50
try
51
{
52
$ip = Json::decode($ip);
53
}
54
catch
(\
Exception
$e)
55
{
56
return
self::B24_DEFAULT_DNS_IP;
57
}
58
59
return
$ip[
'IP'
] ?? self::B24_DEFAULT_DNS_IP;
60
}
61
67
public
static
function
getDNSRecords
(?
string
$tld =
null
):
array
68
{
69
static
$result
=
null
;
70
71
if
(
$result
!==
null
)
72
{
73
return
$result
;
74
}
75
76
$result
= [
77
'INA'
=>
self::getINA
($tld),
78
'CNAME'
=> self::B24_DEFAULT_DNS_CNAME
79
];
80
81
return
$result
;
82
}
83
89
public
static
function
isDomainActive
(
string
$domainName): bool
90
{
91
$http =
new
HttpClient
;
92
$status
= $http->get(self::B24_SERVICE_DETECT_DOMAIN . $domainName);
93
try
94
{
95
$status
= Json::decode(
$status
);
96
// protect from bad answer
97
if
(!isset(
$status
[
'status'
]))
98
{
99
return
true
;
100
}
101
return
$status
[
'status'
] ===
'ready'
;
102
}
103
catch
(\
Exception
$e)
104
{
105
return
false
;
106
}
107
}
108
}
Bitrix\Landing\Domain\Provider\Bitrix24
Определения
bitrix24.php:11
Bitrix\Landing\Domain\Register
Определения
register.php:9
Bitrix\Landing\Domain\Register\getINA
static getINA(?string $tld=null)
Определения
register.php:44
Bitrix\Landing\Domain\Register\B24_SERVICE_DETECT_IP
const B24_SERVICE_DETECT_IP
Определения
register.php:13
Bitrix\Landing\Domain\Register\getDNSRecords
static getDNSRecords(?string $tld=null)
Определения
register.php:67
Bitrix\Landing\Domain\Register\isDomainActive
static isDomainActive(string $domainName)
Определения
register.php:89
Bitrix\Landing\Domain\Register\getInstance
static getInstance()
Определения
register.php:34
Bitrix\Landing\Domain\Register\B24_SERVICE_DETECT_DOMAIN
const B24_SERVICE_DETECT_DOMAIN
Определения
register.php:18
Bitrix\Landing\Domain\Register\B24_DEFAULT_DNS_CNAME
const B24_DEFAULT_DNS_CNAME
Определения
register.php:28
Bitrix\Landing\Domain\Register\B24_DEFAULT_DNS_IP
const B24_DEFAULT_DNS_IP
Определения
register.php:23
Bitrix\Landing\Manager\getZone
static getZone()
Определения
manager.php:930
Bitrix\Main\Web\HttpClient
Определения
httpclient.php:24
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
$status
$status
Определения
session.php:10
Bitrix\Landing\Domain\Provider
Определения
bitrix24.php:2
Bitrix\Main\DI\Exception
Определения
circulardependencyexception.php:3
bitrix
modules
landing
lib
domain
register.php
Создано системой
1.14.0