1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
UrlProvider.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\License
;
4
5
use
Bitrix\Main\Application
;
6
use
Bitrix\Main\Web\Uri
;
7
use
Bitrix\Main\License
;
8
9
class
UrlProvider
10
{
11
private
const
STORE_DOMAINS = [
12
'ru'
=>
'www.1c-bitrix.ru'
,
13
'by'
=>
'www.1c-bitrix.by'
,
14
'kz'
=>
'www.1c-bitrix.kz'
,
15
'en'
=>
'store.bitrix24.com'
,
16
'de'
=>
'store.bitrix24.de'
,
17
'eu'
=>
'store.bitrix24.eu'
,
18
];
19
private
const
PRODUCTS_DOMAINS = [
20
'ru'
=>
'www.1c-bitrix.ru'
,
21
'by'
=>
'www.1c-bitrix.by'
,
22
'kz'
=>
'www.1c-bitrix.kz'
,
23
'en'
=>
'www.bitrix24.com'
,
24
'de'
=>
'www.bitrix24.de'
,
25
'eu'
=>
'www.bitrix24.eu'
,
26
'in'
=>
'www.bitrix24.in'
,
27
];
28
private
const
FEEDBACK_DOMAINS = [
29
'ru'
=>
'product-feedback.bitrix24.ru'
,
30
'en'
=>
'product-feedback.bitrix24.com'
,
31
];
32
private
const
PRIVACY_DOMAINS = [
33
'ru'
=>
'https://www.bitrix24.ru'
,
34
'kz'
=>
'https://www.bitrix24.kz'
,
35
'en'
=>
'https://www.bitrix24.com'
,
36
'de'
=>
'https://www.bitrix24.de'
,
37
];
38
39
protected
License
$license
;
40
41
public
function
__construct
()
42
{
43
$this->license =
Application::getInstance
()->getLicense();
44
}
45
46
public
function
getPriceTableUrl
():
Uri
47
{
48
$region
= $this->license->getRegion();
49
$domain = self::PRODUCTS_DOMAINS[
$region
??
'en'
] ?? self::PRODUCTS_DOMAINS[
'en'
];
50
$url
=
new
Uri
(
'https://'
. $domain);
51
52
if
(in_array(
$region
, [
'ru'
,
'by'
,
'kz'
]))
53
{
54
$url
->setPath(
'/buy/products/b24.php'
);
55
}
56
else
57
{
58
$url
->setPath(
'/prices/self-hosted.php'
);
59
}
60
61
return
$url
;
62
}
63
64
public
function
getPurchaseHistoryUrl
():
Uri
65
{
66
$region
= $this->license->getRegion();
67
$domain = self::STORE_DOMAINS[
$region
??
'en'
] ?? self::STORE_DOMAINS[
'en'
];
68
$url
=
new
Uri
(
'https://'
. $domain);
69
70
if
(in_array(
$region
, [
'ru'
,
'by'
,
'kz'
]))
71
{
72
$url
->setPath(
'/support/key_info.php'
);
73
}
74
else
75
{
76
$url
->setPath(
'/profile/license-keys.php'
);
77
}
78
79
return
$url
;
80
}
81
82
public
function
getPrivacyPolicyUrl
():
Uri
83
{
84
$region
= $this->license->getRegion();
85
$url
=
new
Uri
(self::PRIVACY_DOMAINS[
$region
??
'en'
] ?? self::PRIVACY_DOMAINS[
'en'
]);
86
87
if
(in_array(
$region
, [
'ru'
,
'kz'
]))
88
{
89
$url
->setPath(
'/about/privacy.php'
);
90
}
91
else
92
{
93
$url
->setPath(
'/privacy/'
);
94
}
95
96
return
$url
;
97
}
98
99
public
function
getMailingAgreementUrl
(): ?
Uri
100
{
101
$region
= $this->license->getRegion();
102
103
if
(in_array(
$region
, [
'ru'
,
'by'
,
'kz'
]))
104
{
105
return
new
Uri
(
"https://www.bitrix24.$region/about/advertising.php"
);
106
}
107
108
return
null
;
109
}
110
111
public
function
getProductDomain
(?
string
$region
=
null
):
Uri
112
{
113
$region
??= $this->license->getRegion();
114
$domain = self::PRODUCTS_DOMAINS[
$region
??
'en'
] ?? self::PRODUCTS_DOMAINS[
'en'
];
115
116
return
new
Uri
(
'https://'
. $domain);
117
}
118
119
public
function
getTechDomain
(): string
120
{
121
return
$this->license->isCis() ?
'bitrix24.tech'
:
'bitrix.info'
;
122
}
123
124
public
function
getFeedbackDomain
(?
string
$region
=
null
): string
125
{
126
$region
??= $this->license->getRegion();
127
128
return
self::FEEDBACK_DOMAINS[
$region
??
'en'
] ?? self::FEEDBACK_DOMAINS[
'en'
];
129
}
130
}
Bitrix\Main\Application
Определения
application.php:30
Bitrix\Main\Application\getInstance
static getInstance()
Определения
application.php:98
Bitrix\Main\License\UrlProvider
Определения
UrlProvider.php:10
Bitrix\Main\License\UrlProvider\__construct
__construct()
Определения
UrlProvider.php:41
Bitrix\Main\License\UrlProvider\getProductDomain
getProductDomain(?string $region=null)
Определения
UrlProvider.php:111
Bitrix\Main\License\UrlProvider\getPurchaseHistoryUrl
getPurchaseHistoryUrl()
Определения
UrlProvider.php:64
Bitrix\Main\License\UrlProvider\getFeedbackDomain
getFeedbackDomain(?string $region=null)
Определения
UrlProvider.php:124
Bitrix\Main\License\UrlProvider\getMailingAgreementUrl
getMailingAgreementUrl()
Определения
UrlProvider.php:99
Bitrix\Main\License\UrlProvider\getPriceTableUrl
getPriceTableUrl()
Определения
UrlProvider.php:46
Bitrix\Main\License\UrlProvider\getTechDomain
getTechDomain()
Определения
UrlProvider.php:119
Bitrix\Main\License\UrlProvider\$license
License $license
Определения
UrlProvider.php:39
Bitrix\Main\License\UrlProvider\getPrivacyPolicyUrl
getPrivacyPolicyUrl()
Определения
UrlProvider.php:82
Bitrix\Main\Web\Uri
Определения
uri.php:17
$region
$region
Определения
.description.php:13
Bitrix\Main\License
Определения
UrlProvider.php:3
$url
$url
Определения
iframe.php:7
bitrix
modules
main
lib
License
UrlProvider.php
Создано системой
1.14.0