コード例 #1
0
 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));
 }
コード例 #2
0
ファイル: siteoverview.php プロジェクト: ngocanh/pimcore
?>
" />
                    </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>