Ticket #1120: Live.patch
| File Live.patch, 6.0 KB (added by jr-ewing, 2 years ago) |
|---|
-
plugins/Live/API.php
56 56 { 57 57 Piwik::checkUserHasViewAccess($idSite); 58 58 } 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); 61 62 62 63 return $table; 63 64 } … … 77 78 { 78 79 Piwik::checkUserHasViewAccess($idSite); 79 80 } 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); 82 83 83 84 return $table; 84 85 } … … 97 98 { 98 99 Piwik::checkUserHasViewAccess($idSite); 99 100 } 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); 102 103 // $dataTable->queueFilter('ColumnCallbackAddMetadata', array('operatingSystem', 'icon', 'Piwik_Live_Visitor::getVisitLength()')); 103 104 104 105 return $dataTable; … … 108 109 /* 109 110 * @return Piwik_DataTable 110 111 */ 111 private function getCleanedVisitorsFromDetails($visitorDetails)112 static private function getCleanedVisitorsFromDetails($visitorDetails) 112 113 { 113 114 $table = new Piwik_DataTable(); 114 115 115 116 foreach($visitorDetails as $visitorDetail) 116 117 { 117 $this->cleanVisitorDetails($visitorDetail);118 self::cleanVisitorDetails($visitorDetail); 118 119 $visitor = new Piwik_Live_Visitor($visitorDetail); 119 120 120 121 // $visitorDetail must contain the match_atribute … … 193 194 ORDER BY idvisit DESC 194 195 LIMIT $limit"; 195 196 197 196 198 return Piwik_FetchAll($sql, $whereBind); 197 199 } 198 200 199 201 /* 200 202 * 201 203 */ 202 private function cleanVisitorDetails( &$visitorDetails )204 static private function cleanVisitorDetails( &$visitorDetails ) 203 205 { 204 206 $toUnset = array('config_md5config'); 205 207 if(!Piwik::isUserIsSuperUser()) … … 219 221 220 222 221 223 /* 222 * @return Piwik_DataTable224 * @return Array 223 225 */ 224 226 public function getUsersInLastXMin( $idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30 ) 225 227 { … … 231 233 { 232 234 Piwik::checkUserHasViewAccess($idSite); 233 235 } 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); 238 238 239 return $ table;239 return $visitorData; 240 240 } 241 241 242 242 /* 243 * @return Piwik_DataTable243 * @return Array 244 244 */ 245 245 public function getUsersInLastXDays( $idSite = false, $limit = 10, $minIdVisit = false, $days = 10 ) 246 246 { … … 253 253 { 254 254 Piwik::checkUserHasViewAccess($idSite); 255 255 } 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); 258 257 259 $table = $this->getCleanedVisitorsFromDetails($visitorDetails); 260 261 return $table; 258 return $visitorData; 262 259 } 263 260 264 261 /* … … 276 273 { 277 274 Piwik::checkUserHasViewAccess($idSite); 278 275 } 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); 289 277 290 return $ pageDetails;278 return $visitorData; 291 279 } 292 280 293 281 /* … … 303 291 { 304 292 Piwik::checkUserHasViewAccess($idSite); 305 293 } 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); 308 295 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; 317 297 } 318 298 319 299 … … 412 392 // return $sql by fetching 413 393 return Piwik_FetchAll($sql, $whereBind); 414 394 } 415 } 395 396 } 397 No newline at end of file -
plugins/Live/Controller.php
176 176 { 177 177 $view = Piwik_View::factory('totalVisits'); 178 178 $this->setGeneralVariablesView($view); 179 180 $view->visitorsCountHalfHour = 0; 181 $view->visitorsCountToday = 0; 182 $view->pisHalfhour = 0; 183 $view->pisToday = 0; 184 179 185 $view->visitorsCountHalfHour = $this->getUsersInLastXMin(30); 180 186 $view->visitorsCountToday = $this->getUsersInLastXDays(1); 181 187 $view->pisHalfhour = $this->getPageImpressionsInLastXMin(30);
