diff --git a/app/library/App/Controllers/GaController.php b/app/library/App/Controllers/GaController.php
index 04a8fd7..8d31558 100644
--- a/app/library/App/Controllers/GaController.php
+++ b/app/library/App/Controllers/GaController.php
@@ -28,11 +28,49 @@ class GaController extends CrudResourceController {
$view_id = $this->request->get('view_id') ?? '119240817';
$get_metrics = $this->request->get('metric') ?? 'users';
+ $get_dimensions = $this->request->get('dimension');
$get_start_date = $this->request->get('start') ?? '30daysAgo';
$get_end_date = $this->request->get('end') ?? 'today';
- $get_dimensions = $this->request->get('dimension');
+ return $this->sendGaRequest($view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date);
+
+ }
+
+ public function printResults($reports) {
+ $res = '';
+ for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
+ $report = $reports[ $reportIndex ];
+ $header = $report->getColumnHeader();
+ $dimensionHeaders = $header->getDimensions();
+ $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
+ $rows = $report->getData()->getRows();
+
+ for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
+ $row = $rows[ $rowIndex ];
+ $dimensions = $row->getDimensions();
+ $metrics = $row->getMetrics();
+ for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
+ print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
+ }
+
+ for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) {
+ $entry = $metricHeaders[$j];
+ $values = $metrics[$j];
+ //print("Metric type: " . $entry->getType() . "\n" );
+ for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) {
+ $value = $values->getValues()[ $valueIndex ];
+ $res .= "" . $entry->getName() . ": " . $value . '
';
+ }
+ }
+ }
+ }
+
+ return $res;
+ }
+
+ public function sendGaRequest($view, $get_metrics, $get_dimensions, $start, $end) {
+
putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON);
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
@@ -41,8 +79,8 @@ class GaController extends CrudResourceController {
// Создание объекта DateRange.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
- $dateRange->setStartDate($get_start_date);
- $dateRange->setEndDate($get_end_date);
+ $dateRange->setStartDate($start);
+ $dateRange->setEndDate($end);
// Создание объекта Metrics.
$metrics = [];
@@ -67,7 +105,7 @@ class GaController extends CrudResourceController {
// Создание объекта ReportRequest.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
- $request->setViewId($view_id);
+ $request->setViewId($view);
$request->setDateRanges($dateRange);
if (!empty($dimensions)) {
$request->setDimensions(array($dimensions));
@@ -84,7 +122,7 @@ class GaController extends CrudResourceController {
$response = $response->reports[0]['data']['rows'];
$result = [];
- $project = Project::findFirst(['ga_view_id' => $view_id]);
+ $project = Project::findFirst(['ga_view_id' => $view]);
$result['name'] = $project->name;
foreach ($response as $item) {
@@ -104,38 +142,4 @@ class GaController extends CrudResourceController {
return ($result);
}
-
- public function printResults($reports) {
- $res = '';
- for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
- $report = $reports[ $reportIndex ];
- $header = $report->getColumnHeader();
- $dimensionHeaders = $header->getDimensions();
- $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
- $rows = $report->getData()->getRows();
-
- for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
- $row = $rows[ $rowIndex ];
- $dimensions = $row->getDimensions();
- $metrics = $row->getMetrics();
- for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
- print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
- }
-
- for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) {
- $entry = $metricHeaders[$j];
- $values = $metrics[$j];
- //print("Metric type: " . $entry->getType() . "\n" );
- for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) {
- $value = $values->getValues()[ $valueIndex ];
- $res .= "" . $entry->getName() . ": " . $value . '
';
- }
- }
- }
- }
-
- return $res;
- }
-
-
}
\ No newline at end of file
--
libgit2 0.21.4