From 0c65b7c72d8cd425d50f8bf33c550e1de47dae8b Mon Sep 17 00:00:00 2001
From: robocoder <anthon.pang@gmail.com>
Date: Sat, 30 Jan 2010 01:51:09 +0000
Subject: [PATCH] fixes #1122

git-svn-id: http://dev.piwik.org/svn/trunk@1817 59fd770c-687e-43c8-a1e3-f5a4ff64c105
---
 core/Log.php                                |  2 +-
 core/Log/APICall.php                        |  2 +-
 core/Log/Error.php                          |  2 +-
 core/Log/Exception.php                      |  2 +-
 core/Log/Message.php                        |  2 +-
 plugins/Actions/API.php                     | 22 +++----
 plugins/ExampleAPI/API.php                  | 16 +++---
 plugins/ExampleUI/API.php                   | 10 ++--
 plugins/Goals/API.php                       | 34 +++++------
 plugins/Live/API.php                        | 28 ++++-----
 plugins/Provider/API.php                    |  2 +-
 plugins/Provider/Provider.php               |  4 +-
 plugins/Referers/API.php                    | 64 ++++++++++-----------
 plugins/SitesManager/API.php                |  2 +-
 plugins/UserCountry/API.php                 | 12 ++--
 plugins/UserSettings/API.php                | 31 +++++-----
 plugins/VisitFrequency/API.php              | 28 ++++-----
 plugins/VisitTime/API.php                   | 10 ++--
 plugins/VisitorInterest/API.php             | 10 ++--
 plugins/VisitorInterest/VisitorInterest.php |  4 +-
 plugins/VisitsSummary/API.php               | 20 +++----
 21 files changed, 154 insertions(+), 153 deletions(-)

diff --git a/core/Log.php b/core/Log.php
index e315d80920..baea6f2227 100644
--- a/core/Log.php
+++ b/core/Log.php
@@ -90,7 +90,7 @@ abstract class Piwik_Log extends Zend_Log
 	/**
 	 * Log an event
 	 */
-	public function log($event, $priority)
+	public function log($event, $priority, $extras = null)
 	{
 		// sanity checks
 		if (empty($this->_writers)) {
diff --git a/core/Log/APICall.php b/core/Log/APICall.php
index ae390798b4..5f70d37793 100644
--- a/core/Log/APICall.php
+++ b/core/Log/APICall.php
@@ -47,7 +47,7 @@ class Piwik_Log_APICall extends Piwik_Log
 		$event['execution_time'] = $executionTime;
 		$event['returned_value'] = is_array($returnedValue) ? serialize($returnedValue) : $returnedValue;
 		
-		parent::log($event, Piwik_Log::INFO);
+		parent::log($event, Piwik_Log::INFO, null);
 	}
 }
 
diff --git a/core/Log/Error.php b/core/Log/Error.php
index 7c41fa91e6..578c3ebf4c 100644
--- a/core/Log/Error.php
+++ b/core/Log/Error.php
@@ -51,7 +51,7 @@ class Piwik_Log_Error extends Piwik_Log
 		$event['errline'] = $errline;
 		$event['backtrace'] = $backtrace;
 		
-		parent::log($event, Piwik_Log::ERR);
+		parent::log($event, Piwik_Log::ERR, null);
 	}
 }
 
diff --git a/core/Log/Exception.php b/core/Log/Exception.php
index 6ae10b64cd..827a8e2c97 100644
--- a/core/Log/Exception.php
+++ b/core/Log/Exception.php
@@ -52,7 +52,7 @@ class Piwik_Log_Exception extends Piwik_Log
 		$event['errline'] 	= $exception->getLine();
 		$event['backtrace'] = $exception->getTraceAsString();
 
-		parent::log($event, Piwik_Log::CRIT);
+		parent::log($event, Piwik_Log::CRIT, null);
 	}
 }
 
diff --git a/core/Log/Message.php b/core/Log/Message.php
index 239fd1bc53..f5b1120a2e 100644
--- a/core/Log/Message.php
+++ b/core/Log/Message.php
@@ -38,7 +38,7 @@ class Piwik_Log_Message extends Piwik_Log
 	{
 		$event = array();
 		$event['message'] = $message;
-		parent::log($event, Piwik_Log::INFO);
+		parent::log($event, Piwik_Log::INFO, null);
 	}
 }
 
diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php
index 658d5da13f..ba9c3d1b35 100644
--- a/plugins/Actions/API.php
+++ b/plugins/Actions/API.php
@@ -29,7 +29,7 @@ class Piwik_Actions_API
 		return self::$instance;
 	}
 	
-	protected function getDataTable($name, $idSite, $period, $date, $expanded, $idSubtable )
+	static protected function getDataTable($name, $idSite, $period, $date, $expanded, $idSubtable )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -55,31 +55,31 @@ class Piwik_Actions_API
 	 * Backward compatibility. Fallsback to getPageTitles() instead.
 	 * @deprecated Deprecated since Piwik 0.5
 	 */
-	public function getActions( $idSite, $period, $date, $expanded = false, $idSubtable = false )
+	static public function getActions( $idSite, $period, $date, $expanded = false, $idSubtable = false )
 	{
-	    return $this->getPageTitles( $idSite, $period, $date, $expanded, $idSubtable );
+	    return self::getPageTitles( $idSite, $period, $date, $expanded, $idSubtable );
 	}
 	
-	public function getPageUrls( $idSite, $period, $date, $expanded = false, $idSubtable = false )
+	static public function getPageUrls( $idSite, $period, $date, $expanded = false, $idSubtable = false )
 	{
-		return $this->getDataTable('Actions_actions_url', $idSite, $period, $date, $expanded, $idSubtable );
+		return self::getDataTable('Actions_actions_url', $idSite, $period, $date, $expanded, $idSubtable );
 	}
 
-	public function getPageTitles( $idSite, $period, $date, $expanded = false, $idSubtable = false)
+	static public function getPageTitles( $idSite, $period, $date, $expanded = false, $idSubtable = false)
 	{
-		$dataTable = $this->getDataTable('Actions_actions', $idSite, $period, $date, $expanded, $idSubtable);
+		$dataTable = self::getDataTable('Actions_actions', $idSite, $period, $date, $expanded, $idSubtable);
 		return $dataTable;
 	}
 
-	public function getDownloads( $idSite, $period, $date, $expanded = false, $idSubtable = false )
+	static public function getDownloads( $idSite, $period, $date, $expanded = false, $idSubtable = false )
 	{
-		$dataTable = $this->getDataTable('Actions_downloads', $idSite, $period, $date, $expanded, $idSubtable );
+		$dataTable = self::getDataTable('Actions_downloads', $idSite, $period, $date, $expanded, $idSubtable );
 		return $dataTable;
 	}
 
-	public function getOutlinks( $idSite, $period, $date, $expanded = false, $idSubtable = false )
+	static public function getOutlinks( $idSite, $period, $date, $expanded = false, $idSubtable = false )
 	{
-		$dataTable = $this->getDataTable('Actions_outlink', $idSite, $period, $date, $expanded, $idSubtable );
+		$dataTable = self::getDataTable('Actions_outlink', $idSite, $period, $date, $expanded, $idSubtable );
 		return $dataTable;
 	}
 }
diff --git a/plugins/ExampleAPI/API.php b/plugins/ExampleAPI/API.php
index ce568e13d5..bcddbb3ba6 100644
--- a/plugins/ExampleAPI/API.php
+++ b/plugins/ExampleAPI/API.php
@@ -41,7 +41,7 @@ class Piwik_ExampleAPI_API
 	 * Get Piwik version
 	 * @return string
 	 */
-	public function getPiwikVersion()
+	static public function getPiwikVersion()
 	{
 		Piwik::checkUserHasSomeViewAccess();
 		return Piwik_Version::VERSION;
@@ -51,7 +51,7 @@ class Piwik_ExampleAPI_API
 	 * Get Answer to Life
 	 * @return integer
 	 */
-	public function getAnswerToLife()
+	static public function getAnswerToLife()
 	{
 		return 42;
 	}
@@ -60,7 +60,7 @@ class Piwik_ExampleAPI_API
 	 * Get Golden Ratio
 	 * @return float
 	 */
-	public function getGoldenRatio()
+	static public function getGoldenRatio()
 	{
 		//http://en.wikipedia.org/wiki/Golden_ratio
 		return 1.618033988749894848204586834365;
@@ -70,7 +70,7 @@ class Piwik_ExampleAPI_API
 	 * Get object
 	 * @return Piwik_MagicObject
 	 */
-	public function getObject()
+	static public function getObject()
 	{
 		return new Piwik_MagicObject();
 	}
@@ -79,7 +79,7 @@ class Piwik_ExampleAPI_API
 	 * Get null
 	 * @return null
 	 */
-	public function getNull()
+	static public function getNull()
 	{
 		return null;
 	}
@@ -88,7 +88,7 @@ class Piwik_ExampleAPI_API
 	 * Get array of descriptive text
 	 * @return array
 	 */
-	public function getDescriptionArray()
+	static public function getDescriptionArray()
 	{
 		return array('piwik','open source','web analytics','free');
 	}
@@ -97,7 +97,7 @@ class Piwik_ExampleAPI_API
 	 * Get data table
 	 * @return Piwik_DataTable
 	 */
-	public function getCompetitionDatatable()
+	static public function getCompetitionDatatable()
 	{
 		$dataTable = new Piwik_DataTable();
 
@@ -114,7 +114,7 @@ class Piwik_ExampleAPI_API
 	 * Get more information on the Answer to Life...
 	 * @return string
 	 */
-	public function getMoreInformationAnswerToLife()
+	static public function getMoreInformationAnswerToLife()
 	{
 		return "Check http://en.wikipedia.org/wiki/The_Answer_to_Life,_the_Universe,_and_Everything";
 	}
diff --git a/plugins/ExampleUI/API.php b/plugins/ExampleUI/API.php
index 1a606d0f16..a3cabe9672 100644
--- a/plugins/ExampleUI/API.php
+++ b/plugins/ExampleUI/API.php
@@ -26,7 +26,7 @@ class Piwik_ExampleUI_API
 		return self::$instance;
 	}
 	
-	function getTemperaturesEvolution($date, $period)
+	static public function getTemperaturesEvolution($date, $period)
 	{
 		$period = new Piwik_Period_Range($period, 'last30');
 		$dateStart = $period->getDateStart()->get('Y-m-d'); // eg. "2009-04-01"
@@ -56,7 +56,7 @@ class Piwik_ExampleUI_API
 	}
 	
 	// we generate an array of random server temperatures
-	function getTemperatures()
+	static public function getTemperatures()
 	{
 		$xAxis = array(
 			'0h', '1h', '2h', '3h', '4h', '5h', '6h', '7h', '8h', '9h', '10h', '11h', 
@@ -75,7 +75,7 @@ class Piwik_ExampleUI_API
 		return $dataTable;
 	}
 	
-	function getPlanetRatios()
+	static public function getPlanetRatios()
 	{
 		$planetRatios = array(
 			'Mercury' => 0.382,
@@ -93,9 +93,9 @@ class Piwik_ExampleUI_API
 		return $dataTable;
 	}
 	
-	function getPlanetRatiosWithLogos()
+	static public function getPlanetRatiosWithLogos()
 	{
-		$planetsDataTable = $this->getPlanetRatios();
+		$planetsDataTable = self::getPlanetRatios();
 		foreach($planetsDataTable->getRows() as $row)
 		{
 			$row->addMetadata('logo', "plugins/ExampleUI/images/icons-planet/".strtolower($row->getColumn('label').".png"));
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php
index 5ed95fd68b..07e26760c2 100644
--- a/plugins/Goals/API.php
+++ b/plugins/Goals/API.php
@@ -47,7 +47,7 @@ class Piwik_Goals_API
 		return $cleanedGoals;
 	}
 
-	public function addGoal( $idSite, $name, $matchAttribute, $pattern, $patternType, $caseSensitive, $revenue )
+	static public function addGoal( $idSite, $name, $matchAttribute, $pattern, $patternType, $caseSensitive, $revenue )
 	{
 		Piwik::checkUserHasAdminAccess($idSite);
 		// save in db
@@ -78,7 +78,7 @@ class Piwik_Goals_API
 		return $idGoal;
 	}
 	
-	public function updateGoal( $idSite, $idGoal, $name, $matchAttribute, $pattern, $patternType, $caseSensitive, $revenue )
+	static public function updateGoal( $idSite, $idGoal, $name, $matchAttribute, $pattern, $patternType, $caseSensitive, $revenue )
 	{
 		Piwik::checkUserHasAdminAccess($idSite);
 		$name = self::checkName($name);
@@ -98,7 +98,7 @@ class Piwik_Goals_API
 		Piwik_Common::regenerateCacheWebsiteAttributes($idSite);
 	}
 
-	private function checkPatternIsValid($patternType, $pattern)
+	static private function checkPatternIsValid($patternType, $pattern)
 	{
 		if($patternType == 'exact' 
 			&& substr($pattern, 0, 4) != 'http')
@@ -108,17 +108,17 @@ class Piwik_Goals_API
 		}
 	}
 	
-	private function checkName($name)
+	static private function checkName($name)
 	{
 		return urldecode($name);
 	}
 	
-	private function checkPattern($pattern)
+	static private function checkPattern($pattern)
 	{
 		return urldecode($pattern);
 	}
 	
-	public function deleteGoal( $idSite, $idGoal )
+	static public function deleteGoal( $idSite, $idGoal )
 	{
 		Piwik::checkUserHasAdminAccess($idSite);
 		Piwik_Query("UPDATE ".Piwik::prefixTable('goal')."
@@ -130,17 +130,17 @@ class Piwik_Goals_API
 		Piwik_Common::regenerateCacheWebsiteAttributes($idSite);
 	}
 	
-//	public function getConversionsReturningVisitors( $idSite, $period, $date, $idGoal = false )
+//	static public function getConversionsReturningVisitors( $idSite, $period, $date, $idGoal = false )
 //	{
 //		
 //	}
 //	
-//	public function getConversionsNewVisitors( $idSite, $period, $date, $idGoal = false )
+//	static public function getConversionsNewVisitors( $idSite, $period, $date, $idGoal = false )
 //	{
 //		
 //	}
 	
-	public function getConversionRateReturningVisitors( $idSite, $period, $date, $idGoal = false )
+	static public function getConversionRateReturningVisitors( $idSite, $period, $date, $idGoal = false )
 	{
 		// visits converted for returning for all goals = call Frequency API
 		if($idGoal === false)
@@ -151,7 +151,7 @@ class Piwik_Goals_API
 		// visits converted for returning = nb conversion for this goal
 		else
 		{
-			$nbVisitsConvertedReturningVisitors = $this->getNumeric($idSite, $period, $date, Piwik_Goals::getRecordName('nb_conversions', $idGoal, 1));
+			$nbVisitsConvertedReturningVisitors = self::getNumeric($idSite, $period, $date, Piwik_Goals::getRecordName('nb_conversions', $idGoal, 1));
 		}
 		// all returning visits
 		$request = new Piwik_API_Request("method=VisitFrequency.getVisitsReturning&idSite=$idSite&period=$period&date=$date&format=original");
@@ -162,7 +162,7 @@ class Piwik_Goals_API
 		return Piwik::getPercentageSafe($nbVisitsConvertedReturningVisitors, $nbVisitsReturning, Piwik_Goals::ROUNDING_PRECISION);
 	}
 
-	public function getConversionRateNewVisitors( $idSite, $period, $date, $idGoal = false )
+	static public function getConversionRateNewVisitors( $idSite, $period, $date, $idGoal = false )
 	{
 		// new visits converted for all goals = nb visits converted - nb visits converted for returning
 		if($idGoal == false)
@@ -176,7 +176,7 @@ class Piwik_Goals_API
 		// new visits converted for a given goal = nb conversion for this goal for new visits
 		else
 		{
-			$convertedNewVisits = $this->getNumeric($idSite, $period, $date, Piwik_Goals::getRecordName('nb_conversions', $idGoal, 0));
+			$convertedNewVisits = self::getNumeric($idSite, $period, $date, Piwik_Goals::getRecordName('nb_conversions', $idGoal, 0));
 		}
 		// all new visits = all visits - all returning visits 
 		$request = new Piwik_API_Request("method=VisitFrequency.getVisitsReturning&idSite=$idSite&period=$period&date=$date&format=original");
@@ -187,7 +187,7 @@ class Piwik_Goals_API
 		return Piwik::getPercentageSafe($convertedNewVisits, $newVisits, Piwik_Goals::ROUNDING_PRECISION);
 	}
 	
-	public function get( $idSite, $period, $date, $idGoal = false, $columns = array() )
+	static public function get( $idSite, $period, $date, $idGoal = false, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -211,7 +211,7 @@ class Piwik_Goals_API
 		return $dataTable;
 	}
 	
-	protected static function getNumeric( $idSite, $period, $date, $toFetch )
+	static protected function getNumeric( $idSite, $period, $date, $toFetch )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -219,17 +219,17 @@ class Piwik_Goals_API
 		return $dataTable;		
 	}
 
-	public function getConversions( $idSite, $period, $date, $idGoal = false )
+	static public function getConversions( $idSite, $period, $date, $idGoal = false )
 	{
 		return self::getNumeric( $idSite, $period, $date, Piwik_Goals::getRecordName('nb_conversions', $idGoal));
 	}
 	
-	public function getConversionRate( $idSite, $period, $date, $idGoal = false )
+	static public function getConversionRate( $idSite, $period, $date, $idGoal = false )
 	{
 		return self::getNumeric( $idSite, $period, $date, Piwik_Goals::getRecordName('conversion_rate', $idGoal));
 	}
 	
-	public function getRevenue( $idSite, $period, $date, $idGoal = false )
+	static public function getRevenue( $idSite, $period, $date, $idGoal = false )
 	{
 		return self::getNumeric( $idSite, $period, $date, Piwik_Goals::getRecordName('revenue', $idGoal));
 	}
diff --git a/plugins/Live/API.php b/plugins/Live/API.php
index 950bd64ee6..02c8cb9dde 100644
--- a/plugins/Live/API.php
+++ b/plugins/Live/API.php
@@ -38,15 +38,15 @@ class Piwik_Live_API
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getLastVisitForVisitor( $visitorId, $idSite = null )
+	static public function getLastVisitForVisitor( $visitorId, $idSite = null )
 	{
-		return $this->getLastVisitsForVisitor($visitorId, $idSite, 1);
+		return self::getLastVisitsForVisitor($visitorId, $idSite, 1);
 	}
 	
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getLastVisitsForVisitor( $visitorId, $idSite, $limit = 10 )
+	static public function getLastVisitsForVisitor( $visitorId, $idSite, $limit = 10 )
 	{
 		if(is_null($idSite))
 		{
@@ -64,7 +64,7 @@ class Piwik_Live_API
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getLastVisits( $idSite = false, $limit = 10, $minIdVisit = false )
+	static public function getLastVisits( $idSite = false, $limit = 10, $minIdVisit = false )
 	{
 		// for checking given vars
 		// echo $idSite.'|'.$limit.'|'.$minIdVisit.'<br>';
@@ -85,7 +85,7 @@ class Piwik_Live_API
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getLastVisitsDetails( $idSite = false, $limit = 1000, $minIdVisit = false )
+	static public function getLastVisitsDetails( $idSite = false, $limit = 1000, $minIdVisit = false )
 	{
 		// for checking given vars
 		// echo $idSite.'|'.$limit.'|'.$minIdVisit.'<br>';
@@ -146,7 +146,7 @@ class Piwik_Live_API
 	/*
 	 * @return array
 	 */
-	private function loadLastVisitorDetailsFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false )
+	static private function loadLastVisitorDetailsFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false )
 	{
 		// for checking given vars
 		// echo $visitorId.'|'.$idSite.'|'.$limit.'|'.$minIdVisit.'<br>';		
@@ -210,7 +210,7 @@ class Piwik_Live_API
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getUsersInLastXMin( $idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30 )
+	static public function getUsersInLastXMin( $idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30 )
 	{
 		if(is_null($idSite))
 		{
@@ -229,7 +229,7 @@ class Piwik_Live_API
 	/*
 	 * @return Piwik_DataTable
 	 */
-	public function getUsersInLastXDays( $idSite = false, $limit = 10, $minIdVisit = false, $days = 10 )
+	static public function getUsersInLastXDays( $idSite = false, $limit = 10, $minIdVisit = false, $days = 10 )
 	{
 	
 		if(is_null($idSite))
@@ -250,7 +250,7 @@ class Piwik_Live_API
 	/*
 	 * @return array
 	 */	
-	public function getPageImpressionsInLastXDays($idSite = false, $limit = 10, $minIdVisit = false, $days = 10){
+	static public function getPageImpressionsInLastXDays($idSite = false, $limit = 10, $minIdVisit = false, $days = 10){
 		// for checking given vars
 		#echo $idSite.'|'.$limit.'|'.$minIdVisit.'|'.$days.'<br>';
 			
@@ -278,7 +278,7 @@ class Piwik_Live_API
 	/*
 	 * @return array
 	 */	
-	public function getPageImpressionsInLastXMin($idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30){
+	static public function getPageImpressionsInLastXMin($idSite = false, $limit = 10, $minIdVisit = false, $minutes = 30){
 
 		if(is_null($idSite))
 		{
@@ -307,7 +307,7 @@ class Piwik_Live_API
 	 * TODO should be refactored with function below
 	 * @return array
 	 */
-	private function loadLastVisitorDetailsInLastXMinFromDatabase($visitorId = null, $idSite = null, $limit = 1000, $minIdVisit = false, $minutes = 0 )
+	static private function loadLastVisitorDetailsInLastXMinFromDatabase($visitorId = null, $idSite = null, $limit = 1000, $minIdVisit = false, $minutes = 0 )
 	{
 		$where = $whereBind = array();
 		
@@ -354,7 +354,7 @@ class Piwik_Live_API
 	 * TODO should be refactored with function above
 	 * @return array
 	 */
-	private function loadLastVisitorDetailsInLastXDaysFromDatabase($visitorId = null, $idSite = null, $limit = 1000, $minIdVisit = false, $days = 0 )
+	static private function loadLastVisitorDetailsInLastXDaysFromDatabase($visitorId = null, $idSite = null, $limit = 1000, $minIdVisit = false, $days = 0 )
 	{
 		$where = $whereBind = array();
 		
@@ -401,7 +401,7 @@ class Piwik_Live_API
 	 * TODO should be refactored with function above
 	 * @return array
 	 */
-	private function loadLastVisitedPagesInLastXMinFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false, $minutes = 0 )
+	static private function loadLastVisitedPagesInLastXMinFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false, $minutes = 0 )
 	{
 		$where = $whereBind = array();
 		
@@ -448,7 +448,7 @@ class Piwik_Live_API
 	 * TODO should be refactored with function above
 	 * @return array
 	 */
-	private function loadLastVisitedPagesInLastXDaysFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false, $days = 0 )
+	static private function loadLastVisitedPagesInLastXDaysFromDatabase($visitorId = null, $idSite = null, $limit = null, $minIdVisit = false, $days = 0 )
 	{
 		$where = $whereBind = array();
 		
diff --git a/plugins/Provider/API.php b/plugins/Provider/API.php
index 9f29baba58..72275bbc9a 100644
--- a/plugins/Provider/API.php
+++ b/plugins/Provider/API.php
@@ -36,7 +36,7 @@ class Piwik_Provider_API
 		return self::$instance;
 	}
 
-	public function getProvider( $idSite, $period, $date )
+	static public function getProvider( $idSite, $period, $date )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php
index cb33c8919e..1260fc365e 100644
--- a/plugins/Provider/Provider.php
+++ b/plugins/Provider/Provider.php
@@ -180,13 +180,13 @@ class Piwik_Provider extends Piwik_Plugin
 		return trim(strtolower(@gethostbyaddr(long2ip($ip))));
 	}
 
-	public function headerUserCountry($notification)
+	static public function headerUserCountry($notification)
 	{
 		$out =& $notification->getNotificationObject();
 		$out = '<div id="leftcolumn">';
 	}
 	
-	public function footerUserCountry($notification)
+	static public function footerUserCountry($notification)
 	{
 		$out =& $notification->getNotificationObject();
 		$out = '</div>
diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php
index decd1cbd2f..7e261feff3 100644
--- a/plugins/Referers/API.php
+++ b/plugins/Referers/API.php
@@ -38,7 +38,7 @@ class Piwik_Referers_API
 	/**
 	 * @return Piwik_DataTable
 	 */
-	protected function getDataTable($name, $idSite, $period, $date, $expanded, $idSubtable = null)
+	static protected function getDataTable($name, $idSite, $period, $date, $expanded, $idSubtable = null)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -57,9 +57,9 @@ class Piwik_Referers_API
 		return $dataTable;
 	}
 	
-	function getRefererType($idSite, $period, $date, $typeReferer = false)
+	static public function getRefererType($idSite, $period, $date, $typeReferer = false)
 	{
-		$dataTable = $this->getDataTable('Referers_type', $idSite, $period, $date, $expanded = false);
+		$dataTable = self::getDataTable('Referers_type', $idSite, $period, $date, $expanded = false);
 		if($typeReferer !== false)
 		{
 			$dataTable->filter('Pattern', array('label', $typeReferer));
@@ -68,97 +68,97 @@ class Piwik_Referers_API
 		return $dataTable;
 	}
 	
-	function getKeywords($idSite, $period, $date, $expanded = false)
+	static public function getKeywords($idSite, $period, $date, $expanded = false)
 	{
-		$dataTable = $this->getDataTable('Referers_searchEngineByKeyword', $idSite, $period, $date, $expanded);
+		$dataTable = self::getDataTable('Referers_searchEngineByKeyword', $idSite, $period, $date, $expanded);
 		return $dataTable;
 	}
 
-	function getSearchEnginesFromKeywordId($idSite, $period, $date, $idSubtable)
+	static public function getSearchEnginesFromKeywordId($idSite, $period, $date, $idSubtable)
 	{
-		$dataTable = $this->getDataTable('Referers_searchEngineByKeyword',$idSite, $period, $date, $expanded = false, $idSubtable);
+		$dataTable = self::getDataTable('Referers_searchEngineByKeyword',$idSite, $period, $date, $expanded = false, $idSubtable);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array( 'label', 'url', 'Piwik_getSearchEngineUrlFromName') );
 		$dataTable->queueFilter('MetadataCallbackAddMetadata', array( 'url', 'logo', 'Piwik_getSearchEngineLogoFromUrl') );
 		
 		// get the keyword and create the URL to the search result page
-		$keywords = $this->getKeywords($idSite, $period, $date);
+		$keywords = self::getKeywords($idSite, $period, $date);
 		$keyword = $keywords->getRowFromIdSubDataTable($idSubtable)->getColumn('label');
 		$dataTable->queueFilter('MetadataCallbackReplace', array( 'url', 'Piwik_getSearchEngineUrlFromUrlAndKeyword', array($keyword)) );
 		return $dataTable;
 	}
 
-	function getSearchEngines($idSite, $period, $date, $expanded = false)
+	static public function getSearchEngines($idSite, $period, $date, $expanded = false)
 	{
-		$dataTable = $this->getDataTable('Referers_keywordBySearchEngine',$idSite, $period, $date, $expanded);
+		$dataTable = self::getDataTable('Referers_keywordBySearchEngine',$idSite, $period, $date, $expanded);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array( 'label', 'url', 'Piwik_getSearchEngineUrlFromName') );
 		$dataTable->queueFilter('MetadataCallbackAddMetadata', array( 'url', 'logo', 'Piwik_getSearchEngineLogoFromUrl') );
 		return $dataTable;
 	}
 
-	function getKeywordsFromSearchEngineId($idSite, $period, $date, $idSubtable)
+	static public function getKeywordsFromSearchEngineId($idSite, $period, $date, $idSubtable)
 	{
-		$dataTable = $this->getDataTable('Referers_keywordBySearchEngine',$idSite, $period, $date, $expanded = false, $idSubtable);
+		$dataTable = self::getDataTable('Referers_keywordBySearchEngine',$idSite, $period, $date, $expanded = false, $idSubtable);
 		
 		// get the search engine and create the URL to the search result page
-		$searchEngines = $this->getSearchEngines($idSite, $period, $date);
+		$searchEngines = self::getSearchEngines($idSite, $period, $date);
 		$searchEngines->applyQueuedFilters();
 		$searchEngineUrl = $searchEngines->getRowFromIdSubDataTable($idSubtable)->getMetadata('url');
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array( 'label', 'url', 'Piwik_getSearchEngineUrlFromKeywordAndUrl', array($searchEngineUrl)));
 		return $dataTable;
 	}
 
-	function getCampaigns($idSite, $period, $date, $expanded = false)
+	static public function getCampaigns($idSite, $period, $date, $expanded = false)
 	{
-		$dataTable = $this->getDataTable('Referers_keywordByCampaign',$idSite, $period, $date, $expanded);
+		$dataTable = self::getDataTable('Referers_keywordByCampaign',$idSite, $period, $date, $expanded);
 		return $dataTable;
 	}
 
-	function getKeywordsFromCampaignId($idSite, $period, $date, $idSubtable)
+	static public function getKeywordsFromCampaignId($idSite, $period, $date, $idSubtable)
 	{
-		$dataTable = $this->getDataTable('Referers_keywordByCampaign',$idSite, $period, $date, $expanded = false, $idSubtable);
+		$dataTable = self::getDataTable('Referers_keywordByCampaign',$idSite, $period, $date, $expanded = false, $idSubtable);
 		return $dataTable;
 	}
 
-	function getWebsites($idSite, $period, $date, $expanded = false)
+	static public function getWebsites($idSite, $period, $date, $expanded = false)
 	{
-		$dataTable = $this->getDataTable('Referers_urlByWebsite',$idSite, $period, $date, $expanded);
+		$dataTable = self::getDataTable('Referers_urlByWebsite',$idSite, $period, $date, $expanded);
 		return $dataTable;
 	}
 	
-	function getUrlsFromWebsiteId($idSite, $period, $date, $idSubtable)
+	static public function getUrlsFromWebsiteId($idSite, $period, $date, $idSubtable)
 	{
-		$dataTable = $this->getDataTable('Referers_urlByWebsite',$idSite, $period, $date, $expanded = false, $idSubtable);
+		$dataTable = self::getDataTable('Referers_urlByWebsite',$idSite, $period, $date, $expanded = false, $idSubtable);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array( 'label', 'url', create_function('$label', 'return $label;')) );
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getPathFromUrl'));
 		return $dataTable;
 	}
 
-	function getNumberOfDistinctSearchEngines($idSite, $period, $date)
+	static public function getNumberOfDistinctSearchEngines($idSite, $period, $date)
 	{
-		return $this->getNumeric('Referers_distinctSearchEngines', $idSite, $period, $date);
+		return self::getNumeric('Referers_distinctSearchEngines', $idSite, $period, $date);
 	}
 
-	function getNumberOfDistinctKeywords($idSite, $period, $date)
+	static public function getNumberOfDistinctKeywords($idSite, $period, $date)
 	{
-		return $this->getNumeric('Referers_distinctKeywords', $idSite, $period, $date);
+		return self::getNumeric('Referers_distinctKeywords', $idSite, $period, $date);
 	}
 
-	function getNumberOfDistinctCampaigns($idSite, $period, $date)
+	static public function getNumberOfDistinctCampaigns($idSite, $period, $date)
 	{
-		return $this->getNumeric('Referers_distinctCampaigns', $idSite, $period, $date);
+		return self::getNumeric('Referers_distinctCampaigns', $idSite, $period, $date);
 	}
 
-	function getNumberOfDistinctWebsites($idSite, $period, $date)
+	static public function getNumberOfDistinctWebsites($idSite, $period, $date)
 	{
-		return $this->getNumeric('Referers_distinctWebsites', $idSite, $period, $date);
+		return self::getNumeric('Referers_distinctWebsites', $idSite, $period, $date);
 	}
 
-	function getNumberOfDistinctWebsitesUrls($idSite, $period, $date)
+	static public function getNumberOfDistinctWebsitesUrls($idSite, $period, $date)
 	{
-		return $this->getNumeric('Referers_distinctWebsitesUrls', $idSite, $period, $date);
+		return self::getNumeric('Referers_distinctWebsitesUrls', $idSite, $period, $date);
 	}
 
-	private function getNumeric($name, $idSite, $period, $date)
+	static private function getNumeric($name, $idSite, $period, $date)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php
index 81c660875f..0597395efb 100644
--- a/plugins/SitesManager/API.php
+++ b/plugins/SitesManager/API.php
@@ -249,7 +249,7 @@ class Piwik_SitesManager_API
 		return (int)$idSite;
 	}
 	
-	private static function postUpdateWebsite($idSite)
+	static private function postUpdateWebsite($idSite)
 	{
 		Piwik_Common::regenerateCacheWebsiteAttributes($idSite);	
 	}
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index 3b83786e9a..12e075bf8c 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -37,9 +37,9 @@ class Piwik_UserCountry_API
 		return self::$instance;
 	}
 	
-	public function getCountry( $idSite, $period, $date )
+	static public function getCountry( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserCountry_country', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserCountry_country', $idSite, $period, $date);
 		// apply filter on the whole datatable in order the inline search to work (searches are done on "beautiful" label)
 		$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'code', create_function('$label', 'return $label;')));
 		$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getFlagFromCode'));
@@ -49,15 +49,15 @@ class Piwik_UserCountry_API
 		return $dataTable;
 	}
 	
-	public function getContinent( $idSite, $period, $date )
+	static public function getContinent( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserCountry_continent', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserCountry_continent', $idSite, $period, $date);
 		$dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_ContinentTranslate'));
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'code', create_function('$label', 'return $label;')));
 		return $dataTable;
 	}
 	
-	protected function getDataTable($name, $idSite, $period, $date)
+	static protected function getDataTable($name, $idSite, $period, $date)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -67,7 +67,7 @@ class Piwik_UserCountry_API
 		return $dataTable;
 	}
 	
-	public function getNumberOfDistinctCountries($idSite, $period, $date)
+	static public function getNumberOfDistinctCountries($idSite, $period, $date)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php
index 8e3b65c734..e87de7efe6 100644
--- a/plugins/UserSettings/API.php
+++ b/plugins/UserSettings/API.php
@@ -35,7 +35,7 @@ class Piwik_UserSettings_API
 		return self::$instance;
 	}
 	
-	protected function getDataTable($name, $idSite, $period, $date)
+	static protected function getDataTable($name, $idSite, $period, $date)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -44,56 +44,57 @@ class Piwik_UserSettings_API
 		$dataTable->queueFilter('ReplaceColumnNames');
 		return $dataTable;
 	}
-	public function getResolution( $idSite, $period, $date )
+
+	static public function getResolution( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_resolution', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_resolution', $idSite, $period, $date);
 		return $dataTable;
 	}
 
-	public function getConfiguration( $idSite, $period, $date )
+	static public function getConfiguration( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_configuration', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_configuration', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getConfigurationLabel'));
 		return $dataTable;
 	}
 
-	public function getOS( $idSite, $period, $date )
+	static public function getOS( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_os', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_os', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getOSLogo'));
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array( 'label', 'shortLabel', 'Piwik_getOSShortLabel') );
 		$dataTable->queueFilter('ColumnCallbackReplace', array( 'label', 'Piwik_getOSLabel') );
 		return $dataTable;
 	}
 		
-	public function getBrowser( $idSite, $period, $date )
+	static public function getBrowser( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_browser', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_browser', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getBrowsersLogo'));
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'shortLabel', 'Piwik_getBrowserShortLabel'));
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getBrowserLabel'));
 		return $dataTable;
 	}
 	
-	public function getBrowserType( $idSite, $period, $date )
+	static public function getBrowserType( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_browserType', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_browserType', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'shortLabel', 'ucfirst'));
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getBrowserTypeLabel'));
 		return $dataTable;
 	}
 	
-	public function getWideScreen( $idSite, $period, $date )
+	static public function getWideScreen( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_wideScreen', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_wideScreen', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getScreensLogo'));
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'ucfirst'));
 		return $dataTable;
 	}
 	
-	public function getPlugin( $idSite, $period, $date )
+	static public function getPlugin( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('UserSettings_plugin', $idSite, $period, $date);
+		$dataTable = self::getDataTable('UserSettings_plugin', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', 'Piwik_getPluginsLogo'));
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'ucfirst'));
 		return $dataTable;
diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php
index 8e770d9007..61513a3edc 100644
--- a/plugins/VisitFrequency/API.php
+++ b/plugins/VisitFrequency/API.php
@@ -27,7 +27,7 @@ class Piwik_VisitFrequency_API
 		return self::$instance;
 	}
 	
-	public function get( $idSite, $period, $date, $columns = array() )
+	static public function get( $idSite, $period, $date, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -60,7 +60,7 @@ class Piwik_VisitFrequency_API
 		return $dataTable;
 	}
 
-	protected function getNumeric( $idSite, $period, $date, $toFetch )
+	static protected function getNumeric( $idSite, $period, $date, $toFetch )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -68,33 +68,33 @@ class Piwik_VisitFrequency_API
 		return $dataTable;		
 	}
 
-	public function getVisitsReturning( $idSite, $period, $date )
+	static public function getVisitsReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'nb_visits_returning');
+		return self::getNumeric( $idSite, $period, $date, 'nb_visits_returning');
 	}
 	
-	public function getActionsReturning( $idSite, $period, $date )
+	static public function getActionsReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'nb_actions_returning');
+		return self::getNumeric( $idSite, $period, $date, 'nb_actions_returning');
 	}
 	
-	public function getMaxActionsReturning( $idSite, $period, $date )
+	static public function getMaxActionsReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'max_actions_returning');
+		return self::getNumeric( $idSite, $period, $date, 'max_actions_returning');
 	}
 	
-	public function getSumVisitsLengthReturning( $idSite, $period, $date )
+	static public function getSumVisitsLengthReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'sum_visit_length_returning');
+		return self::getNumeric( $idSite, $period, $date, 'sum_visit_length_returning');
 	}
 	
-	public function getBounceCountReturning( $idSite, $period, $date )
+	static public function getBounceCountReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'bounce_count_returning');
+		return self::getNumeric( $idSite, $period, $date, 'bounce_count_returning');
 	}
 	
-	public function getConvertedVisitsReturning( $idSite, $period, $date )
+	static public function getConvertedVisitsReturning( $idSite, $period, $date )
 	{
-		return $this->getNumeric( $idSite, $period, $date, 'nb_visits_converted_returning');
+		return self::getNumeric( $idSite, $period, $date, 'nb_visits_converted_returning');
 	}
 }
diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php
index 8869bc4a07..e37e2a716b 100644
--- a/plugins/VisitTime/API.php
+++ b/plugins/VisitTime/API.php
@@ -27,7 +27,7 @@ class Piwik_VisitTime_API
 		return self::$instance;
 	}
 	
-	protected function getDataTable($name, $idSite, $period, $date )
+	static protected function getDataTable($name, $idSite, $period, $date )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -38,14 +38,14 @@ class Piwik_VisitTime_API
 		return $dataTable;
 	}
 	
-	public function getVisitInformationPerLocalTime( $idSite, $period, $date )
+	static public function getVisitInformationPerLocalTime( $idSite, $period, $date )
 	{
-		return $this->getDataTable('VisitTime_localTime', $idSite, $period, $date );
+		return self::getDataTable('VisitTime_localTime', $idSite, $period, $date );
 	}
 	
-	public function getVisitInformationPerServerTime( $idSite, $period, $date )
+	static public function getVisitInformationPerServerTime( $idSite, $period, $date )
 	{
-		return $this->getDataTable('VisitTime_serverTime', $idSite, $period, $date );
+		return self::getDataTable('VisitTime_serverTime', $idSite, $period, $date );
 	}
 }
 
diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php
index ad2aeb42fa..e7971ba5fd 100644
--- a/plugins/VisitorInterest/API.php
+++ b/plugins/VisitorInterest/API.php
@@ -27,7 +27,7 @@ class Piwik_VisitorInterest_API
 		return self::$instance;
 	}
 
-	protected function getDataTable($name, $idSite, $period, $date)
+	static protected function getDataTable($name, $idSite, $period, $date)
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -38,16 +38,16 @@ class Piwik_VisitorInterest_API
 		return $dataTable;
 	}
 	
-	public function getNumberOfVisitsPerVisitDuration( $idSite, $period, $date )
+	static public function getNumberOfVisitsPerVisitDuration( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('VisitorInterest_timeGap', $idSite, $period, $date);
+		$dataTable = self::getDataTable('VisitorInterest_timeGap', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getDurationLabel'));
 		return $dataTable;
 	}
 
-	public function getNumberOfVisitsPerPage( $idSite, $period, $date )
+	static public function getNumberOfVisitsPerPage( $idSite, $period, $date )
 	{
-		$dataTable = $this->getDataTable('VisitorInterest_pageGap', $idSite, $period, $date);
+		$dataTable = self::getDataTable('VisitorInterest_pageGap', $idSite, $period, $date);
 		$dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getPageGapLabel'));
 		return $dataTable;
 	}
diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php
index 82738799f3..fa0f1a375c 100644
--- a/plugins/VisitorInterest/VisitorInterest.php
+++ b/plugins/VisitorInterest/VisitorInterest.php
@@ -159,13 +159,13 @@ class Piwik_VisitorInterest extends Piwik_Plugin
 		return $table;
 	}
 	
-	public function headerVisitsFrequency($notification)
+	static public function headerVisitsFrequency($notification)
 	{
 		$out =& $notification->getNotificationObject();
 		$out = '<div id="leftcolumn">';
 	}
 	
-	public function footerVisitsFrequency($notification)
+	static public function footerVisitsFrequency($notification)
 	{
 		$out =& $notification->getNotificationObject();
 		$out = '</div>
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php
index 1bf80f2e50..ec6d04de12 100644
--- a/plugins/VisitsSummary/API.php
+++ b/plugins/VisitsSummary/API.php
@@ -27,7 +27,7 @@ class Piwik_VisitsSummary_API
 		return self::$instance;
 	}
 	
-	public function get( $idSite, $period, $date, $columns = array() )
+	static public function get( $idSite, $period, $date, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -61,7 +61,7 @@ class Piwik_VisitsSummary_API
 		return $dataTable;
 	}
 	
-	protected static function getNumeric( $idSite, $period, $date, $toFetch )
+	static protected function getNumeric( $idSite, $period, $date, $toFetch )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
@@ -69,42 +69,42 @@ class Piwik_VisitsSummary_API
 		return $dataTable;		
 	}
 
-	public function getVisits( $idSite, $period, $date )
+	static public function getVisits( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'nb_visits');
 	}
 	
-	public function getUniqueVisitors( $idSite, $period, $date )
+	static public function getUniqueVisitors( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'nb_uniq_visitors');
 	}
 	
-	public function getActions( $idSite, $period, $date )
+	static public function getActions( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'nb_actions');
 	}
 	
-	public function getMaxActions( $idSite, $period, $date )
+	static public function getMaxActions( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'max_actions');
 	}
 	
-	public function getBounceCount( $idSite, $period, $date )
+	static public function getBounceCount( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'bounce_count');
 	}
 	
-	public function getVisitsConverted( $idSite, $period, $date )
+	static public function getVisitsConverted( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'nb_visits_converted');
 	}
 	
-	public function getSumVisitsLength( $idSite, $period, $date )
+	static public function getSumVisitsLength( $idSite, $period, $date )
 	{
 		return self::getNumeric( $idSite, $period, $date, 'sum_visit_length');
 	}
 	
-	public function getSumVisitsLengthPretty( $idSite, $period, $date )
+	static public function getSumVisitsLengthPretty( $idSite, $period, $date )
 	{
 		return Piwik::getPrettyTimeFromSeconds(self::getSumVisitsLength( $idSite, $period, $date ));
 	}
-- 
GitLab