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 | ... | ... |