1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
register.php
См. документацию.
1<?php
2namespace Bitrix\Landing\Domain;
3
4use \Bitrix\Landing\Manager;
5use \Bitrix\Main\Web\HttpClient;
6use Bitrix\Main\Web\Json;
7
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}
static getINA(?string $tld=null)
Определения register.php:44
const B24_SERVICE_DETECT_IP
Определения register.php:13
static getDNSRecords(?string $tld=null)
Определения register.php:67
static isDomainActive(string $domainName)
Определения register.php:89
static getInstance()
Определения register.php:34
const B24_SERVICE_DETECT_DOMAIN
Определения register.php:18
const B24_DEFAULT_DNS_CNAME
Определения register.php:28
const B24_DEFAULT_DNS_IP
Определения register.php:23
static getZone()
Определения manager.php:930
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$status
Определения session.php:10