public function summaryAction() { $config = Pimcore_Google_Analytics::getSiteConfig($this->getSite()); $startDate = date("Y-m-d", time() - 86400 * 31); $endDate = date("Y-m-d"); if ($this->_getParam("dateFrom") && $this->_getParam("dateTo")) { $startDate = date("Y-m-d", strtotime($this->_getParam("dateFrom"))); $endDate = date("Y-m-d", strtotime($this->_getParam("dateTo"))); } $query = $this->getQuery($this->getSite()); $query->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DATE)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_EXITS)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES)->setStartDate($startDate)->setEndDate($endDate); if ($config->advanced) { if ($this->_getParam("id") && $this->_getParam("type")) { $url = "/pimcoreanalytics/" . $this->_getParam("type") . "/" . $this->_getParam("id"); $query->setFilter(Zend_Gdata_Analytics_DataQuery::DIMENSION_PAGE_PATH . "==" . $url); } } else { if ($this->_getParam("path")) { $query->setFilter(Zend_Gdata_Analytics_DataQuery::DIMENSION_PAGE_PATH . "==" . $this->_getParam("path")); } } $result = $this->getService()->getDataFeed($query); $data = array(); $dailyData = array(); $dailyDataGrouped = array(); foreach ($result as $row) { $date = $this->formatDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DATE, $row->getDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DATE)); $dailyDataGrouped[Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS][] = (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS)->getValue(); $dailyDataGrouped[Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS][] = (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS)->getValue(); $dailyDataGrouped[Zend_Gdata_Analytics_DataQuery::METRIC_EXITS][] = (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_EXITS)->getValue(); $dailyDataGrouped[Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES][] = (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES)->getValue(); $dailyDataGrouped[Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES][] = (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES)->getValue(); $data[Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES] += (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES)->getValue(); $data[Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES] += (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES)->getValue(); $data[Zend_Gdata_Analytics_DataQuery::METRIC_EXITS] += (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_EXITS)->getValue(); $data[Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS] += (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS)->getValue(); $data[Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS] += (int) $row->getMetric(Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS)->getValue(); } //$data[Zend_Gdata_Analytics_DataQuery::METRIC_EXITS] = ($data[Zend_Gdata_Analytics_DataQuery::METRIC_EXITS]/$data[Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS]) * 100; //$data[Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES] = $data["bounces"] / $data[Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES] * 100; //unset($data["bounces"]); $order = array(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS => 0, Zend_Gdata_Analytics_DataQuery::METRIC_UNIQUE_PAGEVIEWS => 1, Zend_Gdata_Analytics_DataQuery::METRIC_EXITS => 2, Zend_Gdata_Analytics_DataQuery::METRIC_ENTRANCES => 3, Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES => 4); $outputData = array(); foreach ($data as $key => $value) { $outputData[$order[$key]] = array("label" => str_replace("ga:", "", $key), "value" => round($value, 2), "chart" => Pimcore_Report_ImageChart::lineSmall($dailyDataGrouped[$key]), "metric" => str_replace("ga:", "", $key)); } ksort($outputData); $this->_helper->json(array("data" => $outputData)); }
?> " /> </div> <div class="value"><?php echo $this->data["timeonsite"]; ?> </div> <div class="label"><?php echo $this->translate("average_timeonsite"); ?> </div> </div> <div class="smallchart"> <div class="chart"> <img src="<?php echo Pimcore_Report_ImageChart::lineSmall($this->dailyDataGrouped["bouncerate"]); ?> " /> </div> <div class="value"><?php echo round($this->data["bouncerate"], 2); ?> </div> <div class="label"><?php echo $this->translate("bouncerate"); ?> </div> </div> </div> </div> </div>