Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
taskonsite-архив-перенесен
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitry Korolev
taskonsite-архив-перенесен
Commits
af2d4806
Commit
af2d4806
authored
Mar 29, 2016
by
Shakarim Sapa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Добавлена проверка НЕ прочитанности письма с конкретным шаблоном и в пределах указаной даты
parent
f61fa92a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
0 deletions
+61
-0
common/modules/triggers/components/conditions/conditions/CheckEmailAndTemplateToNotReading.php
...nditions/conditions/CheckEmailAndTemplateToNotReading.php
+61
-0
No files found.
common/modules/triggers/components/conditions/conditions/CheckEmailAndTemplateToNotReading.php
0 → 100644
View file @
af2d4806
<?php
namespace
common\modules\triggers\components\conditions\conditions
;
use
common\components\UnisenderAPI
;
use
common\modules\triggers\components\conditions\vendor\ConditionBase
;
use
common\modules\triggers\components\conditions\vendor\ConditionInterface
;
use
common\modules\triggers\models\TriggerParam
;
use
common\modules\triggers\models\TriggerSchedule
;
use
Faker\Provider\ka_GE\DateTime
;
class
CheckEmailAndTemplateToNotReading
extends
ConditionBase
implements
ConditionInterface
{
const
CONDITION_ID
=
12
;
public
$name
=
'Письмо с заданным шаблоном НЕ было прочтено до'
;
public
$params
=
[];
public
$model
;
/**
* @param null|string $conditionName
* @return $this mixed
*/
public
static
function
init
(
$conditionName
=
__CLASS__
){
return
parent
::
init
(
$conditionName
);
}
/**
* @param TriggerSchedule $message
* @param array $params
* @return bool
*/
public
function
check
(
$message
=
null
,
$params
=
array
()){
if
(
!
is_null
(
$message
))
{
// Создаем объект унисендера
$sender
=
new
UnisenderAPI
();
// Делаем запрос на получение статуса сообщения
$sender
->
getMessageStatuses
(
$message
->
campaign_id
,
$message
->
message_id
,
$message
->
email
);
return
(
$sender
->
isReaded
());
}
if
(
!
is_null
(
$this
->
model
)
&&
!
is_null
(
$message
))
{
// Получаем параметр link
$param_template
=
TriggerParam
::
find
()
->
where
([
'condition_id'
=>
$this
->
model
->
id
,
'key'
=>
'template_id'
])
->
one
();
$param_date
=
TriggerParam
::
find
()
->
where
([
'condition_id'
=>
$this
->
model
->
id
,
'key'
=>
'date'
])
->
one
();
// Если параметр есть, он длиннее нуля и не равен #
if
(
!
is_null
(
$param_template
)
&&
!
is_null
(
$param_date
))
{
// Если идентификатор кампании в сообщении не равен нулю
if
(
!
is_null
(
$message
->
campaign_id
))
{
$date_now
=
new
\DateTime
();
$check_date
=
new
\DateTime
(
$param_date
);
// Создаем объект унисендера
$sender
=
new
UnisenderAPI
();
// Делаем запрос на получение статуса сообщения
$sender
->
getMessageStatuses
(
$message
->
campaign_id
,
$message
->
message_id
,
$message
->
email
);
return
(
$sender
->
isReaded
()
!==
true
&&
$message
->
template_id
==
$param_template
&&
$date_now
>
$check_date
)
?
true
:
false
;
}
}
}
return
true
;
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment