1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
MarketExpiredPopup.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Rest\Notification\MarketExpired\Popup
;
4
5
use
Bitrix\Rest\Contract\OptionContract
;
6
use
Bitrix\Rest\Notification\MarketExpired\MarketExpiredNotification
;
7
8
abstract
class
MarketExpiredPopup
9
{
10
private
const
POPUP_SHOW_DELAY = 60 * 60 * 24;
// 1 day
11
12
public
function
__construct
(
13
protected
readonly
OptionContract
$userOption,
14
protected
readonly
MarketExpiredNotification
$marketSubscriptionNotification,
15
)
16
{}
17
18
abstract
protected
function
getOptionPrefix
(): string;
19
20
abstract
protected
function
isEnabledForCurrentUser
(): bool;
21
22
final
public
function
isReadyToShow
(): bool
23
{
24
return
$this->marketSubscriptionNotification->isAvailable() && $this->
isEnabledForCurrentUser
();
25
}
26
27
final
public
function
isDismissedByUser
(): bool
28
{
29
return
$this->userOption->get($this->
getOptionPrefix
() .
'Dismiss'
,
'N'
) ===
'Y'
;
30
}
31
32
final
protected
function
isTimeToShowForCurrentUser
(): bool
33
{
34
$lastShowTimestamp = $this->userOption->get($this->
getOptionPrefix
() .
'Ts'
,
null
);
35
36
if
(!is_numeric($lastShowTimestamp) || !$lastShowTimestamp)
37
{
38
return
true
;
39
}
40
41
return
$lastShowTimestamp + self::POPUP_SHOW_DELAY < time();
42
}
43
}
Bitrix\Rest\Notification\MarketExpired\MarketExpiredNotification
Определения
MarketExpiredNotification.php:12
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup
Определения
MarketExpiredPopup.php:9
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\__construct
__construct(protected readonly OptionContract $userOption, protected readonly MarketExpiredNotification $marketSubscriptionNotification,)
Определения
MarketExpiredPopup.php:12
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\isDismissedByUser
isDismissedByUser()
Определения
MarketExpiredPopup.php:27
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\isReadyToShow
isReadyToShow()
Определения
MarketExpiredPopup.php:22
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\isEnabledForCurrentUser
isEnabledForCurrentUser()
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\isTimeToShowForCurrentUser
isTimeToShowForCurrentUser()
Определения
MarketExpiredPopup.php:32
Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup\getOptionPrefix
getOptionPrefix()
Bitrix\Rest\Contract\OptionContract
Определения
OptionContract.php:6
Bitrix\Rest\Notification\MarketExpired\Popup
Определения
MarketExpiredPopup.php:3
bitrix
modules
rest
lib
Notification
MarketExpired
Popup
MarketExpiredPopup.php
Создано системой
1.14.0