-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReportCollectorComponent.php
47 lines (40 loc) · 1.27 KB
/
ReportCollectorComponent.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/**
* Created by PhpStorm.
* User: amorev
* Date: 29.10.18
* Time: 14:52
*/
namespace obvu\report_collector;
use obvu\report_collector\collector\yandex_direct\YandexDirectCollector;
use obvu\report_collector\collector\yandex_metrika\YandexMetrikaCollector;
class ReportCollectorComponent
{
public function getDirectReport($dateStart = null, $dateStop = null)
{
$this->prepareDates($dateStart, $dateStop);
$collector = new YandexDirectCollector(['токены и тд']);
return $collector->getReportElements($dateStart, $dateStop);
}
public function getMetrikaReport($dateStart = null, $dateStop = null)
{
$this->prepareDates($dateStart, $dateStop);
$collector = new YandexMetrikaCollector(['tokens']);
return $collector->getReportElements($dateStart, $dateStop);
}
/**
* @param $dateStart
* @param $dateStop
*/
private function prepareDates(&$dateStart, &$dateStop): void
{
if (empty($dateStop)) {
// Дата окончания сегодня
$dateStop = date("Y-m-d");
}
if (empty($dateStart)) {
// Получаем за один день до
$dateStart = date("Y-m-d", time() - 60 * 60 * 24);
}
}
}