[ 'class' => AccessControl::className(), 'only' => ['logout'], 'rules' => [ [ 'actions' => ['logout'], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } /** * {@inheritdoc} */ public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; } /** * Displays homepage. * * @return string */ public function actionIndex() { $ga=new GA(); $contentpages=$ga->contentpages(); exit; $metrics=[ 'sessions'=>"ga:sessions", 'bounceRate'=>"ga:bounceRate", 'sessionDuration'=>"ga:sessionDuration", 'hits'=>"ga:hits", 'transactions'=>"ga:transactions", 'transactionsPerSession'=>"ga:transactionsPerSession", 'transactionRevenue'=>"ga:transactionRevenue", 'totalValue'=>"ga:totalValue", 'itemQuantity'=>"ga:itemQuantity", 'productAddsToCart'=>"ga:productAddsToCart", 'productCheckouts'=>"ga:productCheckouts", 'productDetailViews'=>"ga:productDetailViews", ]; $i=1; $res=[]; $metrics=array_chunk($metrics,6,true); foreach($metrics as $metric){ $response = $this->getReport($analytics,$metric); // $this->printResults($response); $data=$this->getResults($response); if(empty($res)){ $res=$data; }else{ echo "
"; print_r($res); print_r($data); echo "1111111\r\n"; $res=array_merge_recursive($res,$data); echo ""; print_r($res); exit; } // if(!empty($data)){ // $res=empty($res)?$data:array_merge_recursive($res,$data); // } } echo ""; print_r($res); exit; return $this->render('index'); } /** * Parses and prints the Analytics Reporting API V4 response. * * @param An Analytics Reporting API V4 response. */ function printResults($reports) { 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(); if($dimensionHeaders&&$dimensions){ for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n\r"); echo"
"; } } if($metricHeaders&&$metrics){ for ($j = 0; $j < count($metrics); $j++) { $values = $metrics[$j]->getValues(); for ($k = 0; $k < count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->getName() . ": " . $values[$k] . "\n\r"); echo"
"; } } } } } } function getResults($reports) { $data=[]; for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) { $item=[]; $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(); // echo ""; if($dimensionHeaders&&$dimensions){ // for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { // $list[$dimensionHeaders[$i]]= // print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n\r"); // echo"
"; // } $date=$dimensions[0]; $date=date('Y-m-d',strtotime($date)); }else{ continue; } if($metricHeaders&&$metrics){ for ($j = 0; $j < count($metrics); $j++) { $values = $metrics[$j]->getValues(); for ($k = 0; $k < count($values); $k++) { $entry = $metricHeaders[$k]; $data[$date][$entry->getName()]=$values[$k]; // print($entry->getName() . ": " . $values[$k] . "\n\r"); // echo"
"; } } } } } return $data; } }