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
e1752aaf
Commit
e1752aaf
authored
Mar 18, 2016
by
Шакарим Сапа
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Добавлены комменты к логике
parent
3b0af085
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
2 deletions
+17
-2
common/modules/triggers/controllers/DefaultController.php
common/modules/triggers/controllers/DefaultController.php
+17
-2
No files found.
common/modules/triggers/controllers/DefaultController.php
View file @
e1752aaf
...
...
@@ -124,27 +124,42 @@ class DefaultController extends BaseController
$baseUrl
=
'http://task-on.com/'
;
// Получили массив url-ов в категории
$urls
=
ArrayHelper
::
map
(
CoContent
::
find
()
->
where
([
'category_id'
=>
$category_id
])
->
all
(),
'id'
,
'url'
);
// Перебираем в цикле пользователей
foreach
(
$users
as
$user
)
{
// Получили дату для дальнейшего сравнения
$deliveryDate
=
new
\DateTime
(
$user
->
delivery_date
);
// Если пользователь подписан и дата соответствует требованиям
if
(
Bid
::
find
()
->
where
([
'email'
=>
$user
->
email
])
->
exists
()
&&
$deliveryDate
<=
$date
)
{
// Перебираем все url-ы
foreach
(
$urls
as
$url
)
{
// Получаем время просмотра каждой страницы
$watchingtime
=
TriggerLogs
::
getSummaryTimeByUrl
(
$url
,
$user
->
id
);
if
((
int
)
$watchingtime
<
(
int
)
$neededTime
)
{
// Если суммарное время просмотра больше минимальной нормы
if
((
int
)
$watchingtime
>
(
int
)
$neededTime
)
{
// Производим отправку письма
// Получаем почту
$email
=
$user
->
email
;
// Генерируем хеш
$hash
=
AuthHashes
::
setNewHash
(
$email
);
// Сформировали дату
$templateData
=
[
'case_link'
=>
$baseUrl
.
$url
.
'?hash='
.
$hash
.
'&email='
.
$email
];
// Производим отправку
/** @var \DateTime $time_now */
TriggerSchedule
::
sendMessage
(
$email
,
$template_id
,
$templateData
,
null
);
}
}
// Создали дату следующей отправки
$updatedDate
=
new
\DateTime
();
// Произвели модификацию даты
$updatedDate
->
modify
(
'+1 week'
);
/** @var User $user */
// Нашли пользователя
$user
=
User
::
findOne
(
$this
->
id
);
// Переопределили поле
$user
->
delivery_date
=
$updatedDate
->
format
(
'Y-m-d'
);
// Сохранили изменения
$user
->
save
(
false
);
}
}
...
...
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