Commit 7e1d4fa37ea30c5b611db1119c0a280ef3ab6630
1 parent
5937dcc7
ga output
Showing
1 changed file
with
32 additions
and
6 deletions
Show diff stats
app/library/App/Controllers/GaController.php
@@ -41,18 +41,18 @@ class GaController extends CrudResourceController { | @@ -41,18 +41,18 @@ class GaController extends CrudResourceController { | ||
41 | $projects = Project::find(['user_id' => $user_id]); | 41 | $projects = Project::find(['user_id' => $user_id]); |
42 | foreach ($projects as $project) { | 42 | foreach ($projects as $project) { |
43 | $view_id = (string)$project->ga_view_id; | 43 | $view_id = (string)$project->ga_view_id; |
44 | - $result[] = $this->sendGaRequest($project->name, $view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date); | 44 | + $result[] = $this->sendGaRequest($project->name, $view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date, $chart); |
45 | } | 45 | } |
46 | } | 46 | } |
47 | else { | 47 | else { |
48 | $project = Project::findFirst(['ga_view_id' => $view_id]); | 48 | $project = Project::findFirst(['ga_view_id' => $view_id]); |
49 | - $result = $this->sendGaRequest($project->name , $view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date); | 49 | + $result = $this->sendGaRequest($project->name , $view_id, $get_metrics, $get_dimensions, $get_start_date, $get_end_date, $chart); |
50 | } | 50 | } |
51 | return $result; | 51 | return $result; |
52 | 52 | ||
53 | } | 53 | } |
54 | 54 | ||
55 | - public function sendGaRequest($project_name, $view, $get_metrics, $get_dimensions, $start, $end) { | 55 | + public function sendGaRequest($project_name, $view, $get_metrics, $get_dimensions, $start, $end, $chart = false) { |
56 | 56 | ||
57 | putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); | 57 | putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); |
58 | $client = new Google_Client(); | 58 | $client = new Google_Client(); |
@@ -76,7 +76,7 @@ class GaController extends CrudResourceController { | @@ -76,7 +76,7 @@ class GaController extends CrudResourceController { | ||
76 | } | 76 | } |
77 | 77 | ||
78 | //Create the Dimensions object. | 78 | //Create the Dimensions object. |
79 | - if (!empty($get_dimensions)) { | 79 | + if (!empty($get_dimensions) && !$chart) { |
80 | $dimensions = []; | 80 | $dimensions = []; |
81 | $get_dimensions = explode(',', $get_dimensions); | 81 | $get_dimensions = explode(',', $get_dimensions); |
82 | foreach ($get_dimensions as $dimension) { | 82 | foreach ($get_dimensions as $dimension) { |
@@ -104,13 +104,17 @@ class GaController extends CrudResourceController { | @@ -104,13 +104,17 @@ class GaController extends CrudResourceController { | ||
104 | $response = $response->toSimpleObject(); | 104 | $response = $response->toSimpleObject(); |
105 | $response = $response->reports[0]['data']['rows']; | 105 | $response = $response->reports[0]['data']['rows']; |
106 | 106 | ||
107 | - $result = self::responseTransform($response, $project_name); | 107 | + if ($chart) { |
108 | + $result = self::responseChartTransform($response, $project_name); | ||
109 | + } else { | ||
110 | + $result = self::responseDataTransform($response, $project_name); | ||
111 | + } | ||
108 | 112 | ||
109 | return ($result); | 113 | return ($result); |
110 | 114 | ||
111 | } | 115 | } |
112 | 116 | ||
113 | - public static function responseTransform(array $response, $project_name) { | 117 | + public static function responseDataTransform(array $response, $project_name) { |
114 | 118 | ||
115 | $result = []; | 119 | $result = []; |
116 | 120 | ||
@@ -134,6 +138,28 @@ class GaController extends CrudResourceController { | @@ -134,6 +138,28 @@ class GaController extends CrudResourceController { | ||
134 | 138 | ||
135 | } | 139 | } |
136 | 140 | ||
141 | + public static function responseChartTransform(array $response, $project_name) { | ||
142 | + | ||
143 | + $result = []; | ||
144 | + | ||
145 | + foreach ($response as $item) { | ||
146 | + | ||
147 | + $metric_val = $item['metrics'][0]['values']; | ||
148 | + $result['name'] = $project_name; | ||
149 | + | ||
150 | + if (count($metric_val) > 1) { | ||
151 | + for ($i = 0; $i < count($metric_val); $i++) { | ||
152 | + $result['data'][] = $metric_val[$i]; | ||
153 | + } | ||
154 | + } else { | ||
155 | + $result['data'] = $metric_val[0]; | ||
156 | + } | ||
157 | + } | ||
158 | + | ||
159 | + return $result; | ||
160 | + | ||
161 | + } | ||
162 | + | ||
137 | 163 | ||
138 | 164 | ||
139 | 165 |