Ticket #1120: Live.patch

File Live.patch, 6.0 KB (added by jr-ewing, 2 years ago)
  • plugins/Live/API.php

     
    5656                { 
    5757                        Piwik::checkUserHasViewAccess($idSite); 
    5858                } 
    59                 $visitorDetails = $this->loadLastVisitorDetailsFromDatabase($visitorId, $idSite, $limit); 
    60                 $table = $this->getCleanedVisitorsFromDetails($visitorDetails); 
     59 
     60                $visitorDetails = self::loadLastVisitorDetailsFromDatabase($visitorId, $idSite, $limit); 
     61                $table = self::getCleanedVisitorsFromDetails($visitorDetails); 
    6162 
    6263                return $table; 
    6364        } 
     
    7778                { 
    7879                        Piwik::checkUserHasViewAccess($idSite); 
    7980                } 
    80                 $visitorDetails = $this->loadLastVisitorDetailsFromDatabase(null, $idSite, $limit, $minIdVisit); 
    81                 $table = $this->getCleanedVisitorsFromDetails($visitorDetails); 
     81                $visitorDetails = self::loadLastVisitorDetailsFromDatabase(null, $idSite, $limit, $minIdVisit); 
     82                $table = self::getCleanedVisitorsFromDetails($visitorDetails); 
    8283 
    8384                return $table; 
    8485        } 
     
    9798                { 
    9899                        Piwik::checkUserHasViewAccess($idSite); 
    99100                } 
    100                 $visitorDetails = $this->loadLastVisitorDetailsFromDatabase(null, $idSite, $limit, $minIdVisit); 
    101                 $dataTable = $this->getCleanedVisitorsFromDetails($visitorDetails); 
     101                $visitorDetails = self::loadLastVisitorDetailsFromDatabase(null, $idSite, $limit, $minIdVisit); 
     102                $dataTable = self::getCleanedVisitorsFromDetails($visitorDetails); 
    102103//              $dataTable->queueFilter('ColumnCallbackAddMetadata', array('operatingSystem', 'icon', 'Piwik_Live_Visitor::getVisitLength()')); 
    103104 
    104105                return $dataTable; 
     
    108109        /* 
    109110         * @return Piwik_DataTable 
    110111         */ 
    111         private function getCleanedVisitorsFromDetails($visitorDetails) 
     112        static private function getCleanedVisitorsFromDetails($visitorDetails) 
    112113        { 
    113114                $table = new Piwik_DataTable(); 
    114  
     115                 
    115116                foreach($visitorDetails as $visitorDetail) 
    116117                { 
    117                         $this->cleanVisitorDetails($visitorDetail); 
     118                        self::cleanVisitorDetails($visitorDetail); 
    118119                        $visitor = new Piwik_Live_Visitor($visitorDetail); 
    119120 
    120121                        // $visitorDetail must contain the match_atribute 
     
    193194                                ORDER BY idvisit DESC 
    194195                                LIMIT $limit"; 
    195196 
     197 
    196198                return Piwik_FetchAll($sql, $whereBind); 
    197199        } 
    198200 
    199201        /* 
    200202         * 
    201203         */ 
    202         private function cleanVisitorDetails( &$visitorDetails ) 
     204        static private function cleanVisitorDetails( &$visitorDetails ) 
    203205        { 
    204206                $toUnset = array('config_md5config'); 
    205207                if(!Piwik::isUserIsSuperUser()) 
     
    219221 
    220222 
    221223        /* 
    222          * @return Piwik_DataTable 
     224         * @return Array 
    223225         */ 
    224226        public function getUsersInLastXMin( $idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30 ) 
    225227        { 
     
    231233                { 
    232234                        Piwik::checkUserHasViewAccess($idSite); 
    233235                } 
    234 //              $visitorDetails = $this->loadLastVisitorDetailsInLastXMinFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes); 
    235                 $visitorDetails = $this->loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes, 0, 1); 
    236  
    237                 $table = $this->getCleanedVisitorsFromDetails($visitorDetails); 
     236//              $visitorDetails = self::loadLastVisitorDetailsInLastXMinFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes); 
     237                $visitorData = self::loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes, 0, 1); 
    238238 
    239                 return $table; 
     239                return $visitorData; 
    240240        } 
    241241 
    242242        /* 
    243          * @return Piwik_DataTable 
     243         * @return Array 
    244244         */ 
    245245        public function getUsersInLastXDays( $idSite = false, $limit = 10, $minIdVisit = false, $days = 10 ) 
    246246        { 
     
    253253                { 
    254254                        Piwik::checkUserHasViewAccess($idSite); 
    255255                } 
    256 //              $visitorDetails = $this->loadLastVisitorDetailsInLastXDaysFromDatabase(null, $idSite, $limit, $minIdVisit, $days); 
    257                 $visitorDetails = $this->loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, 0, $days, 1); 
     256                $visitorData = self::loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, 0, $days, 1); 
    258257 
    259                 $table = $this->getCleanedVisitorsFromDetails($visitorDetails); 
    260  
    261                 return $table; 
     258                return $visitorData; 
    262259        } 
    263260 
    264261        /* 
     
    276273                { 
    277274                        Piwik::checkUserHasViewAccess($idSite); 
    278275                } 
    279 //              $pageDetails = $this->loadLastVisitedPagesInLastXDaysFromDatabase(null, $idSite, $limit, $minIdVisit, $days); 
    280                 $pageDetails = $this->loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, 0, $days, 2); 
    281  
    282                 $i = -1; 
    283                 foreach ($pageDetails as $detail) { 
    284                         $i++; 
    285                         if(strlen($pageDetails[$i]['name']) > 30) { 
    286                                 $pageDetails[$i]['name']  = substr($pageDetails[$i]['name'] , 0, 30 - 3).'...'; 
    287                         } 
    288                 } 
     276                $visitorData = self::loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, 0, $days, 2); 
    289277 
    290                 return $pageDetails; 
     278                return $visitorData; 
    291279        } 
    292280 
    293281        /* 
     
    303291                { 
    304292                        Piwik::checkUserHasViewAccess($idSite); 
    305293                } 
    306 //              $pageDetails = $this->loadLastVisitedPagesInLastXMinFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes); 
    307                 $pageDetails = $this->loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes, 0, 2); 
     294                $visitorData = self::loadLastVisitorInLastXTimeFromDatabase(null, $idSite, $limit, $minIdVisit, $minutes, 0, 2); 
    308295 
    309                 $i = -1; 
    310                 foreach ($pageDetails as $detail) { 
    311                         $i++; 
    312                         if(strlen($pageDetails[$i]['name']) > 30) { 
    313                                 $pageDetails[$i]['name']  = substr($pageDetails[$i]['name'] , 0, 30 - 3).'...'; 
    314                         } 
    315                 } 
    316                 return $pageDetails; 
     296                return $visitorData; 
    317297        } 
    318298 
    319299 
     
    412392                // return $sql by fetching 
    413393                return Piwik_FetchAll($sql, $whereBind); 
    414394        } 
    415 } 
     395 
     396} 
     397 No newline at end of file 
  • plugins/Live/Controller.php

     
    176176        { 
    177177                $view = Piwik_View::factory('totalVisits'); 
    178178                $this->setGeneralVariablesView($view); 
     179                 
     180                $view->visitorsCountHalfHour = 0;  
     181                $view->visitorsCountToday = 0; 
     182                $view->pisHalfhour = 0; 
     183                $view->pisToday = 0; 
     184 
    179185                $view->visitorsCountHalfHour = $this->getUsersInLastXMin(30); 
    180186                $view->visitorsCountToday = $this->getUsersInLastXDays(1); 
    181187                $view->pisHalfhour = $this->getPageImpressionsInLastXMin(30);