1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
allowedsender.php
См. документацию.
1
<?php
2
9
10
namespace
Bitrix\Sender\Integration\Sender
;
11
12
use
Bitrix\Main\Localization\Loc
;
13
use
Bitrix\Main\Mail\Address
;
14
15
Loc::loadMessages(__FILE__);
16
17
class
AllowedSender
18
{
24
public
static
function
getList
($forUserId =
null
)
25
{
26
$result
= \Bitrix\Main\Mail\Sender::prepareUserMailboxes($forUserId);
27
if
(!\
Bitrix
\
Sender
\
Integration
\
Bitrix24
\Service::isCloud())
28
{
29
$addressFromList =
\Bitrix\Sender\MailingChainTable::getEmailFromList
();
30
31
$address =
new
Address
();
32
foreach
($addressFromList as
$email
)
33
{
34
$address->set(
$email
);
35
$formatted = $address->get();
36
if
(!$formatted)
37
{
38
continue
;
39
}
40
41
$result
[] = [
42
'name'
=> $address->getName(),
43
'email'
=> $address->getEmail(),
44
'formatted'
=> $address->get(),
45
];
46
}
47
}
48
return
$result
;
49
}
50
57
public
static
function
isAllowed
(
$email
,
$userId
=
null
)
58
{
59
if
(
$email
==
''
)
60
{
61
return
false
;
62
}
63
64
$address =
new
Address
();
65
$address->set(
$email
);
66
$normalizedEmail = $address->getEmail();
67
if
(!$normalizedEmail)
68
{
69
return
false
;
70
}
71
$normalizedEmail = mb_strtolower($normalizedEmail);
72
$allowedSenders =
self::getList
(
$userId
);
73
if
(empty(array_filter($allowedSenders,
function
($item) use ($normalizedEmail)
74
{
75
return
mb_strtolower($item[
'email'
]) === $normalizedEmail;
76
})))
77
{
78
return
false
;
79
}
80
81
return
true
;
82
}
83
}
$userId
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения
check_mail.php:18
Bitrix\Main\Localization\Loc
Определения
loc.php:12
Bitrix\Main\Mail\Address
Определения
address.php:16
Bitrix\Sender\Integration\Sender\AllowedSender
Определения
allowedsender.php:18
Bitrix\Sender\Integration\Sender\AllowedSender\isAllowed
static isAllowed($email, $userId=null)
Определения
allowedsender.php:57
Bitrix\Sender\Integration\Sender\AllowedSender\getList
static getList($forUserId=null)
Определения
allowedsender.php:24
Bitrix\Sender\MailingChainTable\getEmailFromList
static getEmailFromList()
Определения
mailingchain.php:673
$result
$result
Определения
get_property_values.php:14
Bitrix\Sender\Integration\Bitrix24
Bitrix\Sender\Integration\Sender
Определения
allowedsender.php:10
Bitrix\Sender\Integration
Bitrix\Sender
Bitrix
$email
$email
Определения
payment.php:49
bitrix
modules
sender
lib
integration
sender
allowedsender.php
Создано системой
1.14.0