1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
TransitionCurtain.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Rest\Notification\MarketExpired\Curtain;
4
5
use Bitrix\Rest\Notification\MarketExpired\MarketExpiredCategory;
6
use Bitrix\Rest\Notification\MarketExpired\MarketExpiredType;
7
use Bitrix\Rest\Notification\MarketExpired\Popup\MarketExpiredPopup;
8
9
class
TransitionCurtain
extends
MarketExpiredCurtain
10
{
11
private
const
SHOW_DELAY = 86400;
// 1 day
12
13
protected
function
isEnabledForCurrentUser
(
CurtainPageType
$type
): bool
14
{
15
if
(
$type
===
CurtainPageType::ANY_PAGE
)
16
{
17
return
false
;
18
}
19
20
return
$this->
isTimeToShowForCurrentUser
($type)
21
&& !$this->marketSubscriptionNotification->getPopup()->isDismissedByUser();
22
}
23
24
protected
function
isTimeToShowForCurrentUser
(
CurtainPageType
$type
): bool
25
{
26
$lastShowTimestamp = $this->userOption->get(
"marketTransitionCurtain{$type->value}Ts"
,
null
);
27
28
if
(!$lastShowTimestamp || !is_numeric($lastShowTimestamp))
29
{
30
return
true
;
31
}
32
33
return
$lastShowTimestamp + self::SHOW_DELAY < time();
34
}
35
}
$type
$type
Определения
options.php:106
Bitrix\Rest\Notification\MarketExpired\Curtain\MarketExpiredCurtain
Определения
MarketExpiredCurtain.php:9
Bitrix\Rest\Notification\MarketExpired\Curtain\TransitionCurtain
Определения
TransitionCurtain.php:10
Bitrix\Rest\Notification\MarketExpired\Curtain\TransitionCurtain\isEnabledForCurrentUser
isEnabledForCurrentUser(CurtainPageType $type)
Определения
TransitionCurtain.php:13
Bitrix\Rest\Notification\MarketExpired\Curtain\TransitionCurtain\isTimeToShowForCurrentUser
isTimeToShowForCurrentUser(CurtainPageType $type)
Определения
TransitionCurtain.php:24
Bitrix\Rest\Notification\MarketExpired\Curtain\CurtainPageType
CurtainPageType
Определения
CurtainPageType.php:6
Bitrix\Rest\Notification\MarketExpired\Curtain\ANY_PAGE
@ ANY_PAGE
Определения
CurtainPageType.php:9
bitrix
modules
rest
lib
Notification
MarketExpired
Curtain
TransitionCurtain.php
Создано системой
1.14.0