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
cbcae082
Commit
cbcae082
authored
Feb 26, 2016
by
Шакарим Сапа
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Debugging
parent
f9a41350
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
26 deletions
+21
-26
common/modules/triggers/controllers/DefaultController.php
common/modules/triggers/controllers/DefaultController.php
+21
-26
No files found.
common/modules/triggers/controllers/DefaultController.php
View file @
cbcae082
...
...
@@ -39,42 +39,37 @@ class DefaultController extends BaseController
* Метод для крона и ручного вызова. Проверяет таблицу с расписанием, выполняет сработавшие триггеры.
*/
public
function
actionRechecktriggers
(){
/** @var TriggerSchedule[] $uncheckedArray */
/** @var TriggerTrigger[] $actualTriggers */
// Получили текущую дату и время
$timeNow
=
new
DateTime
();
// Получили все те сообщения которые еще не обработаны и имеют дату равную или меньше текущей
$uncheckedArray
=
TriggerSchedule
::
find
()
->
where
(
'checked=:checked'
,
[
':checked'
=>
false
])
->
all
();
var_dump
(
$uncheckedArray
);
$uncheckedArray
=
TriggerSchedule
::
find
()
->
where
(
'checked=:checked AND time <= :time_now'
,
[
':checked'
=>
0
,
':time_now'
=>
$timeNow
->
format
(
'Y-m-d H:i:s'
)])
->
all
();
// Получили все актуальные триггеры в базе
$actualTriggers
=
TriggerTrigger
::
getActualTriggers
();
// Перебираем эти сообщения в цикле
foreach
(
$uncheckedArray
as
$message
)
{
$time
=
new
DateTime
(
$message
->
time
);
if
(
$time
<
$timeNow
)
{
echo
':::'
.
$message
->
id
.
'<br>'
;
$triggerIsUsed
=
false
;
// Проверяем каждое сообщение на срабатывание триггера
foreach
(
$actualTriggers
as
$trigger
)
{
echo
$trigger
->
id
;
echo
'<br>'
;
// Вызвали срабатывание условий
$triggerResult
=
Conditions
::
init
()
->
handleMessageByTriggerId
(
$message
,
$trigger
->
getPrimaryKey
());
// Если триггер сработал инициируем действие
if
(
$triggerResult
===
true
)
{
$init
=
$trigger
->
initAction
();
if
(
$init
===
true
)
{
$triggerIsUsed
=
true
;
}
else
{
echo
$init
;
}
echo
':::'
.
$message
->
id
.
'<br>'
;
$triggerIsUsed
=
false
;
// Проверяем каждое сообщение на срабатывание триггера
foreach
(
$actualTriggers
as
$trigger
)
{
echo
$trigger
->
id
;
echo
'<br>'
;
// Вызвали срабатывание условий
$triggerResult
=
Conditions
::
init
()
->
handleMessageByTriggerId
(
$message
,
$trigger
->
getPrimaryKey
());
// Если триггер сработал инициируем действие
if
(
$triggerResult
===
true
)
{
$init
=
$trigger
->
initAction
();
if
(
$init
===
true
)
{
$triggerIsUsed
=
true
;
}
else
{
echo
$init
;
}
}
if
(
$triggerIsUsed
===
true
)
{
/** @var TriggerSchedule $model */
$model
=
TriggerSchedule
::
findOne
(
$message
->
getPrimaryKey
());
$model
->
checked
=
1
;
$model
->
save
()
;
}
}
if
(
$triggerIsUsed
===
true
)
{
/** @var TriggerSchedule $model */
$model
=
TriggerSchedule
::
findOne
(
$message
->
getPrimaryKey
())
;
$model
->
checked
=
1
;
$model
->
save
();
}
}
}
...
...
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