Ticket #842: computeNbUniqVisitors.patch

File computeNbUniqVisitors.patch, 1.6 KB (added by mauser, 3 years ago)
  • plugins/VisitsSummary/Controller.php

     
    6060                 
    6161                $dataTableVisit = self::getVisitsSummary(); 
    6262                $dataRow = $dataTableVisit->getFirstRow(); 
    63                 if($view->period == 'day') 
     63                if($view->period != 'year') 
    6464                { 
    6565                        $view->urlSparklineNbUniqVisitors       = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_uniq_visitors'))); 
    6666                        $view->nbUniqVisitors = $dataRow->getColumn('nb_uniq_visitors'); 
  • core/ArchiveProcessing/Period.php

     
    115115                $records = array(); 
    116116                foreach($results as $name => $value) 
    117117                { 
     118                        if($name == 'nb_uniq_visitors' && ($this->periodId == 2 || $this->periodId == 3)) 
     119                        { 
     120                            $value = (float) $this->computeNbUniqVisitors(); 
     121                        } 
    118122                        $records[$name] = new Piwik_ArchiveProcessing_Record_Numeric( 
    119                                                                                                         $name,  
     123                                                                                                        $name, 
    120124                                                                                                        $value 
    121125                                                                                                ); 
    122126                        $this->insertRecord($records[$name]); 
     
    329333                } 
    330334                $this->archives = array(); 
    331335        } 
     336 
     337        protected function computeNbUniqVisitors() 
     338        { 
     339                $query = "SELECT count(distinct visitor_idcookie) as nb_uniq_visitors FROM ".$this->logTable." 
     340                          WHERE visit_server_date >= ? AND visit_server_date <= ? AND idsite = ?"; 
     341 
     342                return Zend_Registry::get('db')->fetchOne($query, array( $this->strDateStart, $this->strDateEnd, $this->idsite )); 
     343        } 
    332344         
    333345}