Commit 129bec7c5f22cdbe00dd9aad83da154356b3b5d2
1 parent
a941da22
ga output
Showing
1 changed file
with
43 additions
and
39 deletions
Show diff stats
app/library/App/Controllers/GaController.php
@@ -28,11 +28,49 @@ class GaController extends CrudResourceController { | @@ -28,11 +28,49 @@ class GaController extends CrudResourceController { | ||
28 | 28 | ||
29 | $view_id = $this->request->get('view_id') ?? '119240817'; | 29 | $view_id = $this->request->get('view_id') ?? '119240817'; |
30 | $get_metrics = $this->request->get('metric') ?? 'users'; | 30 | $get_metrics = $this->request->get('metric') ?? 'users'; |
31 | + $get_dimensions = $this->request->get('dimension'); | ||
31 | $get_start_date = $this->request->get('start') ?? '30daysAgo'; | 32 | $get_start_date = $this->request->get('start') ?? '30daysAgo'; |
32 | $get_end_date = $this->request->get('end') ?? 'today'; | 33 | $get_end_date = $this->request->get('end') ?? 'today'; |
33 | - $get_dimensions = $this->request->get('dimension'); | ||
34 | 34 | ||
35 | 35 | ||
36 | + return $this->sendGaRequest($view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date); | ||
37 | + | ||
38 | + } | ||
39 | + | ||
40 | + public function printResults($reports) { | ||
41 | + $res = ''; | ||
42 | + for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) { | ||
43 | + $report = $reports[ $reportIndex ]; | ||
44 | + $header = $report->getColumnHeader(); | ||
45 | + $dimensionHeaders = $header->getDimensions(); | ||
46 | + $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); | ||
47 | + $rows = $report->getData()->getRows(); | ||
48 | + | ||
49 | + for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) { | ||
50 | + $row = $rows[ $rowIndex ]; | ||
51 | + $dimensions = $row->getDimensions(); | ||
52 | + $metrics = $row->getMetrics(); | ||
53 | + for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { | ||
54 | + print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); | ||
55 | + } | ||
56 | + | ||
57 | + for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) { | ||
58 | + $entry = $metricHeaders[$j]; | ||
59 | + $values = $metrics[$j]; | ||
60 | + //print("Metric type: " . $entry->getType() . "\n" ); | ||
61 | + for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) { | ||
62 | + $value = $values->getValues()[ $valueIndex ]; | ||
63 | + $res .= "<b>" . $entry->getName() . "</b>: " . $value . '<br/>'; | ||
64 | + } | ||
65 | + } | ||
66 | + } | ||
67 | + } | ||
68 | + | ||
69 | + return $res; | ||
70 | + } | ||
71 | + | ||
72 | + public function sendGaRequest($view, $get_metrics, $get_dimensions, $start, $end) { | ||
73 | + | ||
36 | putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); | 74 | putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); |
37 | $client = new Google_Client(); | 75 | $client = new Google_Client(); |
38 | $client->useApplicationDefaultCredentials(); | 76 | $client->useApplicationDefaultCredentials(); |
@@ -41,8 +79,8 @@ class GaController extends CrudResourceController { | @@ -41,8 +79,8 @@ class GaController extends CrudResourceController { | ||
41 | 79 | ||
42 | // Создание объекта DateRange. | 80 | // Создание объекта DateRange. |
43 | $dateRange = new Google_Service_AnalyticsReporting_DateRange(); | 81 | $dateRange = new Google_Service_AnalyticsReporting_DateRange(); |
44 | - $dateRange->setStartDate($get_start_date); | ||
45 | - $dateRange->setEndDate($get_end_date); | 82 | + $dateRange->setStartDate($start); |
83 | + $dateRange->setEndDate($end); | ||
46 | 84 | ||
47 | // Создание объекта Metrics. | 85 | // Создание объекта Metrics. |
48 | $metrics = []; | 86 | $metrics = []; |
@@ -67,7 +105,7 @@ class GaController extends CrudResourceController { | @@ -67,7 +105,7 @@ class GaController extends CrudResourceController { | ||
67 | 105 | ||
68 | // Создание объекта ReportRequest. | 106 | // Создание объекта ReportRequest. |
69 | $request = new Google_Service_AnalyticsReporting_ReportRequest(); | 107 | $request = new Google_Service_AnalyticsReporting_ReportRequest(); |
70 | - $request->setViewId($view_id); | 108 | + $request->setViewId($view); |
71 | $request->setDateRanges($dateRange); | 109 | $request->setDateRanges($dateRange); |
72 | if (!empty($dimensions)) { | 110 | if (!empty($dimensions)) { |
73 | $request->setDimensions(array($dimensions)); | 111 | $request->setDimensions(array($dimensions)); |
@@ -84,7 +122,7 @@ class GaController extends CrudResourceController { | @@ -84,7 +122,7 @@ class GaController extends CrudResourceController { | ||
84 | $response = $response->reports[0]['data']['rows']; | 122 | $response = $response->reports[0]['data']['rows']; |
85 | 123 | ||
86 | $result = []; | 124 | $result = []; |
87 | - $project = Project::findFirst(['ga_view_id' => $view_id]); | 125 | + $project = Project::findFirst(['ga_view_id' => $view]); |
88 | $result['name'] = $project->name; | 126 | $result['name'] = $project->name; |
89 | 127 | ||
90 | foreach ($response as $item) { | 128 | foreach ($response as $item) { |
@@ -104,38 +142,4 @@ class GaController extends CrudResourceController { | @@ -104,38 +142,4 @@ class GaController extends CrudResourceController { | ||
104 | return ($result); | 142 | return ($result); |
105 | 143 | ||
106 | } | 144 | } |
107 | - | ||
108 | - public function printResults($reports) { | ||
109 | - $res = ''; | ||
110 | - for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) { | ||
111 | - $report = $reports[ $reportIndex ]; | ||
112 | - $header = $report->getColumnHeader(); | ||
113 | - $dimensionHeaders = $header->getDimensions(); | ||
114 | - $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); | ||
115 | - $rows = $report->getData()->getRows(); | ||
116 | - | ||
117 | - for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) { | ||
118 | - $row = $rows[ $rowIndex ]; | ||
119 | - $dimensions = $row->getDimensions(); | ||
120 | - $metrics = $row->getMetrics(); | ||
121 | - for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { | ||
122 | - print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); | ||
123 | - } | ||
124 | - | ||
125 | - for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) { | ||
126 | - $entry = $metricHeaders[$j]; | ||
127 | - $values = $metrics[$j]; | ||
128 | - //print("Metric type: " . $entry->getType() . "\n" ); | ||
129 | - for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) { | ||
130 | - $value = $values->getValues()[ $valueIndex ]; | ||
131 | - $res .= "<b>" . $entry->getName() . "</b>: " . $value . '<br/>'; | ||
132 | - } | ||
133 | - } | ||
134 | - } | ||
135 | - } | ||
136 | - | ||
137 | - return $res; | ||
138 | - } | ||
139 | - | ||
140 | - | ||
141 | } | 145 | } |
142 | \ No newline at end of file | 146 | \ No newline at end of file |