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 | 41 | $projects = Project::find(['user_id' => $user_id]); |
42 | 42 | foreach ($projects as $project) { |
43 | 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 | 47 | else { |
48 | 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 | 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 | 57 | putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/phalcon/'.self::SECRET_JSON); |
58 | 58 | $client = new Google_Client(); |
... | ... | @@ -76,7 +76,7 @@ class GaController extends CrudResourceController { |
76 | 76 | } |
77 | 77 | |
78 | 78 | //Create the Dimensions object. |
79 | - if (!empty($get_dimensions)) { | |
79 | + if (!empty($get_dimensions) && !$chart) { | |
80 | 80 | $dimensions = []; |
81 | 81 | $get_dimensions = explode(',', $get_dimensions); |
82 | 82 | foreach ($get_dimensions as $dimension) { |
... | ... | @@ -104,13 +104,17 @@ class GaController extends CrudResourceController { |
104 | 104 | $response = $response->toSimpleObject(); |
105 | 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 | 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 | 119 | $result = []; |
116 | 120 | |
... | ... | @@ -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 | ... | ... |