[ '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('supernova'); 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;
}
}