Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/API/Proxy.php71
-rw-r--r--core/Access.php32
-rw-r--r--core/Auth.php8
-rw-r--r--core/CacheFile.php23
-rw-r--r--core/Controller.php120
-rw-r--r--core/Controller/Admin.php5
-rw-r--r--core/Cookie.php58
-rw-r--r--core/DataTable.php151
-rw-r--r--core/DataTable/Filter.php34
-rw-r--r--core/Date.php117
-rw-r--r--core/Db/Adapter.php6
-rw-r--r--core/Db/Adapter/Interface.php4
-rw-r--r--core/Db/Adapter/Mysqli.php15
-rw-r--r--core/Db/Adapter/Pdo/Mssql.php11
-rw-r--r--core/Db/Adapter/Pdo/Mysql.php25
-rw-r--r--core/Db/Adapter/Pdo/Pgsql.php5
-rw-r--r--core/Db/Schema.php60
-rw-r--r--core/Db/Schema/Interface.php99
-rw-r--r--core/Db/Schema/Myisam.php24
-rw-r--r--core/ErrorHandler.php10
-rw-r--r--core/ExceptionHandler.php2
-rw-r--r--core/Http.php43
-rw-r--r--core/IP.php60
-rw-r--r--core/Mail.php16
-rw-r--r--core/Nonce.php14
-rw-r--r--core/Option.php49
-rw-r--r--core/Piwik.php283
-rw-r--r--core/Plugin.php3
-rw-r--r--core/PluginsFunctions/WidgetsList.php72
-rw-r--r--core/PluginsManager.php52
-rw-r--r--core/Session.php4
-rw-r--r--core/Session/Namespace.php4
-rw-r--r--core/Session/SaveHandler/DbTable.php17
-rw-r--r--core/Site.php116
-rw-r--r--core/Tracker/Db/Mysqli.php49
-rw-r--r--core/Tracker/Db/Pdo/Mysql.php9
-rw-r--r--core/Unzip.php6
-rw-r--r--core/Unzip/Interface.php8
-rw-r--r--core/Unzip/PclZip.php24
-rw-r--r--core/Unzip/ZipArchive.php27
-rw-r--r--core/UpdateCheck.php6
-rw-r--r--core/Updates.php10
-rw-r--r--core/Version.php4
43 files changed, 1091 insertions, 665 deletions
diff --git a/core/API/Proxy.php b/core/API/Proxy.php
index a50a2228ac..9964406ea0 100644
--- a/core/API/Proxy.php
+++ b/core/API/Proxy.php
@@ -40,7 +40,15 @@ class Piwik_API_Proxy
// when a parameter doesn't have a default value we use this
private $noDefaultValue;
+ /**
+ * Singleton instance
+ * @var self|null
+ */
static private $instance = null;
+
+ /**
+ * protected constructor
+ */
protected function __construct()
{
$this->noDefaultValue = new Piwik_API_Proxy_NoDefaultValue();
@@ -82,7 +90,7 @@ class Piwik_API_Proxy
*
* The method will introspect the methods, their parameters, etc.
*
- * @param string ModuleName eg. "Piwik_UserSettings_API"
+ * @param string $className ModuleName eg. "Piwik_UserSettings_API"
*/
public function registerClass( $className )
{
@@ -105,8 +113,9 @@ class Piwik_API_Proxy
/**
* Will be displayed in the API page
- * @param $rClass
- * @param $className
+ *
+ * @param ReflectionClass $rClass Instance of ReflectionClass
+ * @param string $className Name of the class
*/
private function setDocumentation($rClass, $className)
{
@@ -142,9 +151,9 @@ class Piwik_API_Proxy
* It also logs the API calls, with the parameters values, the returned value, the performance, etc.
* You can enable logging in config/global.ini.php (log_api_call)
*
- * @param string $className The class name (eg. Piwik_Referers_API)
- * @param string $methodName The method name
- * @param array $parametersRequest The parameters pairs (name=>value)
+ * @param string $className The class name (eg. Piwik_Referers_API)
+ * @param string $methodName The method name
+ * @param array $parametersRequest The parameters pairs (name=>value)
*
* @return mixed|null
* @throws Exception|Piwik_Access_NoAccessException
@@ -220,13 +229,13 @@ class Piwik_API_Proxy
* Returns the parameters names and default values for the method $name
* of the class $class
*
- * @param string The class name
- * @param string The method name
- * @return array Format array(
- * 'testParameter' => null, // no default value
- * 'life' => 42, // default value = 42
- * 'date' => 'yesterday',
- * );
+ * @param string $class The class name
+ * @param string $name The method name
+ * @return array Format array(
+ * 'testParameter' => null, // no default value
+ * 'life' => 42, // default value = 42
+ * 'date' => 'yesterday',
+ * );
*/
public function getParametersList($class, $name)
{
@@ -234,8 +243,9 @@ class Piwik_API_Proxy
}
/**
- * Returns the 'moduleName' part of 'Piwik_moduleName_API' classname
- * @param string "Piwik_Referers_API"
+ * Returns the 'moduleName' part of 'Piwik_moduleName_API' classname
+ *
+ * @param string $className "Piwik_Referers_API"
* @return string "Referers"
*/
public function getModuleNameFromClassName( $className )
@@ -246,8 +256,8 @@ class Piwik_API_Proxy
/**
* Returns an array containing the values of the parameters to pass to the method to call
*
- * @param array $requiredParameters array of (parameter name, default value)
- * @param array $parametersRequest
+ * @param array $requiredParameters array of (parameter name, default value)
+ * @param array $parametersRequest
* @throws Exception
* @return array values to pass to the function call
*/
@@ -285,11 +295,12 @@ class Piwik_API_Proxy
}
return $finalParameters;
}
-
+
/**
* Includes the class Piwik_UserSettings_API by looking up plugins/UserSettings/API.php
*
- * @param string api class name eg. "Piwik_UserSettings_API"
+ * @param string $fileName api class name eg. "Piwik_UserSettings_API"
+ * @throws Exception
*/
private function includeApiFile($fileName)
{
@@ -306,6 +317,10 @@ class Piwik_API_Proxy
}
}
+ /**
+ * @param string $class name of a class
+ * @param ReflectionMethod $method instance of ReflectionMethod
+ */
private function loadMethodMetadata($class, $method)
{
if($method->isPublic()
@@ -339,9 +354,9 @@ class Piwik_API_Proxy
/**
* Checks that the method exists in the class
*
- * @param string The class name
- * @param string The method name
- * @throws exception If the method is not found
+ * @param string $className The class name
+ * @param string $methodName The method name
+ * @throws Exception If the method is not found
*/
private function checkMethodExists($className, $methodName)
{
@@ -354,8 +369,8 @@ class Piwik_API_Proxy
/**
* Returns the number of required parameters (parameters without default values).
*
- * @param string The class name
- * @param string The method name
+ * @param string $class The class name
+ * @param string $name The method name
* @return int The number of required parameters
*/
private function getNumberOfRequiredParameters($class, $name)
@@ -366,8 +381,8 @@ class Piwik_API_Proxy
/**
* Returns true if the method is found in the API of the given class name.
*
- * @param string The class name
- * @param string The method name
+ * @param string $className The class name
+ * @param string $methodName The method name
* @return bool
*/
private function isMethodAvailable( $className, $methodName)
@@ -378,8 +393,8 @@ class Piwik_API_Proxy
/**
* Checks that the class is a Singleton (presence of the getInstance() method)
*
- * @param string The class name
- * @throws exception If the class is not a Singleton
+ * @param string $className The class name
+ * @throws Exception If the class is not a Singleton
*/
private function checkClassIsSingleton($className)
{
diff --git a/core/Access.php b/core/Access.php
index d1c4a0427b..acf6980181 100644
--- a/core/Access.php
+++ b/core/Access.php
@@ -93,6 +93,9 @@ class Piwik_Access
return self::$availableAccess;
}
+ /**
+ * Constructor
+ */
function __construct()
{
$this->idsitesByAccess = array(
@@ -110,7 +113,7 @@ class Piwik_Access
* If the login/password is correct the user is either the SuperUser or a normal user.
* We load the access levels for this user for all the websites.
*
- * @param null|Piwik_Auth $auth Auth adapter
+ * @param null|Piwik_Auth $auth Auth adapter
* @return bool true on success, false if reloading access failed (when auth object wasn't specified and user is not enforced to be Super User)
*/
public function reloadAccess(Piwik_Auth $auth = null)
@@ -166,8 +169,8 @@ class Piwik_Access
/**
* Returns the SQL query joining sites and access table for a given login
*
- * @param string $select Columns or expression to SELECT FROM table, eg. "MIN(ts_created)"
- * @return string SQL query
+ * @param string $select Columns or expression to SELECT FROM table, eg. "MIN(ts_created)"
+ * @return string SQL query
*/
static public function getSqlAccessSite($select)
{
@@ -192,7 +195,8 @@ class Piwik_Access
/**
* We bypass the normal auth method and give the current user Super User rights.
* This should be very carefully used.
- * @param bool $bool
+ *
+ * @param bool $bool
*/
public function setSuperUser($bool = true)
{
@@ -241,8 +245,8 @@ class Piwik_Access
* Returns an array of ID sites for which the user has at least a VIEW access.
* Which means VIEW or ADMIN or SUPERUSER.
*
- * @return array Example if the user is ADMIN for 4
- * and has VIEW access for 1 and 7, it returns array(1, 4, 7);
+ * @return array Example if the user is ADMIN for 4
+ * and has VIEW access for 1 and 7, it returns array(1, 4, 7);
*/
public function getSitesIdWithAtLeastViewAccess()
{
@@ -256,8 +260,8 @@ class Piwik_Access
/**
* Returns an array of ID sites for which the user has an ADMIN access.
*
- * @return array Example if the user is ADMIN for 4 and 8
- * and has VIEW access for 1 and 7, it returns array(4, 8);
+ * @return array Example if the user is ADMIN for 4 and 8
+ * and has VIEW access for 1 and 7, it returns array(4, 8);
*/
public function getSitesIdWithAdminAccess()
{
@@ -271,8 +275,8 @@ class Piwik_Access
/**
* Returns an array of ID sites for which the user has a VIEW access only.
*
- * @return array Example if the user is ADMIN for 4
- * and has VIEW access for 1 and 7, it returns array(1, 7);
+ * @return array Example if the user is ADMIN for 4
+ * and has VIEW access for 1 and 7, it returns array(1, 7);
* @see getSitesIdWithAtLeastViewAccess()
*/
public function getSitesIdWithViewAccess()
@@ -333,7 +337,7 @@ class Piwik_Access
* This method checks that the user has ADMIN access for the given list of websites.
* If the user doesn't have ADMIN access for at least one website of the list, we throw an exception.
*
- * @param int|array List of ID sites to check
+ * @param int|array $idSites List of ID sites to check
* @throws Piwik_Access_NoAccessException If for any of the websites the user doesn't have an ADMIN access
*/
public function checkUserHasAdminAccess( $idSites )
@@ -357,8 +361,8 @@ class Piwik_Access
* This method checks that the user has VIEW or ADMIN access for the given list of websites.
* If the user doesn't have VIEW or ADMIN access for at least one website of the list, we throw an exception.
*
- * @param int|array|string List of ID sites to check (integer, array of integers, string comma separated list of integers)
- * @throws Piwik_Access_NoAccessException If for any of the websites the user doesn't have an VIEW or ADMIN access
+ * @param int|array|string $idSites List of ID sites to check (integer, array of integers, string comma separated list of integers)
+ * @throws Piwik_Access_NoAccessException If for any of the websites the user doesn't have an VIEW or ADMIN access
*/
public function checkUserHasViewAccess( $idSites )
{
@@ -378,7 +382,7 @@ class Piwik_Access
}
/**
- * @param string $idSites
+ * @param int|array|string $idSites
* @return array
* @throws Piwik_Access_NoAccessException
*/
diff --git a/core/Auth.php b/core/Auth.php
index c55b52176b..bef1b67d80 100644
--- a/core/Auth.php
+++ b/core/Auth.php
@@ -54,10 +54,10 @@ class Piwik_Auth_Result extends Zend_Auth_Result
/**
* Constructor for Piwik_Auth_Result
*
- * @param int $code
- * @param string $login identity
- * @param string $token_auth
- * @param array $messages
+ * @param int $code
+ * @param string $login identity
+ * @param string $token_auth
+ * @param array $messages
*/
public function __construct($code, $login, $token_auth, array $messages = array())
{
diff --git a/core/CacheFile.php b/core/CacheFile.php
index 99ebe5b181..850bf20466 100644
--- a/core/CacheFile.php
+++ b/core/CacheFile.php
@@ -22,9 +22,18 @@
*/
class Piwik_CacheFile
{
+ /**
+ * @var string
+ */
protected $cachePath;
+ /**
+ * @var
+ */
protected $cachePrefix;
+ /**
+ * @param string $directory directory to use
+ */
function __construct($directory)
{
$this->cachePath = PIWIK_USER_PATH . '/tmp/cache/' . $directory . '/';
@@ -33,8 +42,8 @@ class Piwik_CacheFile
/**
* Function to fetch a cache entry
*
- * @param string $id The cache entry ID
- * @return mixed False on error, or array the cache content
+ * @param string $id The cache entry ID
+ * @return array|bool False on error, or array the cache content
*/
function get($id)
{
@@ -54,9 +63,9 @@ class Piwik_CacheFile
/**
* A function to store content a cache entry.
*
- * @param string $id The cache entry ID
- * @param array $content The cache content
- * @return bool True if the entry was succesfully stored
+ * @param string $id The cache entry ID
+ * @param array $content The cache content
+ * @return bool True if the entry was succesfully stored
*/
function set($id, $content)
{
@@ -100,8 +109,8 @@ class Piwik_CacheFile
/**
* A function to delete a single cache entry
*
- * @param string $id The cache entry ID
- * @return bool True if the entres were succesfully deleted
+ * @param string $id The cache entry ID
+ * @return bool True if the entres were succesfully deleted
*/
function delete($id)
{
diff --git a/core/Controller.php b/core/Controller.php
index b7a3f497e3..8cb61b30a2 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -37,6 +37,10 @@ abstract class Piwik_Controller
* @var Piwik_Date|null
*/
protected $date;
+
+ /**
+ * @var int
+ */
protected $idSite;
/**
@@ -71,8 +75,9 @@ abstract class Piwik_Controller
/**
* Helper method to convert "today" or "yesterday" to the default timezone specified.
* If the date is absolute, ie. YYYY-MM-DD, it will not be converted to the timezone
- * @param string $date today, yesterday, YYYY-MM-DD
- * @param string $defaultTimezone
+ *
+ * @param string $date today, yesterday, YYYY-MM-DD
+ * @param string $defaultTimezone default timezone to use
* @return Piwik_Date
*/
protected function getDateParameterInTimezone($date, $defaultTimezone )
@@ -101,7 +106,8 @@ abstract class Piwik_Controller
/**
* Sets the date to be used by all other methods in the controller.
* If the date has to be modified, it should be called just after the controller construct
- * @param Piwik_Date $date
+ *
+ * @param Piwik_Date $date
* @return void
*/
protected function setDate(Piwik_Date $date)
@@ -127,8 +133,8 @@ abstract class Piwik_Controller
* - echo the output of the rendering if fetch = false
* - returns the output of the rendering if fetch = true
*
- * @param Piwik_ViewDataTable $view
- * @param bool $fetch
+ * @param Piwik_ViewDataTable $view view object to use
+ * @param bool $fetch indicates whether to output or return the content
* @return string|void
*/
protected function renderView( Piwik_ViewDataTable $view, $fetch = false)
@@ -156,9 +162,9 @@ abstract class Piwik_Controller
* Returns a ViewDataTable object of an Evolution graph
* for the last30 days/weeks/etc. of the current period, relative to the current date.
*
- * @param string $currentModuleName
- * @param string $currentControllerAction
- * @param string $apiMethod
+ * @param string $currentModuleName
+ * @param string $currentControllerAction
+ * @param string $apiMethod
* @return Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution
*/
protected function getLastUnitGraph($currentModuleName, $currentControllerAction, $apiMethod)
@@ -184,13 +190,13 @@ abstract class Piwik_Controller
* of different *.get reports. The returned ViewDataTable is configured with column
* translations and selectable metrics.
*
- * @param string $currentModuleName
- * @param string $currentControllerAction
- * @param array $columnsToDisplay
- * @param array $selectableColumns
- * @param bool|string $reportDocumentation
- * @param string $apiMethod The method to request the report from
- * (by default, this is API.get but it can be changed for custom stuff)
+ * @param string $currentModuleName
+ * @param string $currentControllerAction
+ * @param array $columnsToDisplay
+ * @param array $selectableColumns
+ * @param bool|string $reportDocumentation
+ * @param string $apiMethod The method to request the report from
+ * (by default, this is API.get but it can be changed for custom stuff)
* @return Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution
*/
protected function getLastUnitGraphAcrossPlugins($currentModuleName, $currentControllerAction,
@@ -263,7 +269,7 @@ abstract class Piwik_Controller
* - date: YYYY-MM-DD, today, yesterday
* - period: day, week, month, year
*
- * @param array $paramsToSet array( 'date' => 'last50', 'viewDataTable' =>'sparkline' )
+ * @param array $paramsToSet array( 'date' => 'last50', 'viewDataTable' =>'sparkline' )
* @throws Piwik_Access_NoAccessException
* @return array
*/
@@ -313,10 +319,10 @@ abstract class Piwik_Controller
* Given for example, $period = month, $lastN = 'last6', $endDate = '2011-07-01',
* It will return the $date = '2011-01-01,2011-07-01' which is useful to draw graphs for the last N periods
*
- * @param string $period
- * @param string $lastN
- * @param string $endDate
- * @param Piwik_Site $site
+ * @param string $period
+ * @param string $lastN
+ * @param string $endDate
+ * @param Piwik_Site $site
* @return string
*/
static public function getDateRangeRelativeToEndDate($period, $lastN, $endDate, $site )
@@ -331,7 +337,7 @@ abstract class Piwik_Controller
* Returns a numeric value from the API.
* Works only for API methods that originally returns numeric values (there is no cast here)
*
- * @param string $methodToCall Name of method to call, eg. Referers.getNumberOfDistinctSearchEngines
+ * @param string $methodToCall Name of method to call, eg. Referers.getNumberOfDistinctSearchEngines
* @return int|float
*/
protected function getNumericValue( $methodToCall )
@@ -347,8 +353,8 @@ abstract class Piwik_Controller
* It will automatically build a sparkline by setting the viewDataTable=sparkline parameter in the URL.
* It will also computes automatically the 'date' for the 'last30' days/weeks/etc.
*
- * @param string $action Method name of the controller to call in the img src
- * @param array Array of name => value of parameters to set in the generated GET url
+ * @param string $action Method name of the controller to call in the img src
+ * @param array $customParameters Array of name => value of parameters to set in the generated GET url
* @return string The generated URL
*/
protected function getUrlSparkline( $action, $customParameters = array() )
@@ -373,8 +379,9 @@ abstract class Piwik_Controller
/**
* Sets the first date available in the calendar
- * @param Piwik_Date $minDate
- * @param Piwik_View $view
+ *
+ * @param Piwik_Date $minDate
+ * @param Piwik_View $view
* @return void
*/
protected function setMinDateView(Piwik_Date $minDate, $view)
@@ -386,8 +393,9 @@ abstract class Piwik_Controller
/**
* Sets "today" in the calendar. Today does not always mean "UTC" today, eg. for websites in UTC+12.
- * @param Piwik_Date $maxDate
- * @param Piwik_View $view
+ *
+ * @param Piwik_Date $maxDate
+ * @param Piwik_View $view
* @return void
*/
protected function setMaxDateView(Piwik_Date $maxDate, $view)
@@ -396,11 +404,14 @@ abstract class Piwik_Controller
$view->maxDateMonth = $maxDate->toString('m');
$view->maxDateDay = $maxDate->toString('d');
}
-
+
/**
- * Sets general variables to the view that are used by various templates and Javascript.
+ * Sets general variables to the view that are used by
+ * various templates and Javascript.
* If any error happens, displays the login screen
- * @param Piwik_View $view
+ *
+ * @param Piwik_View $view
+ * @throws Exception
* @return void
*/
protected function setGeneralVariablesView($view)
@@ -469,7 +480,7 @@ abstract class Piwik_Controller
/**
* Set the minimal variables in the view object
*
- * @param Piwik_View $view
+ * @param Piwik_View $view
*/
protected function setBasicVariablesView($view)
{
@@ -487,10 +498,12 @@ abstract class Piwik_Controller
$view->setXFrameOptions('sameorigin');
}
}
-
+
/**
- * Sets general period variables (available periods, current period, period labels) used by templates
- * @param Piwik_View $view
+ * Sets general period variables (available periods, current period, period labels) used by templates
+ *
+ * @param Piwik_View $view
+ * @throws Exception
* @return void
*/
public static function setPeriodVariablesView($view)
@@ -529,12 +542,13 @@ abstract class Piwik_Controller
/**
* Set metrics variables (displayed metrics, available metrics) used by template
* Handles the server-side of the metrics picker
- * @param Piwik_View|Piwik_ViewDataTable $view
- * @param string $defaultMetricDay name of the default metric for period=day
- * @param string $defaultMetric name of the default metric for other periods
- * @param array $metricsForDay metrics that are only available for period=day
- * @param array $metricsForAllPeriods metrics that are available for all periods
- * @param bool $labelDisplayed add 'label' to columns to display?
+ *
+ * @param Piwik_View|Piwik_ViewDataTable $view
+ * @param string $defaultMetricDay name of the default metric for period=day
+ * @param string $defaultMetric name of the default metric for other periods
+ * @param array $metricsForDay metrics that are only available for period=day
+ * @param array $metricsForAllPeriods metrics that are available for all periods
+ * @param bool $labelDisplayed add 'label' to columns to display?
* @return void
*/
protected function setMetricsVariablesView(Piwik_ViewDataTable $view, $defaultMetricDay='nb_uniq_visitors',
@@ -589,12 +603,12 @@ abstract class Piwik_Controller
* Helper method used to redirect the current http request to another module/action
* If specified, will also redirect to a given website, period and /or date
*
- * @param string $moduleToRedirect Module, eg. "MultiSites"
- * @param string $actionToRedirect Action, eg. "index"
- * @param string $websiteId Website ID, eg. 1
- * @param string $defaultPeriod Default period, eg. "day"
- * @param string $defaultDate Default date, eg. "today"
- * @param array $parameters
+ * @param string $moduleToRedirect Module, eg. "MultiSites"
+ * @param string $actionToRedirect Action, eg. "index"
+ * @param string $websiteId Website ID, eg. 1
+ * @param string $defaultPeriod Default period, eg. "day"
+ * @param string $defaultDate Default date, eg. "today"
+ * @param array $parameters Parameters to append to url
*/
function redirectToIndex($moduleToRedirect, $actionToRedirect, $websiteId = null, $defaultPeriod = null, $defaultDate = null, $parameters = array())
{
@@ -648,7 +662,8 @@ abstract class Piwik_Controller
/**
- * Returns default website that Piwik should load
+ * Returns default website that Piwik should load
+ *
* @return Piwik_Site
*/
protected function getDefaultWebsiteId()
@@ -679,7 +694,8 @@ abstract class Piwik_Controller
/**
* Returns default date for Piwik reports
- * @return string today, 2010-01-01, etc.
+ *
+ * @return string today, 2010-01-01, etc.
*/
protected function getDefaultDate()
{
@@ -704,7 +720,8 @@ abstract class Piwik_Controller
/**
* Returns default date for Piwik reports
- * @return string today, 2010-01-01, etc.
+ *
+ * @return string today, 2010-01-01, etc.
*/
protected function getDefaultPeriod()
{
@@ -731,8 +748,9 @@ abstract class Piwik_Controller
* actions that are either invoked via AJAX or redirect to a page
* within the site. The token should never appear in the browser's
* address bar.
- *
- * @return throws exception if token doesn't match
+ *
+ * @throws Piwik_Access_NoAccessException if token doesn't match
+ * @return void
*/
protected function checkTokenInUrl()
{
diff --git a/core/Controller/Admin.php b/core/Controller/Admin.php
index 8a66fe0fa8..cc82770598 100644
--- a/core/Controller/Admin.php
+++ b/core/Controller/Admin.php
@@ -18,9 +18,10 @@
abstract class Piwik_Controller_Admin extends Piwik_Controller
{
/**
- * Used by Admin screens
+ * Set the minimal variables in the view object
+ * Extended by some admin view specific variables
*
- * @param Piwik_View $view
+ * @param Piwik_View $view
*/
protected function setBasicVariablesView($view)
{
diff --git a/core/Cookie.php b/core/Cookie.php
index 7dbc0529f8..2a4c7aeb2a 100644
--- a/core/Cookie.php
+++ b/core/Cookie.php
@@ -27,37 +27,44 @@ class Piwik_Cookie
/**
* The name of the cookie
+ * @var string
*/
protected $name = null;
/**
* The expire time for the cookie (expressed in UNIX Timestamp)
+ * @var int
*/
protected $expire = null;
/**
* Restrict cookie path
+ * @var string
*/
protected $path = '';
/**
* Restrict cookie to a domain (or subdomains)
+ * @var string
*/
protected $domain = '';
/**
* If true, cookie should only be transmitted over secure HTTPS
+ * @var bool
*/
protected $secure = false;
/**
* If true, cookie will only be made available via the HTTP protocol.
* Note: not well supported by browsers.
+ * @var bool
*/
protected $httponly = false;
/**
* The content of the cookie
+ * @var array
*/
protected $value = array();
@@ -70,10 +77,11 @@ class Piwik_Cookie
* Instantiate a new Cookie object and tries to load the cookie content if the cookie
* exists already.
*
- * @param string $cookieName cookie Name
- * @param int $expire The timestamp after which the cookie will expire, eg time() + 86400; use 0 (int zero) to expire cookie at end of browser session
- * @param string $path The path on the server in which the cookie will be available on.
- * @param bool|string $keyStore Will be used to store several bits of data (eg. one array per website)
+ * @param string $cookieName cookie Name
+ * @param int $expire The timestamp after which the cookie will expire, eg time() + 86400;
+ * use 0 (int zero) to expire cookie at end of browser session
+ * @param string $path The path on the server in which the cookie will be available on.
+ * @param bool|string $keyStore Will be used to store several bits of data (eg. one array per website)
*/
public function __construct( $cookieName, $expire = null, $path = null, $keyStore = false)
{
@@ -107,7 +115,7 @@ class Piwik_Cookie
/**
* Returns the default expiry time, 2 years
*
- * @return int Timestamp in 2 years
+ * @return int Timestamp in 2 years
*/
protected function getDefaultExpire()
{
@@ -120,13 +128,13 @@ class Piwik_Cookie
*
* @link http://php.net/setcookie
*
- * @param string $Name Name of cookie
- * @param string $Value Value of cookie
- * @param int $Expires Time the cookie expires
- * @param string $Path
- * @param string $Domain
- * @param bool $Secure
- * @param bool $HTTPOnly
+ * @param string $Name Name of cookie
+ * @param string $Value Value of cookie
+ * @param int $Expires Time the cookie expires
+ * @param string $Path
+ * @param string $Domain
+ * @param bool $Secure
+ * @param bool $HTTPOnly
*/
protected function setCookie($Name, $Value, $Expires, $Path = '', $Domain = '', $Secure = false, $HTTPOnly = false)
{
@@ -196,8 +204,8 @@ class Piwik_Cookie
/**
* Extract signed content from string: content VALUE_SEPARATOR '_=' signature
*
- * @param string $content
- * @return string|false Content or false if unsigned
+ * @param string $content
+ * @return string|bool Content or false if unsigned
*/
private function extractSignedContent($content)
{
@@ -256,7 +264,7 @@ class Piwik_Cookie
* Returns the string to save in the cookie from the $this->value array of values.
* It goes through the array and generates the cookie content string.
*
- * @return string Cookie content
+ * @return string Cookie content
*/
protected function generateContentString()
{
@@ -286,7 +294,7 @@ class Piwik_Cookie
/**
* Set cookie domain
*
- * @param string $domain
+ * @param string $domain
*/
public function setDomain($domain)
{
@@ -296,7 +304,7 @@ class Piwik_Cookie
/**
* Set secure flag
*
- * @param bool $secure
+ * @param bool $secure
*/
public function setSecure($secure)
{
@@ -306,7 +314,7 @@ class Piwik_Cookie
/**
* Set HTTP only
*
- * @param bool $httponly
+ * @param bool $httponly
*/
public function setHttpOnly($httponly)
{
@@ -323,8 +331,8 @@ class Piwik_Cookie
* You should save arrays only when you are sure about their maximum data size.
* A cookie has to stay small and its size shouldn't increase over time!
*
- * @param string Name of the value to save; the name will be used to retrieve this value
- * @param string|array|numeric Value to save. If null, entry will be deleted from cookie.
+ * @param string $name Name of the value to save; the name will be used to retrieve this value
+ * @param string|array|number $value Value to save. If null, entry will be deleted from cookie.
*/
public function set( $name, $value )
{
@@ -353,8 +361,8 @@ class Piwik_Cookie
/**
* Returns the value defined by $name from the cookie.
*
- * @param string|integer Index name of the value to return
- * @return mixed The value if found, false if the value is not found
+ * @param string|integer Index name of the value to return
+ * @return mixed The value if found, false if the value is not found
*/
public function get( $name )
{
@@ -373,7 +381,7 @@ class Piwik_Cookie
/**
* Returns an easy to read cookie dump
*
- * @return string The cookie dump
+ * @return string The cookie dump
*/
public function __toString()
{
@@ -386,8 +394,8 @@ class Piwik_Cookie
* Escape values from the cookie before sending them back to the client
* (when using the get() method).
*
- * @param string $value Value to be escaped
- * @return mixed The value once cleaned.
+ * @param string $value Value to be escaped
+ * @return mixed The value once cleaned.
*/
static protected function escapeValue( $value )
{
diff --git a/core/DataTable.php b/core/DataTable.php
index 3f4312ec4e..114b67aa76 100644
--- a/core/DataTable.php
+++ b/core/DataTable.php
@@ -148,7 +148,7 @@ class Piwik_DataTable
/**
* Array of Piwik_DataTable_Row
*
- * @var array
+ * @var Piwik_DataTable_Row[]
*/
protected $rows = array();
@@ -225,8 +225,13 @@ class Piwik_DataTable
* @var bool
*/
protected $enableRecursiveFilters = false;
+
+ /**
+ * @var array
+ */
+ protected $rowsIndexByLabel = array();
- /*
+ /**
* @var Piwik_DataTable_Row
*/
protected $summaryRow = null;
@@ -267,8 +272,8 @@ class Piwik_DataTable
/**
* Sort the dataTable rows using the php callback function
*
- * @param string $functionCallback
- * @param string $columnSortedBy The column name. Used to then ask the datatable what column are you sorted by
+ * @param string $functionCallback
+ * @param string $columnSortedBy The column name. Used to then ask the datatable what column are you sorted by
*/
public function sort( $functionCallback, $columnSortedBy )
{
@@ -290,6 +295,11 @@ class Piwik_DataTable
}
}
+ /**
+ * Returns the name of the column the tables is sorted by
+ *
+ * @return bool|string
+ */
public function getSortedByColumnName()
{
return $this->tableSortedBy;
@@ -303,7 +313,11 @@ class Piwik_DataTable
{
$this->enableRecursiveSort = true;
}
-
+
+ /**
+ * Enables the recursive filter. Means that when using $table->filter()
+ * it will also filter all subtables using the same callback
+ */
public function enableRecursiveFilters()
{
$this->enableRecursiveFilters = true;
@@ -335,8 +349,8 @@ class Piwik_DataTable
/**
* Apply a filter to this datatable
*
- * @param string $className Class name, eg. "Sort" or "Piwik_DataTable_Filter_Sort"
- * @param array $parameters Array of parameters to the filter, eg. array('nb_visits', 'asc')
+ * @param string $className Class name, eg. "Sort" or "Piwik_DataTable_Filter_Sort"
+ * @param array $parameters Array of parameters to the filter, eg. array('nb_visits', 'asc')
*/
public function filter( $className, $parameters = array() )
{
@@ -349,8 +363,8 @@ class Piwik_DataTable
// the first parameter of a filter is the DataTable
// we add the current datatable as the parameter
$parameters = array_merge(array($this), $parameters);
-
- $filter = $reflectionObj->newInstanceArgs($parameters);
+
+ $filter = $reflectionObj->newInstanceArgs($parameters);
$filter->enableRecursive( $this->enableRecursiveFilters );
@@ -361,8 +375,8 @@ class Piwik_DataTable
* Queue a DataTable_Filter that will be applied when applyQueuedFilters() is called.
* (just before sending the datatable back to the browser (or API, etc.)
*
- * @param string $className The class name of the filter, eg. Piwik_DataTable_Filter_Limit
- * @param array $parameters The parameters to give to the filter, eg. array( $offset, $limit) for the filter Piwik_DataTable_Filter_Limit
+ * @param string $className The class name of the filter, eg. Piwik_DataTable_Filter_Limit
+ * @param array $parameters The parameters to give to the filter, eg. array( $offset, $limit) for the filter Piwik_DataTable_Filter_Limit
*/
public function queueFilter( $className, $parameters = array() )
{
@@ -395,8 +409,9 @@ class Piwik_DataTable
*
* A common row to 2 DataTable is defined by the same label
*
- * @example tests/core/DataTable.test.php
- * @param Piwik_DataTable $tableToSum
+ * @example tests/core/DataTable.test.php
+ *
+ * @param Piwik_DataTable $tableToSum
*/
public function addDataTable( Piwik_DataTable $tableToSum )
{
@@ -434,8 +449,8 @@ class Piwik_DataTable
/**
* Returns the Piwik_DataTable_Row that has a column 'label' with the value $label
*
- * @param string $label Value of the column 'label' of the row to return
- * @return Piwik_DataTable_Row |false The row if found, false otherwise
+ * @param string $label Value of the column 'label' of the row to return
+ * @return Piwik_DataTable_Row|false The row if found, false otherwise
*/
public function getRowFromLabel( $label )
{
@@ -446,7 +461,13 @@ class Piwik_DataTable
}
return $rowId;
}
-
+
+ /**
+ * Returns the row id for the givel label
+ *
+ * @param string $label Value of the column 'label' of the row to return
+ * @return bool|null
+ */
public function getRowIdFromLabel($label)
{
$this->rebuildIndexContinuously = true;
@@ -473,7 +494,7 @@ class Piwik_DataTable
* Returns a Piwik_DataTable that has only the one column that matches $label.
* If no matches are found, an empty data table is returned.
*
- * @param string $label Value of the column 'label' to search for
+ * @param string $label Value of the column 'label' to search for
* @return Piwik_DataTable
*/
public function getFilteredTableFromLabel($label)
@@ -518,7 +539,7 @@ class Piwik_DataTable
/**
* Returns the ith row in the array
*
- * @param int $id
+ * @param int $id
* @return Piwik_DataTable_Row or false if not found
*/
public function getRowFromId($id)
@@ -538,8 +559,8 @@ class Piwik_DataTable
/**
* Returns a row that has the subtable ID matching the parameter
*
- * @param int $idSubTable
- * @return Piwik_DataTable_Row or false if not found
+ * @param int $idSubTable
+ * @return Piwik_DataTable_Row|false if not found
*/
public function getRowFromIdSubDataTable($idSubTable)
{
@@ -557,7 +578,7 @@ class Piwik_DataTable
/**
* Add a row to the table and rebuild the index if necessary
*
- * @param Piwik_DataTable_Row $row to add at the end of the array
+ * @param Piwik_DataTable_Row $row to add at the end of the array
*/
public function addRow( Piwik_DataTable_Row $row )
{
@@ -577,7 +598,7 @@ class Piwik_DataTable
/**
* Sets the summary row (a dataTable can have only one summary row)
*
- * @param Piwik_DataTable_Row $row
+ * @param Piwik_DataTable_Row $row
*/
public function addSummaryRow( Piwik_DataTable_Row $row )
{
@@ -597,7 +618,7 @@ class Piwik_DataTable
/**
* Adds a new row from a PHP array data structure
*
- * @param array $row, eg. array(Piwik_DataTable_Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),)
+ * @param array $row eg. array(Piwik_DataTable_Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),)
*/
public function addRowFromArray( $row )
{
@@ -607,7 +628,7 @@ class Piwik_DataTable
/**
* Adds a new row a PHP array data structure
*
- * @param array $row, eg. array('name' => 'google analytics', 'license' => 'commercial')
+ * @param array $row eg. array('name' => 'google analytics', 'license' => 'commercial')
*/
public function addRowFromSimpleArray( $row )
{
@@ -634,7 +655,7 @@ class Piwik_DataTable
/**
* Returns the array containing all rows values for the requested column
*
- * @param $name
+ * @param string $name
* @return array
*/
public function getColumn( $name )
@@ -650,7 +671,7 @@ class Piwik_DataTable
/**
* Returns an array containing the rows Metadata values
*
- * @param string $name Metadata column to return
+ * @param string $name Metadata column to return
* @return array
*/
public function getRowsMetadata( $name )
@@ -745,7 +766,7 @@ class Piwik_DataTable
/**
* Delete a given column $name in all the rows
*
- * @param string $name
+ * @param string $name
*/
public function deleteColumn( $name )
{
@@ -755,8 +776,8 @@ class Piwik_DataTable
/**
* Rename a column in all rows
*
- * @param string $oldName Old column name
- * @param string $newName New column name
+ * @param string $oldName Old column name
+ * @param string $newName New column name
*/
public function renameColumn( $oldName, $newName )
{
@@ -777,8 +798,8 @@ class Piwik_DataTable
/**
* Delete columns by name in all rows
*
- * @param array $names
- * @param bool $deleteRecursiveInSubtables
+ * @param array $names
+ * @param bool $deleteRecursiveInSubtables
*/
public function deleteColumns($names, $deleteRecursiveInSubtables = false)
{
@@ -805,7 +826,7 @@ class Piwik_DataTable
/**
* Deletes the ith row
*
- * @param int $id
+ * @param int $id
* @throws Exception if the row $id cannot be found
* @return
*/
@@ -827,8 +848,8 @@ class Piwik_DataTable
* Deletes all row from offset, offset + limit.
* If limit is null then limit = $table->getRowsCount()
*
- * @param int $offset
- * @param int $limit
+ * @param int $offset
+ * @param int $limit
* @return int
*/
public function deleteRowsOffset( $offset, $limit = null )
@@ -866,7 +887,7 @@ class Piwik_DataTable
/**
* Deletes the rows from the list of rows ID
*
- * @param array $aKeys ID of the rows to delete
+ * @param array $aKeys ID of the rows to delete
* @throws Exception if any of the row to delete couldn't be found
*/
public function deleteRows( array $aKeys )
@@ -894,8 +915,8 @@ class Piwik_DataTable
* Returns true if both DataTable are exactly the same.
* Used in unit tests.
*
- * @param Piwik_DataTable $table1
- * @param Piwik_DataTable $table2
+ * @param Piwik_DataTable $table1
+ * @param Piwik_DataTable $table2
* @return bool
*/
static public function isEqual(Piwik_DataTable $table1, Piwik_DataTable $table2)
@@ -940,11 +961,10 @@ class Piwik_DataTable
* won't work.
*
* @throws Exception if an infinite recursion is found (a table row's has a subtable that is one of its parent table)
- * @param int If not null, defines the number of rows maximum of the serialized dataTable
- * If $addSummaryRowAfterNRows is less than the size of the table, a SummaryRow will be added at the end of the table, that
- * is the sum of the values of all the rows after the Nth row. All the rows after the Nth row will be deleted.
- *
- * @return array Serialized arrays
+ * @param int $maximumRowsInDataTable If not null, defines the number of rows maximum of the serialized dataTable
+ * @param int $maximumRowsInSubDataTable If not null, defines the number of rows maximum of the serialized subDataTable
+ * @param string $columnToSortByBeforeTruncation Column to sort by before truncation
+ * @return array Serialized arrays
* array( // Datatable level0
* 0 => 'eghuighahgaueytae78yaet7yaetae',
*
@@ -1019,7 +1039,7 @@ class Piwik_DataTable
*
* The function creates all the necessary DataTable_Row
*
- * @param string string of serialized datatable
+ * @param string $stringSerialized string of serialized datatable
* @throws Exception
*/
public function addRowsFromSerializedArray( $stringSerialized )
@@ -1035,19 +1055,16 @@ class Piwik_DataTable
/**
* Loads the DataTable from a PHP array data structure
*
- * @param array Array with the following structure
- * array(
- * // row1
- * array(
- * Piwik_DataTable_Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...),
- * Piwik_DataTable_Row::METADATA => array( metadata1_name => value1, ...), // see Piwik_DataTable_Row
- *
- * ),
- *
- * // row2
- * array( ... ),
- *
- * )
+ * @param array $array Array with the following structure
+ * array(
+ * // row1
+ * array(
+ * Piwik_DataTable_Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...),
+ * Piwik_DataTable_Row::METADATA => array( metadata1_name => value1, ...), // see Piwik_DataTable_Row
+ * ),
+ * // row2
+ * array( ... ),
+ * )
*/
public function addRowsFromArray( $array )
{
@@ -1079,11 +1096,11 @@ class Piwik_DataTable
* Basically maps a simple multidimensional php array to a DataTable.
* Not recursive (if a row contains a php array itself, it won't be loaded)
*
- * @param array Array with the simple structure:
- * array(
- * array( col1_name => valueA, col2_name => valueC, ...),
- * array( col1_name => valueB, col2_name => valueD, ...),
- * )
+ * @param array $array Array with the simple structure:
+ * array(
+ * array( col1_name => valueA, col2_name => valueC, ...),
+ * array( col1_name => valueB, col2_name => valueD, ...),
+ * )
* @throws Exception
* @return
*/
@@ -1211,8 +1228,8 @@ class Piwik_DataTable
* ),
* )
*
- * @param array $array See method description
- * @param array|null $subtablePerLabel see method description
+ * @param array $array See method description
+ * @param array|null $subtablePerLabel See method description
*/
public function addRowsFromArrayWithIndexLabel( $array, $subtablePerLabel = null)
{
@@ -1240,7 +1257,8 @@ class Piwik_DataTable
/**
* Set the array of parent ids
- * @param array $parents
+ *
+ * @param array $parents
*/
public function setParents($parents)
{
@@ -1249,7 +1267,8 @@ class Piwik_DataTable
/**
* Get parents
- * @return array of all parents, root level first
+ *
+ * @return array of all parents, root level first
*/
public function getParents() {
if ($this->parents == null)
@@ -1274,7 +1293,7 @@ class Piwik_DataTable
* Sets the maximum nesting level to at least a certain value. If the current value is
* greater than the supplied level, the maximum nesting level is not changed.
*
- * @param int $atLeastLevel
+ * @param int $atLeastLevel
*/
static public function setMaximumDepthLevelAllowedAtLeast( $atLeastLevel )
{
diff --git a/core/DataTable/Filter.php b/core/DataTable/Filter.php
index 95beee04ea..56c8fd7be2 100644
--- a/core/DataTable/Filter.php
+++ b/core/DataTable/Filter.php
@@ -26,6 +26,15 @@
*/
abstract class Piwik_DataTable_Filter
{
+ /**
+ * @var bool
+ */
+ protected $enableRecursive = false;
+
+ /**
+ * @throws Exception
+ * @param Piwik_DataTable $table
+ */
public function __construct($table)
{
if(!($table instanceof Piwik_DataTable))
@@ -33,16 +42,31 @@ abstract class Piwik_DataTable_Filter
throw new Exception("The filter accepts only a Piwik_DataTable object.");
}
}
-
+
+ /**
+ * Filters the given data table
+ *
+ * @param Piwik_DataTable $table
+ * @return mixed
+ */
abstract public function filter($table);
-
- protected $enableRecursive = false;
-
+
+ /**
+ * Enables/Disables the recursive mode
+ *
+ * @param $bool
+ */
public function enableRecursive($bool)
{
$this->enableRecursive = (bool)$bool;
}
-
+
+ /**
+ * Filters a subtable
+ *
+ * @param Piwik_DataTable_Row $row
+ * @return mixed
+ */
public function filterSubTable(Piwik_DataTable_Row $row)
{
if(!$this->enableRecursive)
diff --git a/core/Date.php b/core/Date.php
index b30d03dce2..3da0b5bdf1 100644
--- a/core/Date.php
+++ b/core/Date.php
@@ -18,10 +18,26 @@
class Piwik_Date
{
/**
+ * The stored timestamp is always UTC based.
+ * The returned timestamp via getTimestamp() will have the conversion applied
+ * @var int|null
+ */
+ protected $timestamp = null;
+
+ /**
+ * Timezone the current date object is set to.
+ * Timezone will only affect the returned timestamp via getTimestamp()
+ * @var string
+ */
+ protected $timezone = 'UTC';
+
+ const DATE_TIME_FORMAT = 'Y-m-d H:i:s';
+
+ /**
* Builds a Piwik_Date object
*
- * @param int $timestamp
- * @param string $timezone
+ * @param int $timestamp
+ * @param string $timezone
* @throws Exception
*/
protected function __construct( $timestamp, $timezone = 'UTC')
@@ -34,14 +50,13 @@ class Piwik_Date
$this->timestamp = $timestamp ;
}
-
/**
* Returns a Piwik_Date objects.
*
- * @param string $dateString 'today' 'yesterday' or any YYYY-MM-DD or timestamp
- * @param string $timezone if specified, the dateString will be relative to this $timezone.
- * For example, today in UTC+12 will be a timestamp in the future for UTC.
- * This is different from using ->setTimezone()
+ * @param string|self $dateString 'today' 'yesterday' or any YYYY-MM-DD or timestamp
+ * @param string $timezone if specified, the dateString will be relative to this $timezone.
+ * For example, today in UTC+12 will be a timestamp in the future for UTC.
+ * This is different from using ->setTimezone()
* @throws Exception
* @return Piwik_Date
*/
@@ -99,20 +114,6 @@ class Piwik_Date
return Piwik_Date::factory($timestamp);
}
- /*
- * The stored timestamp is always UTC based.
- * The returned timestamp via getTimestamp() will have the conversion applied
- */
- protected $timestamp = null;
-
- /*
- * Timezone the current date object is set to.
- * Timezone will only affect the returned timestamp via getTimestamp()
- */
- protected $timezone = 'UTC';
-
- const DATE_TIME_FORMAT = 'Y-m-d H:i:s';
-
/**
* Returns the datetime of the current timestamp
*
@@ -152,7 +153,7 @@ class Piwik_Date
* This timezone is used to offset the UTC timestamp returned by @see getTimestamp()
* Doesn't modify $this
*
- * @param string $timezone 'UTC', 'Europe/London', ...
+ * @param string $timezone 'UTC', 'Europe/London', ...
* @return Piwik_Date
*/
public function setTimezone($timezone)
@@ -164,8 +165,8 @@ class Piwik_Date
* Helper function that returns the offset in the timezone string 'UTC+14'
* Returns false if the timezone is not UTC+X or UTC-X
*
- * @param string $timezone
- * @return int or false
+ * @param string $timezone
+ * @return int|bool utc offset or false
*/
static protected function extractUtcOffset($timezone)
{
@@ -189,9 +190,9 @@ class Piwik_Date
/**
* Adjusts a UNIX timestamp in UTC to a specific timezone.
*
- * @param int $timestamp The UNIX timestamp to adjust.
- * @param string $timezone The timezone to adjust to.
- * @return int The adjusted time as seconds from EPOCH.
+ * @param int $timestamp The UNIX timestamp to adjust.
+ * @param string $timezone The timezone to adjust to.
+ * @return int The adjusted time as seconds from EPOCH.
*/
static public function adjustForTimezone($timestamp, $timezone)
{
@@ -255,7 +256,7 @@ class Piwik_Date
/**
* Returns true if the current date is older than the given $date
*
- * @param Piwik_Date $date
+ * @param Piwik_Date $date
* @return bool
*/
public function isLater( Piwik_Date $date)
@@ -266,7 +267,7 @@ class Piwik_Date
/**
* Returns true if the current date is earlier than the given $date
*
- * @param Piwik_Date $date
+ * @param Piwik_Date $date
* @return bool
*/
public function isEarlier(Piwik_Date $date)
@@ -278,7 +279,7 @@ class Piwik_Date
* Returns the Y-m-d representation of the string.
* You can specify the output, see the list on php.net/date
*
- * @param string $part
+ * @param string $part
* @return string
*/
public function toString($part = 'Y-m-d')
@@ -301,8 +302,8 @@ class Piwik_Date
* Returns 0 if equal, -1 if current week is earlier or 1 if current week is later
* Example: 09.Jan.2007 13:07:25 -> compareWeek(2); -> 0
*
- * @param Piwik_Date $date
- * @return integer 0 = equal, 1 = later, -1 = earlier
+ * @param Piwik_Date $date
+ * @return int 0 = equal, 1 = later, -1 = earlier
*/
public function compareWeek(Piwik_Date $date)
{
@@ -324,8 +325,8 @@ class Piwik_Date
* Returns 0 if equal, -1 if current month is earlier or 1 if current month is later
* For example: 10.03.2000 -> 15.03.1950 -> 0
*
- * @param Piwik_Date $date Month to compare
- * @return integer 0 = equal, 1 = later, -1 = earlier
+ * @param Piwik_Date $date Month to compare
+ * @return int 0 = equal, 1 = later, -1 = earlier
*/
function compareMonth( Piwik_Date $date )
{
@@ -396,7 +397,7 @@ class Piwik_Date
* Sets the time part of the date
* Doesn't modify $this
*
- * @param string $time HH:MM:SS
+ * @param string $time HH:MM:SS
* @return Piwik_Date The new date with the time part set
*/
public function setTime($time)
@@ -409,7 +410,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param int Day eg. 31
+ * @param int $day Day eg. 31
* @return Piwik_Date new date
*/
public function setDay( $day )
@@ -431,7 +432,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param int 2010
+ * @param int $year 2010
* @return Piwik_Date new date
*/
public function setYear( $year )
@@ -453,7 +454,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
+ * @param int $n
* @return Piwik_Date new date
*/
public function subDay( $n )
@@ -471,7 +472,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
+ * @param int $n
* @return Piwik_Date new date
*/
public function subWeek( $n )
@@ -484,7 +485,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
+ * @param int $n
* @return Piwik_Date new date
*/
public function subMonth( $n )
@@ -510,7 +511,7 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
+ * @param int $n
* @return Piwik_Date new date
*/
public function subYear( $n )
@@ -535,8 +536,8 @@ class Piwik_Date
* Returns a localized date string, given a template.
* Allowed tags are: %day%, %shortDay%, %longDay%, etc.
*
- * @param string $template string eg. %shortMonth% %longYear%
- * @return string eg. "Aug 2009"
+ * @param string $template string eg. %shortMonth% %longYear%
+ * @return string eg. "Aug 2009"
*/
public function getLocalized($template)
{
@@ -562,8 +563,8 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param int Number of days to add
- * @return Piwik_Date new date
+ * @param int $n Number of days to add
+ * @return Piwik_Date new date
*/
public function addDay( $n )
{
@@ -576,8 +577,8 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param int Number of hours to add
- * @return Piwik_Date new date
+ * @param int $n Number of hours to add
+ * @return Piwik_Date new date
*/
public function addHour( $n )
{
@@ -588,9 +589,9 @@ class Piwik_Date
/**
* Adds N number of hours to a UNIX timestamp and returns the result.
*
- * @param int $timestamp The timestamp to add to.
- * @param int|float Number of hours to add.
- * @return int The result as a UNIX timestamp.
+ * @param int $timestamp The timestamp to add to.
+ * @param number $n Number of hours to add.
+ * @return int The result as a UNIX timestamp.
*/
public static function addHourTo( $timestamp, $n )
{
@@ -627,8 +628,8 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param int Number of hours to substract
- * @return Piwik_Date new date
+ * @param int $n Number of hours to substract
+ * @return Piwik_Date new date
*/
public function subHour( $n )
{
@@ -640,9 +641,9 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
- * @param $period period to add
- * @return Piwik_Date new date
+ * @param int $n
+ * @param string $period period to add (WEEK, DAY,...)
+ * @return Piwik_Date new date
*/
public function addPeriod( $n, $period )
{
@@ -662,9 +663,9 @@ class Piwik_Date
* Returned is the new date object
* Doesn't modify $this
*
- * @param $n
- * @param $period period to sub
- * @return Piwik_Date new date
+ * @param int $n
+ * @param string $period period to sub
+ * @return Piwik_Date new date
*/
public function subPeriod( $n, $period )
{
diff --git a/core/Db/Adapter.php b/core/Db/Adapter.php
index 88c4ba2df2..cb028ff50b 100644
--- a/core/Db/Adapter.php
+++ b/core/Db/Adapter.php
@@ -22,7 +22,7 @@ class Piwik_Db_Adapter
* @param string $adapterName database adapter name
* @param array $dbInfos database connection info
* @param bool $connect
- * @return mixed (Piwik_Db_Adapter_Mysqli, Piwik_Db_Adapter_Pdo_Mysql, etc)
+ * @return Piwik_Db_Adapter_Interface
*/
public static function factory($adapterName, & $dbInfos, $connect = true)
{
@@ -72,7 +72,7 @@ class Piwik_Db_Adapter
/**
* Get adapter class name
*
- * @param string $adapterName
+ * @param string $adapterName
* @return string
*/
private static function getAdapterClassName($adapterName)
@@ -83,7 +83,7 @@ class Piwik_Db_Adapter
/**
* Get default port for named adapter
*
- * @param string $adapterName
+ * @param string $adapterName
* @return int
*/
public static function getDefaultPortForAdapter($adapterName)
diff --git a/core/Db/Adapter/Interface.php b/core/Db/Adapter/Interface.php
index 69ce7641e1..81535d5bfa 100644
--- a/core/Db/Adapter/Interface.php
+++ b/core/Db/Adapter/Interface.php
@@ -59,8 +59,8 @@ interface Piwik_Db_Adapter_Interface
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno);
diff --git a/core/Db/Adapter/Mysqli.php b/core/Db/Adapter/Mysqli.php
index 0e656f194e..f666b1269b 100644
--- a/core/Db/Adapter/Mysqli.php
+++ b/core/Db/Adapter/Mysqli.php
@@ -16,6 +16,11 @@
*/
class Piwik_Db_Adapter_Mysqli extends Zend_Db_Adapter_Mysqli implements Piwik_Db_Adapter_Interface
{
+ /**
+ * Constructor
+ *
+ * @param array|Zend_Config $config database configuration
+ */
public function __construct($config)
{
// Enable LOAD DATA INFILE
@@ -43,6 +48,7 @@ class Piwik_Db_Adapter_Mysqli extends Zend_Db_Adapter_Mysqli implements Piwik_Db
/**
* Check MySQL version
+ *
* @throws Exception
*/
public function checkServerVersion()
@@ -57,6 +63,7 @@ class Piwik_Db_Adapter_Mysqli extends Zend_Db_Adapter_Mysqli implements Piwik_Db
/**
* Check client version compatibility against database server
+ *
* @throws Exception
*/
public function checkClientVersion()
@@ -105,8 +112,8 @@ class Piwik_Db_Adapter_Mysqli extends Zend_Db_Adapter_Mysqli implements Piwik_Db
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno)
@@ -129,8 +136,8 @@ class Piwik_Db_Adapter_Mysqli extends Zend_Db_Adapter_Mysqli implements Piwik_Db
* Workaround some SQL statements not compatible with prepare().
* See http://framework.zend.com/issues/browse/ZF-1398
*
- * @param string $sqlQuery
- * @return int Number of rows affected (SELECT/INSERT/UPDATE/DELETE)
+ * @param string $sqlQuery
+ * @return int Number of rows affected (SELECT/INSERT/UPDATE/DELETE)
*/
public function exec( $sqlQuery )
{
diff --git a/core/Db/Adapter/Pdo/Mssql.php b/core/Db/Adapter/Pdo/Mssql.php
index e8c29f6517..68b8fb68d9 100644
--- a/core/Db/Adapter/Pdo/Mssql.php
+++ b/core/Db/Adapter/Pdo/Mssql.php
@@ -131,6 +131,7 @@ class Piwik_Db_Pdo_Mssql extends Zend_Db_Adapter_Pdo_Mssql implements Piwik_Db_A
/**
* Check MSSQL version
+ *
* @throws Exception
*/
public function checkServerVersion()
@@ -144,6 +145,11 @@ class Piwik_Db_Pdo_Mssql extends Zend_Db_Adapter_Pdo_Mssql implements Piwik_Db_A
}
+ /**
+ * Returns the Mssql server version
+ *
+ * @return null|string
+ */
public function getServerVersion()
{
try
@@ -164,6 +170,7 @@ class Piwik_Db_Pdo_Mssql extends Zend_Db_Adapter_Pdo_Mssql implements Piwik_Db_A
/**
* Check client version compatibility against database server
+ *
* @throws Exception
*/
public function checkClientVersion()
@@ -216,8 +223,8 @@ class Piwik_Db_Pdo_Mssql extends Zend_Db_Adapter_Pdo_Mssql implements Piwik_Db_A
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno)
diff --git a/core/Db/Adapter/Pdo/Mysql.php b/core/Db/Adapter/Pdo/Mysql.php
index acc8d2f079..89c6d44000 100644
--- a/core/Db/Adapter/Pdo/Mysql.php
+++ b/core/Db/Adapter/Pdo/Mysql.php
@@ -16,6 +16,11 @@
*/
class Piwik_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Piwik_Db_Adapter_Interface
{
+ /**
+ * Constructor
+ *
+ * @param array|Zend_Config $config database configuration
+ */
public function __construct($config)
{
// Enable LOAD DATA INFILE
@@ -75,20 +80,22 @@ class Piwik_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Pi
/**
* Check MySQL version
+ *
* @throws Exception
*/
public function checkServerVersion()
{
$serverVersion = $this->getServerVersion();
- $requiredVersion = Piwik_Config::getInstance()->General['minimum_mysql_version'];
- if(version_compare($serverVersion, $requiredVersion) === -1)
- {
- throw new Exception(Piwik_TranslateException('General_ExceptionDatabaseVersion', array('MySQL', $serverVersion, $requiredVersion)));
- }
+ $requiredVersion = Piwik_Config::getInstance()->General['minimum_mysql_version'];
+ if(version_compare($serverVersion, $requiredVersion) === -1)
+ {
+ throw new Exception(Piwik_TranslateException('General_ExceptionDatabaseVersion', array('MySQL', $serverVersion, $requiredVersion)));
+ }
}
/**
* Check client version compatibility against database server
+ *
* @throws Exception
*/
public function checkClientVersion()
@@ -137,8 +144,8 @@ class Piwik_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Pi
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno)
@@ -188,8 +195,8 @@ class Piwik_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Pi
* Prepares and executes an SQL statement with bound data.
* Caches prepared statements to avoid preparing the same query more than once
*
- * @param mixed $sql
- * @param mixed $bind
+ * @param string|Zend_Db_Select $sql The SQL statement with placeholders.
+ * @param array $bind An array of data to bind to the placeholders.
* @return Zend_Db_Statement_Interface
*/
public function query($sql, $bind = array())
diff --git a/core/Db/Adapter/Pdo/Pgsql.php b/core/Db/Adapter/Pdo/Pgsql.php
index 4d4e2429a8..66351507c7 100644
--- a/core/Db/Adapter/Pdo/Pgsql.php
+++ b/core/Db/Adapter/Pdo/Pgsql.php
@@ -36,6 +36,7 @@ class Piwik_Db_Adapter_Pdo_Pgsql extends Zend_Db_Adapter_Pdo_Pgsql implements Pi
/**
* Check PostgreSQL version
+ *
* @throws Exception
*/
public function checkServerVersion()
@@ -98,8 +99,8 @@ class Piwik_Db_Adapter_Pdo_Pgsql extends Zend_Db_Adapter_Pdo_Pgsql implements Pi
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno)
diff --git a/core/Db/Schema.php b/core/Db/Schema.php
index 382b9adb30..5424fbed17 100644
--- a/core/Db/Schema.php
+++ b/core/Db/Schema.php
@@ -20,8 +20,18 @@
*/
class Piwik_Db_Schema
{
+ /**
+ * Singleton instance
+ *
+ * @var Piwik_Db_Schema
+ */
static private $instance = null;
+ /**
+ * Type of database schema
+ *
+ * @var string
+ */
private $schema = null;
/**
@@ -41,7 +51,7 @@ class Piwik_Db_Schema
/**
* Get schema class name
*
- * @param string $schemaName
+ * @param string $schemaName
* @return string
*/
private static function getSchemaClassName($schemaName)
@@ -52,7 +62,7 @@ class Piwik_Db_Schema
/**
* Get list of schemas
*
- * @param string $adapterName
+ * @param string $adapterName
* @return array
*/
public static function getSchemas($adapterName)
@@ -159,8 +169,8 @@ class Piwik_Db_Schema
/**
* Get the SQL to create a specific Piwik table
*
- * @param string $tableName
- * @return string SQL
+ * @param string $tableName name of the table to create
+ * @return string SQL
*/
public function getTableCreateSql( $tableName )
{
@@ -170,7 +180,7 @@ class Piwik_Db_Schema
/**
* Get the SQL to create Piwik tables
*
- * @return array of strings containing SQL
+ * @return array array of strings containing SQL
*/
public function getTablesCreateSql()
{
@@ -179,7 +189,8 @@ class Piwik_Db_Schema
/**
* Create database
- * @param null|string $dbName
+ *
+ * @param null|string $dbName database name to create
*/
public function createDatabase( $dbName = null )
{
@@ -220,7 +231,8 @@ class Piwik_Db_Schema
/**
* Drop specific tables
- * @param array $doNotDelete
+ *
+ * @param array $doNotDelete
*/
public function dropTables( $doNotDelete = array() )
{
@@ -241,8 +253,8 @@ class Piwik_Db_Schema
/**
* Get list of tables installed
*
- * @param bool $forceReload Invalidate cache
- * @return array Tables installed
+ * @param bool $forceReload Invalidate cache
+ * @return array installed tables
*/
public function getTablesInstalled($forceReload = true)
{
@@ -252,36 +264,10 @@ class Piwik_Db_Schema
/**
* Returns true if Piwik tables exist
*
- * @return bool True if tables exist; false otherwise
+ * @return bool True if tables exist; false otherwise
*/
public function hasTables()
{
return $this->getSchema()->hasTables();
}
-}
-
-/**
- * Database schema interface
- *
- * @package Piwik
- * @subpackage Piwik_Db
- */
-interface Piwik_Db_Schema_Interface
-{
- static public function isAvailable();
-
- public function getTableCreateSql($tableName);
- public function getTablesCreateSql();
-
- public function createDatabase( $dbName = null );
- public function dropDatabase();
-
- public function createTables();
- public function createAnonymousUser();
- public function truncateAllTables();
- public function dropTables( $doNotDelete = array() );
-
- public function getTablesNames();
- public function getTablesInstalled($forceReload = true);
- public function hasTables();
-}
+} \ No newline at end of file
diff --git a/core/Db/Schema/Interface.php b/core/Db/Schema/Interface.php
new file mode 100644
index 0000000000..7f437822c9
--- /dev/null
+++ b/core/Db/Schema/Interface.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ * @version $Id$
+ *
+ * @category Piwik
+ * @package Piwik
+ */
+
+/**
+ * Database schema interface
+ *
+ * @package Piwik
+ * @subpackage Piwik_Db
+ */
+interface Piwik_Db_Schema_Interface
+{
+ /**
+ * Is this schema available?
+ *
+ * @return bool True if schema is available; false otherwise
+ */
+ static public function isAvailable();
+
+ /**
+ * Get the SQL to create a specific Piwik table
+ *
+ * @param string $tableName
+ * @return string SQL
+ */
+ public function getTableCreateSql($tableName);
+
+ /**
+ * Get the SQL to create Piwik tables
+ *
+ * @return array array of strings containing SQL
+ */
+ public function getTablesCreateSql();
+
+ /**
+ * Create database
+ *
+ * @param string $dbName Name of the database to create
+ */
+ public function createDatabase( $dbName = null );
+
+ /**
+ * Drop database
+ */
+ public function dropDatabase();
+
+ /**
+ * Create all tables
+ */
+ public function createTables();
+
+ /**
+ * Creates an entry in the User table for the "anonymous" user.
+ */
+ public function createAnonymousUser();
+
+ /**
+ * Truncate all tables
+ */
+ public function truncateAllTables();
+
+ /**
+ * Drop specific tables
+ *
+ * @param array $doNotDelete Names of tables to not delete
+ */
+ public function dropTables( $doNotDelete = array() );
+
+ /**
+ * Names of all the prefixed tables in piwik
+ * Doesn't use the DB
+ *
+ * @return array Table names
+ */
+ public function getTablesNames();
+
+ /**
+ * Get list of tables installed
+ *
+ * @param bool $forceReload Invalidate cache
+ * @return array installed Tables
+ */
+ public function getTablesInstalled($forceReload = true);
+
+ /**
+ * Checks whether any table exists
+ *
+ * @return bool True if tables exist; false otherwise
+ */
+ public function hasTables();
+}
diff --git a/core/Db/Schema/Myisam.php b/core/Db/Schema/Myisam.php
index c77547cce3..bbec50cef3 100644
--- a/core/Db/Schema/Myisam.php
+++ b/core/Db/Schema/Myisam.php
@@ -21,8 +21,8 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Is this MySQL storage engine available?
*
- * @param string $engineName
- * @return bool True if available and enabled; false otherwise
+ * @param string $engineName
+ * @return bool True if available and enabled; false otherwise
*/
static private function hasStorageEngine($engineName)
{
@@ -39,7 +39,7 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Is this schema available?
*
- * @return bool True if schema is available; false otherwise
+ * @return bool True if schema is available; false otherwise
*/
static public function isAvailable()
{
@@ -49,7 +49,7 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Get the SQL to create Piwik tables
*
- * @return array of strings containing SQL
+ * @return array array of strings containing SQL
*/
public function getTablesCreateSql()
{
@@ -385,9 +385,9 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Get the SQL to create a specific Piwik table
*
- * @param string $tableName
+ * @param string $tableName
* @throws Exception
- * @return string SQL
+ * @return string SQL
*/
public function getTableCreateSql( $tableName )
{
@@ -405,7 +405,7 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
* Names of all the prefixed tables in piwik
* Doesn't use the DB
*
- * @return array Table names
+ * @return array Table names
*/
public function getTablesNames()
{
@@ -425,8 +425,8 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Get list of tables installed
*
- * @param bool $forceReload Invalidate cache
- * @return array Tables installed
+ * @param bool $forceReload Invalidate cache
+ * @return array installed Tables
*/
public function getTablesInstalled($forceReload = true)
{
@@ -461,9 +461,9 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
}
/**
- * Do tables exist?
+ * Checks whether any table exists
*
- * @return bool True if tables exist; false otherwise
+ * @return bool True if tables exist; false otherwise
*/
public function hasTables()
{
@@ -473,7 +473,7 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface
/**
* Create database
*
- * @param string $dbName
+ * @param string $dbName Name of the database to create
*/
public function createDatabase( $dbName = null )
{
diff --git a/core/ErrorHandler.php b/core/ErrorHandler.php
index 6536173b06..02bac5b962 100644
--- a/core/ErrorHandler.php
+++ b/core/ErrorHandler.php
@@ -13,11 +13,11 @@
/**
* Error handler used to display nicely errors in Piwik
*
- * @param int $errno Error number
- * @param string $errstr Error message
- * @param string $errfile File name
- * @param int $errline Line number
- * @return
+ * @param int $errno Error number
+ * @param string $errstr Error message
+ * @param string $errfile File name
+ * @param int $errline Line number
+ * @return void
*/
function Piwik_ErrorHandler($errno, $errstr, $errfile, $errline)
{
diff --git a/core/ExceptionHandler.php b/core/ExceptionHandler.php
index 55b0c6bb2b..1c19fe3a79 100644
--- a/core/ExceptionHandler.php
+++ b/core/ExceptionHandler.php
@@ -13,7 +13,7 @@
/**
* Exception handler used to display nicely exceptions in Piwik
*
- * @param Exception $exception
+ * @param Exception $exception
* @throws Exception
*/
function Piwik_ExceptionHandler(Exception $exception)
diff --git a/core/Http.php b/core/Http.php
index a942d09717..b7f61a2251 100644
--- a/core/Http.php
+++ b/core/Http.php
@@ -47,14 +47,14 @@ class Piwik_Http
* If no $destinationPath is specified, the trimmed response (without header) is returned as a string.
* If a $destinationPath is specified, the response (without header) is saved to a file.
*
- * @param string $aUrl
- * @param int $timeout
- * @param string $userAgent
- * @param string $destinationPath
- * @param int $followDepth
- * @param bool $acceptLanguage
+ * @param string $aUrl
+ * @param int $timeout
+ * @param string $userAgent
+ * @param string $destinationPath
+ * @param int $followDepth
+ * @param bool $acceptLanguage
* @throws Exception
- * @return bool true (or string) on success; false on HTTP response error code (1xx or 4xx)
+ * @return bool true (or string) on success; false on HTTP response error code (1xx or 4xx)
*/
static public function sendHttpRequest($aUrl, $timeout, $userAgent = null, $destinationPath = null, $followDepth = 0, $acceptLanguage = false)
{
@@ -77,17 +77,17 @@ class Piwik_Http
/**
* Sends http request using the specified transport method
*
- * @param string $method
- * @param string $aUrl
- * @param int $timeout
- * @param string $userAgent
- * @param string $destinationPath
- * @param resource $file
- * @param int $followDepth
- * @param bool|string $acceptLanguage Accept-language header
- * @param bool $acceptInvalidSslCertificate Only used with $method == 'curl'. If set to true (NOT recommended!) the SSL certificate will not be checked
+ * @param string $method
+ * @param string $aUrl
+ * @param int $timeout
+ * @param string $userAgent
+ * @param string $destinationPath
+ * @param resource $file
+ * @param int $followDepth
+ * @param bool|string $acceptLanguage Accept-language header
+ * @param bool $acceptInvalidSslCertificate Only used with $method == 'curl'. If set to true (NOT recommended!) the SSL certificate will not be checked
* @throws Exception
- * @return bool true (or string) on success; false on HTTP response error code (1xx or 4xx)
+ * @return bool true (or string) on success; false on HTTP response error code (1xx or 4xx)
*/
static public function sendHttpRequestBy($method = 'socket', $aUrl, $timeout, $userAgent = null, $destinationPath = null, $file = null, $followDepth = 0, $acceptLanguage = false, $acceptInvalidSslCertificate = false)
{
@@ -475,10 +475,11 @@ class Piwik_Http
/**
* Fetch the file at $url in the destination $destinationPath
*
- * @param string $url
- * @param string $destinationPath
- * @param int $tries
- * @return true on success, throws Exception on failure
+ * @param string $url
+ * @param string $destinationPath
+ * @param int $tries
+ * @throws Exception
+ * @return bool true on success, throws Exception on failure
*/
static public function fetchRemoteFile($url, $destinationPath = null, $tries = 0)
{
diff --git a/core/IP.php b/core/IP.php
index 8e52059abe..b7bdf54e71 100644
--- a/core/IP.php
+++ b/core/IP.php
@@ -51,7 +51,7 @@ class Piwik_IP
/**
* Sanitize human-readable IP address.
*
- * @param string $ipString IP address
+ * @param string $ipString IP address
* @return string|false
*/
static public function sanitizeIp($ipString)
@@ -106,8 +106,8 @@ class Piwik_IP
* - IPv6 block using CIDR notation, e.g., 2001:DB8::/48 represents the IPv6 addresses from 2001:DB8:0:0:0:0:0:0 to 2001:DB8:0:FFFF:FFFF:FFFF:FFFF:FFFF
* - wildcards, e.g., 192.168.0.*
*
- * @param string $ipRangeString IP address range
- * @return string|false IP address range in CIDR notation
+ * @param string $ipRangeString IP address range
+ * @return string|false IP address range in CIDR notation
*/
static public function sanitizeIpRange($ipRangeString)
{
@@ -155,8 +155,8 @@ class Piwik_IP
/**
* Convert presentation format IP address to network address format
*
- * @param string $ipString IP address, either IPv4 or IPv6, e.g., "127.0.0.1"
- * @return string Binary-safe string, e.g., "\x7F\x00\x00\x01"
+ * @param string $ipString IP address, either IPv4 or IPv6, e.g., "127.0.0.1"
+ * @return string Binary-safe string, e.g., "\x7F\x00\x00\x01"
*/
static public function P2N($ipString)
{
@@ -170,8 +170,8 @@ class Piwik_IP
*
* @see prettyPrint()
*
- * @param string $ip IP address in network address format
- * @return string IP address in presentation format
+ * @param string $ip IP address in network address format
+ * @return string IP address in presentation format
*/
static public function N2P($ip)
{
@@ -183,8 +183,8 @@ class Piwik_IP
/**
* Alias for N2P()
*
- * @param string $ip IP address in network address format
- * @return string IP address in presentation format
+ * @param string $ip IP address in network address format
+ * @return string IP address in presentation format
*/
static public function prettyPrint($ip)
{
@@ -194,8 +194,8 @@ class Piwik_IP
/**
* Is this an IPv4, IPv4-compat, or IPv4-mapped address?
*
- * @param string $ip IP address in network address format
- * @return bool True if IPv4, else false
+ * @param string $ip IP address in network address format
+ * @return bool True if IPv4, else false
*/
static public function isIPv4($ip)
{
@@ -230,8 +230,8 @@ class Piwik_IP
* This function does not support the long (or its string representation)
* returned by the built-in ip2long() function, from Piwik 1.3 and earlier.
*
- * @param string $ip IPv4 address in network address format
- * @return string IP address in presentation format
+ * @param string $ip IPv4 address in network address format
+ * @return string IP address in presentation format
*/
static public function long2ip($ip)
{
@@ -258,8 +258,8 @@ class Piwik_IP
/**
* Get low and high IP addresses for a specified range.
*
- * @param array $ipRange An IP address range in presentation format
- * @return array|false Array ($lowIp, $highIp) in network address format, or false if failure
+ * @param array $ipRange An IP address range in presentation format
+ * @return array|false Array ($lowIp, $highIp) in network address format, or false if failure
*/
static public function getIpsForRange($ipRange)
{
@@ -302,9 +302,9 @@ class Piwik_IP
*
* An IPv4-mapped address should be range checked with an IPv4-mapped address range.
*
- * @param string $ip IP address in network address format
- * @param array $ipRanges List of IP address ranges
- * @return bool True if in any of the specified IP address ranges; else false.
+ * @param string $ip IP address in network address format
+ * @param array $ipRanges List of IP address ranges
+ * @return bool True if in any of the specified IP address ranges; else false.
*/
static public function isIpInRange($ip, $ipRanges)
{
@@ -353,7 +353,7 @@ class Piwik_IP
* Returns the best possible IP of the current user, in the format A.B.C.D
* For example, this could be the proxy client's IP address.
*
- * @return string IP address in presentation format
+ * @return string IP address in presentation format
*/
static public function getIpFromHeader()
{
@@ -376,8 +376,8 @@ class Piwik_IP
/**
* Returns a non-proxy IP address from header
*
- * @param string $default Default value to return if no matching proxy header
- * @param array $proxyHeaders List of proxy headers
+ * @param string $default Default value to return if no matching proxy header
+ * @param array $proxyHeaders List of proxy headers
* @return string
*/
static public function getNonProxyIpFromHeader($default, $proxyHeaders)
@@ -408,9 +408,9 @@ class Piwik_IP
/**
* Returns the last IP address in a comma separated list, subject to an optional exclusion list.
*
- * @param string $csv Comma separated list of elements
- * @param array $excludedIps Optional list of excluded IP addresses (or IP address ranges)
- * @return string Last (non-excluded) IP address in the list
+ * @param string $csv Comma separated list of elements
+ * @param array $excludedIps Optional list of excluded IP addresses (or IP address ranges)
+ * @return string Last (non-excluded) IP address in the list
*/
static public function getLastIpFromList($csv, $excludedIps = null)
{
@@ -433,8 +433,8 @@ class Piwik_IP
/**
* Get hostname for a given IP address
*
- * @param string $ipStr Human-readable IP address
- * @return string Hostname or unmodified $ipStr if failure
+ * @param string $ipStr Human-readable IP address
+ * @return string Hostname or unmodified $ipStr if failure
*/
static public function getHostByAddr($ipStr)
{
@@ -450,8 +450,8 @@ class Piwik_IP
*
* @link http://php.net/inet_ntop
*
- * @param string $in_addr 32-bit IPv4 or 128-bit IPv6 address
- * @return string|false string representation of address or false on failure
+ * @param string $in_addr 32-bit IPv4 or 128-bit IPv6 address
+ * @return string|false string representation of address or false on failure
*/
function php_compat_inet_ntop($in_addr)
{
@@ -523,8 +523,8 @@ function php_compat_inet_ntop($in_addr)
*
* @link http://php.net/inet_pton
*
- * @param string $address a human readable IPv4 or IPv6 address
- * @return string in_addr representation or false on failure
+ * @param string $address a human readable IPv4 or IPv6 address
+ * @return string in_addr representation or false on failure
*/
function php_compat_inet_pton($address)
{
diff --git a/core/Mail.php b/core/Mail.php
index 1abe8f0cb3..8c1fa3c2e8 100644
--- a/core/Mail.php
+++ b/core/Mail.php
@@ -21,14 +21,21 @@ class Piwik_Mail extends Zend_Mail
{
/**
* Default charset utf-8
- * @param string $charset
+ *
+ * @param string $charset charset, defaults to utf-8
*/
public function __construct($charset = 'utf-8')
{
parent::__construct($charset);
$this->initSmtpTransport();
}
-
+
+ /**
+ * Sets the sender to use
+ *
+ * @param string $email
+ * @param null|string $name
+ */
public function setFrom($email, $name = null)
{
$hostname = Piwik_Config::getInstance()->mail['defaultHostnameIfEmpty'];
@@ -46,7 +53,10 @@ class Piwik_Mail extends Zend_Mail
$email = str_replace('{DOMAIN}', $piwikHost, $email);
parent::setFrom($email, $name);
}
-
+
+ /**
+ * @return void
+ */
private function initSmtpTransport()
{
$mailConfig = Piwik_Config::getInstance()->mail;
diff --git a/core/Nonce.php b/core/Nonce.php
index 1acd4c7464..33d1c24d55 100644
--- a/core/Nonce.php
+++ b/core/Nonce.php
@@ -28,9 +28,9 @@ class Piwik_Nonce
/**
* Generate nonce
*
- * @param string $id Unique id to avoid namespace conflicts, e.g., ModuleName.ActionName
- * @param int $ttl Optional time-to-live in seconds; default is 5 minutes
- * @return string Nonce
+ * @param string $id Unique id to avoid namespace conflicts, e.g., ModuleName.ActionName
+ * @param int $ttl Optional time-to-live in seconds; default is 5 minutes
+ * @return string Nonce
*/
static public function getNonce($id, $ttl = 300)
{
@@ -54,9 +54,9 @@ class Piwik_Nonce
/**
* Verify nonce and check referrer (if present, i.e., it may be suppressed by the browser or a proxy/network).
*
- * @param string $id Unique id
- * @param string $cnonce Nonce sent to client
- * @return bool true if valid; false otherwise
+ * @param string $id Unique id
+ * @param string $cnonce Nonce sent to client
+ * @return bool true if valid; false otherwise
*/
static public function verifyNonce($id, $cnonce)
{
@@ -91,7 +91,7 @@ class Piwik_Nonce
/**
* Discard nonce ("now" as opposed to waiting for garbage collection)
*
- * @param string $id Unique id
+ * @param string $id Unique id
*/
static public function discardNonce($id)
{
diff --git a/core/Option.php b/core/Option.php
index cb3b5d64c9..85dd07ffee 100644
--- a/core/Option.php
+++ b/core/Option.php
@@ -20,13 +20,24 @@
*/
class Piwik_Option
{
+ /**
+ * @var array
+ */
private $all = array();
+
+ /**
+ * @var bool
+ */
private $loaded = false;
+ /**
+ * Singleton instance
+ * @var self
+ */
static private $instance = null;
/**
- * Singleton
+ * Returns Singleton instance
*
* @return Piwik_Option
*/
@@ -38,14 +49,17 @@ class Piwik_Option
}
return self::$instance;
}
-
+
+ /**
+ * Private Constructor
+ */
private function __construct() {}
/**
* Returns the option value for the requested option $name, fetching from database, if not in cache.
*
- * @param string $name Key
- * @return string|false Value or false, if not found
+ * @param string $name Key
+ * @return string|false Value or false, if not found
*/
public function get($name)
{
@@ -68,9 +82,9 @@ class Piwik_Option
/**
* Sets the option value in the database and cache
*
- * @param string $name
- * @param string $value
- * @param int $autoload if set to 1, this option value will be automatically loaded; should be set to 1 for options that will always be used in the Piwik request.
+ * @param string $name
+ * @param string $value
+ * @param int $autoload if set to 1, this option value will be automatically loaded; should be set to 1 for options that will always be used in the Piwik request.
*/
public function set($name, $value, $autoload = 0)
{
@@ -85,8 +99,8 @@ class Piwik_Option
/**
* Delete key-value pair from database and reload cache.
*
- * @param string $name Key to match exactly
- * @param string $value Optional value
+ * @param string $name Key to match exactly
+ * @param string $value Optional value
*/
public function delete($name, $value = null)
{
@@ -108,8 +122,8 @@ class Piwik_Option
* Delete key-value pair(s) from database and reload cache.
* The supplied pattern should use '%' as wildcards, and literal '_' should be escaped.
*
- * @param string $name Pattern of key to match.
- * @param string $value Optional value
+ * @param string $name Pattern of key to match.
+ * @param string $value Optional value
*/
public function deleteLike($name, $value = null)
{
@@ -129,7 +143,8 @@ class Piwik_Option
/**
* Initialize cache with autoload settings.
- * @return
+ *
+ * @return void
*/
private function autoload()
{
@@ -165,8 +180,8 @@ class Piwik_Option
/**
* Returns the option value for the requested option $name
*
- * @param string $name Key
- * @return string|false Value or false, if not found
+ * @param string $name Key
+ * @return string|false Value or false, if not found
*/
function Piwik_GetOption($name)
{
@@ -176,9 +191,9 @@ function Piwik_GetOption($name)
/**
* Sets the option value in the database
*
- * @param string $name
- * @param string $value
- * @param int $autoload if set to 1, this option value will be automatically loaded; should be set to 1 for options that will always be used in the Piwik request.
+ * @param string $name
+ * @param string $value
+ * @param int $autoload if set to 1, this option value will be automatically loaded; should be set to 1 for options that will always be used in the Piwik request.
*/
function Piwik_SetOption($name, $value, $autoload = 0)
{
diff --git a/core/Piwik.php b/core/Piwik.php
index 0eef3b8beb..80f79ed183 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -25,10 +25,10 @@ class Piwik
const CLASSES_PREFIX = 'Piwik_';
const COMPRESSED_FILE_LOCATION = '/tmp/assets/';
-/*
- * Piwik periods
- */
-
+ /*
+ * Piwik periods
+ * @var arrray
+ */
public static $idPeriods = array(
'day' => 1,
'week' => 2,
@@ -42,7 +42,7 @@ class Piwik
* -> Always process for day/week/month periods
* For Year and Range, only process if it was enabled in the config file,
*
- * @param string $periodLabel Period label (e.g., 'day')
+ * @param string $periodLabel Period label (e.g., 'day')
* @return bool
*/
static public function isUniqueVisitorsEnabled($periodLabel)
@@ -50,15 +50,11 @@ class Piwik
$settingName = "enable_processing_unique_visitors_$periodLabel";
return Piwik_Config::getInstance()->General[$settingName] == 1;
}
-
-/*
- * Prefix/unprefix class name
- */
/**
* Prefix class name (if needed)
*
- * @param string $class
+ * @param string $class
* @return string
*/
static public function prefixClass( $class )
@@ -73,7 +69,7 @@ class Piwik
/**
* Unprefix class name (if needed)
*
- * @param string $class
+ * @param string $class
* @return string
*/
static public function unprefixClass( $class )
@@ -86,10 +82,6 @@ class Piwik
return $class;
}
-/*
- * Installation / Uninstallation
- */
-
/**
* Installation helper
*/
@@ -111,7 +103,7 @@ class Piwik
*
* @since 0.6.3
*
- * @return bool True if installed; false otherwise
+ * @return bool True if installed; false otherwise
*/
static public function isInstalled()
{
@@ -138,6 +130,7 @@ class Piwik
* If not found, then tries to cache it and returns the value.
*
* If the Piwik URL changes (eg. Piwik moved to new server), the value will automatically be refreshed in the cache.
+ *
* @return string
*/
static public function getPiwikUrl()
@@ -183,7 +176,7 @@ class Piwik
/**
* Set response header, e.g., HTTP/1.0 200 Ok
*
- * @param string $status Status
+ * @param string $status Status
* @return bool
*/
static public function setHttpStatus($status)
@@ -210,7 +203,7 @@ class Piwik
* @see http://support.microsoft.com/kb/316431/
* @see RFC2616
*
- * @param string $override One of "public", "private", "no-cache", or "no-store". (optional)
+ * @param string $override One of "public", "private", "no-cache", or "no-store". (optional)
*/
static public function overrideCacheControlHeaders($override = null)
{
@@ -236,9 +229,9 @@ class Piwik
/**
* Copy recursively from $source to $target.
*
- * @param string $source eg. './tmp/latest'
- * @param string $target eg. '.'
- * @param bool $excludePhp
+ * @param string $source eg. './tmp/latest'
+ * @param string $target eg. '.'
+ * @param bool $excludePhp
*/
static public function copyRecursive($source, $target, $excludePhp=false )
{
@@ -273,9 +266,9 @@ class Piwik
/**
* Copy individual file from $source to $target.
*
- * @param string $source eg. './tmp/latest/index.php'
- * @param string $dest eg. './index.php'
- * @param bool $excludePhp
+ * @param string $source eg. './tmp/latest/index.php'
+ * @param string $dest eg. './index.php'
+ * @param bool $excludePhp
* @throws Exception
* @return bool
*/
@@ -308,8 +301,8 @@ class Piwik
/**
* Returns friendly error message explaining how to fix permissions
*
- * @param $path to the directory missing permissions
- * @return string Error message
+ * @param string $path to the directory missing permissions
+ * @return string Error message
*/
static public function getErrorMessageMissingPermissions($path)
{
@@ -335,8 +328,8 @@ class Piwik
/**
* Recursively delete a directory
*
- * @param string $dir Directory name
- * @param boolean $deleteRootToo Delete specified top-level directory as well
+ * @param string $dir Directory name
+ * @param boolean $deleteRootToo Delete specified top-level directory as well
*/
static public function unlinkRecursive($dir, $deleteRootToo)
{
@@ -368,9 +361,9 @@ class Piwik
* Recursively find pathnames that match a pattern
* @see glob()
*
- * @param string $sDir directory
- * @param string $sPattern pattern
- * @param int $nFlags glob() flags
+ * @param string $sDir directory
+ * @param string $sPattern pattern
+ * @param int $nFlags glob() flags
* @return array
*/
public static function globr($sDir, $sPattern, $nFlags = NULL)
@@ -393,7 +386,7 @@ class Piwik
/**
* Returns the help text displayed to suggest which command to run to give writable access to a file or directory
*
- * @param string $realpath
+ * @param string $realpath
* @return string
*/
static private function getMakeWritableCommand($realpath)
@@ -409,7 +402,7 @@ class Piwik
* Checks that the directories Piwik needs write access are actually writable
* Displays a nice error page if permissions are missing on some directories
*
- * @param array $directoriesToCheck Array of directory names to check
+ * @param array $directoriesToCheck Array of directory names to check
*/
static public function checkDirectoriesWritableOrDie( $directoriesToCheck = null )
{
@@ -450,8 +443,8 @@ class Piwik
/**
* Checks if directories are writable and create them if they do not exist.
*
- * @param array $directoriesToCheck array of directories to check - if not given default Piwik directories that needs write permission are checked
- * @return array directory name => true|false (is writable)
+ * @param array $directoriesToCheck array of directories to check - if not given default Piwik directories that needs write permission are checked
+ * @return array directory name => true|false (is writable)
*/
static public function checkDirectoriesWritable($directoriesToCheck = null)
{
@@ -495,8 +488,8 @@ class Piwik
/**
* Check if this installation can be auto-updated.
- *
* For performance, we look for clues rather than an exhaustive test.
+ *
* @return bool
*/
static public function canAutoUpdate()
@@ -723,7 +716,7 @@ class Piwik
/**
* Test if php output is compressed
*
- * @return bool True if php output is (or suspected/likely) to be compressed
+ * @return bool True if php output is (or suspected/likely) to be compressed
*/
static public function isPhpOutputCompressed()
{
@@ -770,10 +763,10 @@ class Piwik
* A future upgrade of this method would be to recreate the directory structure of the static file
* within a /tmp/compressed-static-files directory.
*
- * @param string $file The location of the static file to serve
- * @param string $contentType The content type of the static file.
- * @param bool $expireFarFuture If set to true, will set Expires: header in far future.
- * Should be set to false for files that don't have a cache buster (eg. piwik.js)
+ * @param string $file The location of the static file to serve
+ * @param string $contentType The content type of the static file.
+ * @param bool $expireFarFuture If set to true, will set Expires: header in far future.
+ * Should be set to false for files that don't have a cache buster (eg. piwik.js)
*/
static public function serveStaticFile($file, $contentType, $expireFarFuture = true)
{
@@ -904,10 +897,10 @@ class Piwik
/**
* Create CSV (or other delimited) files
*
- * @param string $filePath
- * @param array $fileSpec File specifications (delimiter, line terminator, etc)
- * @param array $rows Array of array corresponding to rows of values
- * @throws Exception if unable to create or write to file
+ * @param string $filePath filename to create
+ * @param array $fileSpec File specifications (delimiter, line terminator, etc)
+ * @param array $rows Array of array corresponding to rows of values
+ * @throws Exception if unable to create or write to file
*/
static public function createCSVFile($filePath, $fileSpec, $rows)
{
@@ -960,7 +953,7 @@ class Piwik
/**
* Set maximum script execution time.
*
- * @param int max execution time in seconds (0 = no limit)
+ * @param int $executionTime max execution time in seconds (0 = no limit)
*/
static public function setMaxExecutionTime($executionTime)
{
@@ -976,7 +969,7 @@ class Piwik
* compile-time default, so ini_get('memory_limit') may return false.
*
* @see http://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes
- * @return int|false memory limit in megabytes, or false if there is no limit
+ * @return int|false memory limit in megabytes, or false if there is no limit
*/
static public function getMemoryLimitValue()
{
@@ -1008,8 +1001,8 @@ class Piwik
*
* Note: system settings may prevent scripts from overriding the master value
*
- * @param int $minimumMemoryLimit
- * @return bool true if set; false otherwise
+ * @param int $minimumMemoryLimit
+ * @return bool true if set; false otherwise
*/
static public function setMemoryLimit($minimumMemoryLimit)
{
@@ -1026,7 +1019,7 @@ class Piwik
/**
* Raise PHP memory limit if below the minimum required
*
- * @return bool true if set; false otherwise
+ * @return bool true if set; false otherwise
*/
static public function raiseMemoryLimitIfNecessary()
{
@@ -1063,7 +1056,7 @@ class Piwik
/**
* Log a message
*
- * @param string $message
+ * @param string $message
*/
static public function log($message = '')
{
@@ -1086,6 +1079,10 @@ class Piwik
}
}
+ /**
+ * Returns if logging should work
+ * @return bool
+ */
static public function shouldLoggerLog()
{
try {
@@ -1104,7 +1101,7 @@ class Piwik
/**
* Trigger E_USER_ERROR with optional message
*
- * @param string $message
+ * @param string $message
*/
static public function error($message = '')
{
@@ -1115,7 +1112,7 @@ class Piwik
* Display the message in a nice red font with a nice icon
* ... and dies
*
- * @param string $message
+ * @param string $message
*/
static public function exitWithErrorMessage( $message )
{
@@ -1135,7 +1132,7 @@ class Piwik
/**
* Get total number of queries
*
- * @return int number of queries
+ * @return int number of queries
*/
static public function getQueryCount()
{
@@ -1146,7 +1143,7 @@ class Piwik
/**
* Get total elapsed time (in seconds)
*
- * @return int elapsed time
+ * @return int elapsed time
*/
static public function getDbElapsedSecs()
{
@@ -1167,7 +1164,7 @@ class Piwik
/**
* Print profiling report for the tracker
*
- * @param Piwik_Tracker_Db $db Tracker database object (or null)
+ * @param Piwik_Tracker_Db $db Tracker database object (or null)
*/
static public function printSqlProfilingReportTracker( $db = null )
{
@@ -1206,6 +1203,7 @@ class Piwik
/**
* Outputs SQL Profiling reports
* It is automatically called when enabling the SQL profiling in the config file enable_sql_profiler
+ * @throws Exception
*/
static function printSqlProfilingReportZend()
{
@@ -1263,7 +1261,7 @@ class Piwik
/**
* Log a breakdown by query
*
- * @param array $infoIndexedByQuery
+ * @param array $infoIndexedByQuery
*/
static private function getSqlProfilingQueryBreakdownOutput( $infoIndexedByQuery )
{
@@ -1295,8 +1293,8 @@ class Piwik
/**
* Print memory leak
*
- * @param string $prefix
- * @param string $suffix
+ * @param string $prefix
+ * @param string $suffix
*/
static public function printMemoryLeak($prefix = '', $suffix = '<br />')
{
@@ -1336,7 +1334,7 @@ class Piwik
/**
* Returns a list of currency symbols
*
- * @return array array( currencyCode => symbol, ... )
+ * @return array array( currencyCode => symbol, ... )
*/
static public function getCurrencyList()
{
@@ -1353,9 +1351,9 @@ class Piwik
* Computes the division of i1 by i2. If either i1 or i2 are not number, or if i2 has a value of zero
* we return 0 to avoid the division by zero.
*
- * @param numeric $i1
- * @param numeric $i2
- * @return numeric The result of the division or zero
+ * @param number $i1
+ * @param number $i2
+ * @return number The result of the division or zero
*/
static public function secureDiv( $i1, $i2 )
{
@@ -1369,10 +1367,10 @@ class Piwik
/**
* Safely compute a percentage. Return 0 to avoid division by zero.
*
- * @param numeric $dividend
- * @param numeric $divisor
- * @param int $precision
- * @return numeric
+ * @param number $dividend
+ * @param number $divisor
+ * @param int $precision
+ * @return number
*/
static public function getPercentageSafe($dividend, $divisor, $precision = 0)
{
@@ -1386,7 +1384,7 @@ class Piwik
/**
* Get currency symbol for a site
*
- * @param int $idSite
+ * @param int $idSite
* @return string
*/
static public function getCurrency($idSite)
@@ -1404,11 +1402,11 @@ class Piwik
/**
* For the given value, based on the column name, will apply: pretty time, pretty money
- * @param int $idSite
- * @param string $columnName
- * @param mixed $value
- * @param bool $htmlAllowed
- * @param string $timeAsSentence
+ * @param int $idSite
+ * @param string $columnName
+ * @param mixed $value
+ * @param bool $htmlAllowed
+ * @param string $timeAsSentence
* @return string
*/
static public function getPrettyValue($idSite, $columnName, $value, $htmlAllowed, $timeAsSentence)
@@ -1437,9 +1435,9 @@ class Piwik
/**
* Pretty format monetary value for a site
*
- * @param int|string $value
- * @param int $idSite
- * @param bool $htmlAllowed
+ * @param int|string $value
+ * @param int $idSite
+ * @param bool $htmlAllowed
* @return string
*/
static public function getPrettyMoney($value, $idSite, $htmlAllowed = true)
@@ -1483,9 +1481,9 @@ class Piwik
/**
* Pretty format a memory size value
*
- * @param numeric $size in bytes
- * @param string $unit The specific unit to use, if any. If null, the unit is determined by $size.
- * @param int $precision The precision to use when rounding.
+ * @param number $size size in bytes
+ * @param string $unit The specific unit to use, if any. If null, the unit is determined by $size.
+ * @param int $precision The precision to use when rounding.
* @return string
*/
static public function getPrettySizeFromBytes( $size, $unit = null, $precision = 1 )
@@ -1513,9 +1511,9 @@ class Piwik
/**
* Pretty format a time
*
- * @param int $numberOfSeconds
- * @param bool $displayTimeAsSentence If set to true, will output "5min 17s", if false "00:05:17"
- * @param bool $isHtml
+ * @param int $numberOfSeconds
+ * @param bool $displayTimeAsSentence If set to true, will output "5min 17s", if false "00:05:17"
+ * @param bool $isHtml
* @return string
*/
static public function getPrettyTimeFromSeconds($numberOfSeconds, $displayTimeAsSentence = true, $isHtml = true)
@@ -1574,7 +1572,7 @@ class Piwik
* Gets a prettified string representation of a number. The result will have
* thousands separators and a decimal point specific to the current locale.
*
- * @param numeric $value
+ * @param number $value
* @return string
*/
static public function getPrettyNumber( $value )
@@ -1590,8 +1588,8 @@ class Piwik
/**
* Returns the Javascript code to be inserted on every page to track
*
- * @param int $idSite
- * @param string $piwikUrl http://path/to/piwik/directory/
+ * @param int $idSite
+ * @param string $piwikUrl http://path/to/piwik/directory/
* @return string
*/
static public function getJavascriptCode($idSite, $piwikUrl)
@@ -1642,6 +1640,7 @@ class Piwik
/**
* Segments to pre-process
+ *
* @return string
*/
static public function getKnownSegmentsToArchive()
@@ -1690,7 +1689,7 @@ class Piwik
/**
* Get current user login
*
- * @return string login ID
+ * @return string login ID
*/
static public function getCurrentUserLogin()
{
@@ -1700,7 +1699,7 @@ class Piwik
/**
* Get current user's token auth
*
- * @return string Token auth
+ * @return string Token auth
*/
static public function getCurrentUserTokenAuth()
{
@@ -1711,7 +1710,7 @@ class Piwik
* Returns true if the current user is either the super user, or the user $theUser
* Used when modifying user preference: this usually requires super user or being the user itself.
*
- * @param string $theUser
+ * @param string $theUser
* @return bool
*/
static public function isUserIsSuperUserOrTheUser( $theUser )
@@ -1727,8 +1726,8 @@ class Piwik
/**
* Check that current user is either the specified user or the superuser
*
- * @param string $theUser
- * @throws exception if the user is neither the super user nor the user $theUser
+ * @param string $theUser
+ * @throws Piwik_Access_NoAccessException if the user is neither the super user nor the user $theUser
*/
static public function checkUserIsSuperUserOrTheUser( $theUser )
{
@@ -1761,7 +1760,7 @@ class Piwik
/**
* Is user the anonymous user?
*
- * @return bool True if anonymouse; false otherwise
+ * @return bool True if anonymouse; false otherwise
*/
static public function isUserIsAnonymous()
{
@@ -1771,7 +1770,7 @@ class Piwik
/**
* Checks if user is not the anonymous user.
*
- * @throws Exception if user is anonymous.
+ * @throws Piwik_Access_NoAccessException if user is anonymous.
*/
static public function checkUserIsNotAnonymous()
{
@@ -1785,7 +1784,7 @@ class Piwik
* Helper method user to set the current as Super User.
* This should be used with great care as this gives the user all permissions.
*
- * @param bool $bool true to set current user as super user
+ * @param bool $bool true to set current user as super user
*/
static public function setUserIsSuperUser( $bool = true )
{
@@ -1805,7 +1804,7 @@ class Piwik
/**
* Returns true if the user has admin access to the sites
*
- * @param mixed $idSites
+ * @param mixed $idSites
* @return bool
*/
static public function isUserHasAdminAccess( $idSites )
@@ -1821,7 +1820,7 @@ class Piwik
/**
* Check user has admin access to the sites
*
- * @param mixed $idSites
+ * @param mixed $idSites
* @throws Exception if user doesn't have admin access to the sites
*/
static public function checkUserHasAdminAccess( $idSites )
@@ -1857,7 +1856,7 @@ class Piwik
/**
* Returns true if the user has view access to the sites
*
- * @param mixed $idSites
+ * @param mixed $idSites
* @return bool
*/
static public function isUserHasViewAccess( $idSites )
@@ -1873,7 +1872,7 @@ class Piwik
/**
* Check user has view access to the sites
*
- * @param mixed $idSites
+ * @param mixed $idSites
* @throws Exception if user doesn't have view access to sites
*/
static public function checkUserHasViewAccess( $idSites )
@@ -1958,7 +1957,7 @@ class Piwik
* array[]=value1&array[]=value2 in the URL.
* This function will handle both cases and return the array.
*
- * @param array|string $columns String or array
+ * @param array|string $columns
* @return array
*/
static public function getArrayFromApiParameter($columns)
@@ -1974,10 +1973,10 @@ class Piwik
/**
* Redirect to module (and action)
*
- * @param string $newModule Target module
- * @param string $newAction Target action
- * @param array $parameters Parameters to modify in the URL
- * @return bool false if the URL to redirect to is already this URL
+ * @param string $newModule Target module
+ * @param string $newAction Target action
+ * @param array $parameters Parameters to modify in the URL
+ * @return bool false if the URL to redirect to is already this URL
*/
static public function redirectToModule( $newModule, $newAction = '', $parameters = array() )
{
@@ -1994,7 +1993,7 @@ class Piwik
/**
* Create database object and connect to database
- * @param array $dbInfos
+ * @param array|null $dbInfos
*/
static public function createDatabaseObject( $dbInfos = null )
{
@@ -2043,7 +2042,7 @@ class Piwik
/**
* Check database connection character set is utf8.
*
- * @return bool True if it is (or doesn't matter); false otherwise
+ * @return bool True if it is (or doesn't matter); false otherwise
*/
static public function isDatabaseConnectionUTF8()
{
@@ -2056,6 +2055,7 @@ class Piwik
/**
* Create log object
+ * @throws Exception
*/
static public function createLogObject()
{
@@ -2144,7 +2144,7 @@ class Piwik
/**
* Returns true if the email is a valid email
*
- * @param string email
+ * @param string $email
* @return bool
*/
static public function isValidEmailString( $email )
@@ -2156,9 +2156,9 @@ class Piwik
* Returns true if the login is valid.
* Warning: does not check if the login already exists! You must use UsersManager_API->userExists as well.
*
- * @param $userLogin
+ * @param string $userLogin
* @throws Exception
- * @return bool or throws exception
+ * @return bool
*/
static public function checkValidLoginString( $userLogin )
{
@@ -2182,7 +2182,7 @@ class Piwik
/**
* Should Piwik check that the login & password have minimum length and valid characters?
*
- * @return bool True if checks enabled; false otherwise
+ * @return bool True if checks enabled; false otherwise
*/
static public function isChecksEnabled()
{
@@ -2214,7 +2214,7 @@ class Piwik
* (e.g., php >= 5.2, or compiled with EXPERIMENTAL_DATE_SUPPORT=1 for
* php < 5.2).
*
- * @return bool True if timezones supported; false otherwise
+ * @return bool True if timezones supported; false otherwise
*/
static public function isTimezoneSupportEnabled()
{
@@ -2233,7 +2233,7 @@ class Piwik
/**
* Is the schema available?
*
- * @return bool True if schema is available; false otherwise
+ * @return bool True if schema is available; false otherwise
*/
static public function isAvailable()
{
@@ -2243,8 +2243,8 @@ class Piwik
/**
* Get the SQL to create a specific Piwik table
*
- * @param string $tableName
- * @return string SQL
+ * @param string $tableName
+ * @return string SQL
*/
static public function getTableCreateSql( $tableName )
{
@@ -2254,7 +2254,7 @@ class Piwik
/**
* Get the SQL to create Piwik tables
*
- * @return array of strings containing SQL
+ * @return array array of strings containing SQL
*/
static public function getTablesCreateSql()
{
@@ -2264,7 +2264,7 @@ class Piwik
/**
* Create database
*
- * @param string $dbName
+ * @param string|null $dbName
*/
static public function createDatabase( $dbName = null )
{
@@ -2306,7 +2306,7 @@ class Piwik
/**
* Drop specific tables
*
- * @param array $doNotDelete Names of tables to not delete
+ * @param array $doNotDelete Names of tables to not delete
*/
static public function dropTables( $doNotDelete = array() )
{
@@ -2317,7 +2317,7 @@ class Piwik
* Names of all the prefixed tables in piwik
* Doesn't use the DB
*
- * @return array Table names
+ * @return array Table names
*/
static public function getTablesNames()
{
@@ -2327,8 +2327,8 @@ class Piwik
/**
* Get list of tables installed
*
- * @param bool $forceReload Invalidate cache
- * @return array Tables installed
+ * @param bool $forceReload Invalidate cache
+ * @return array Tables installed
*/
static public function getTablesInstalled($forceReload = true)
{
@@ -2338,11 +2338,11 @@ class Piwik
/**
* Batch insert into table from CSV (or other delimited) file.
*
- * @param string $tableName Name of table
- * @param array $fields Field names
- * @param string $filePath Path name of a file.
- * @param array $fileSpec File specifications (delimiter, line terminator, etc)
- * @return bool True if successful; false otherwise
+ * @param string $tableName Name of table
+ * @param array $fields Field names
+ * @param string $filePath Path name of a file.
+ * @param array $fileSpec File specifications (delimiter, line terminator, etc)
+ * @return bool True if successful; false otherwise
*/
static public function createTableFromCSVFile($tableName, $fields, $filePath, $fileSpec)
{
@@ -2425,10 +2425,11 @@ class Piwik
* Performs a batch insert into a specific table using either LOAD DATA INFILE or plain INSERTs,
* as a fallback. On MySQL, LOAD DATA INFILE is 20x faster than a series of plain INSERTs.
*
- * @param string $tableName PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
- * @param array $fields array of unquoted field names
- * @param array $values array of data to be inserted
- * @return bool True if the bulk LOAD was used, false if we fallback to plain INSERTs
+ * @param string $tableName PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
+ * @param array $fields array of unquoted field names
+ * @param array $values array of data to be inserted
+ * @throws Exception
+ * @return bool True if the bulk LOAD was used, false if we fallback to plain INSERTs
*/
static public function tableInsertBatch($tableName, $fields, $values)
{
@@ -2481,10 +2482,10 @@ class Piwik
*
* NOTE: you should use tableInsertBatch() which will fallback to this function if LOAD DATA INFILE not available
*
- * @param string $tableName PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
- * @param array $fields array of unquoted field names
- * @param array $values array of data to be inserted
- * @param bool $ignoreWhenDuplicate Ignore new rows that contain unique key values that duplicate old rows
+ * @param string $tableName PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
+ * @param array $fields array of unquoted field names
+ * @param array $values array of data to be inserted
+ * @param bool $ignoreWhenDuplicate Ignore new rows that contain unique key values that duplicate old rows
*/
static public function tableInsertBatchIterate($tableName, $fields, $values, $ignoreWhenDuplicate = true)
{
@@ -2503,9 +2504,9 @@ class Piwik
/**
* Generate advisory lock name
*
- * @param int $idsite
- * @param Piwik_Period $period
- * @param Piwik_Segment $segment
+ * @param int $idsite
+ * @param Piwik_Period $period
+ * @param Piwik_Segment $segment
* @return string
*/
static public function getArchiveProcessingLockName($idsite, $period, Piwik_Segment $segment)
@@ -2526,10 +2527,10 @@ class Piwik
/**
* Get an advisory lock
*
- * @param int $idsite
- * @param Piwik_Period $period
- * @param Piwik_Segment $segment
- * @return bool True if lock acquired; false otherwise
+ * @param int $idsite
+ * @param Piwik_Period $period
+ * @param Piwik_Segment $segment
+ * @return bool True if lock acquired; false otherwise
*/
static public function getArchiveProcessingLock($idsite, $period, $segment)
{
@@ -2559,9 +2560,9 @@ class Piwik
/**
* Release an advisory lock
*
- * @param int $idsite
- * @param Piwik_Period $period
- * @param Piwik_Segment $segment
+ * @param int $idsite
+ * @param Piwik_Period $period
+ * @param Piwik_Segment $segment
* @return bool True if lock released; false otherwise
*/
static public function releaseArchiveProcessingLock($idsite, $period, $segment)
diff --git a/core/Plugin.php b/core/Plugin.php
index 9770523f73..e20a156d27 100644
--- a/core/Plugin.php
+++ b/core/Plugin.php
@@ -29,11 +29,14 @@ abstract class Piwik_Plugin
* - 'version' => string // plugin version number; examples and 3rd party plugins must not use Piwik_Version::VERSION; 3rd party plugins must increment the version number with each plugin release
* - 'translationAvailable' => bool // is there a translation file in plugins/your-plugin/lang/* ?
* - 'TrackerPlugin' => bool // should we load this plugin during the stats logging process?
+ *
+ * @return array
*/
abstract public function getInformation();
/**
* Returns the list of hooks registered with the methods names
+ *
* @return array
*/
public function getListHooksRegistered()
diff --git a/core/PluginsFunctions/WidgetsList.php b/core/PluginsFunctions/WidgetsList.php
index 21234832f4..5fef64028c 100644
--- a/core/PluginsFunctions/WidgetsList.php
+++ b/core/PluginsFunctions/WidgetsList.php
@@ -15,10 +15,27 @@
*/
class Piwik_WidgetsList
{
+ /**
+ * List of widgets
+ *
+ * @var array
+ */
static protected $widgets = null;
+
+ /**
+ * Indicated whether the hook was posted or not
+ *
+ * @var bool
+ */
static protected $hookCalled = false;
-
- static function get()
+
+ /**
+ * Returns all available widgets
+ * The event WidgetsList.add is used to create the list
+ *
+ * @return array
+ */
+ static public function get()
{
if(!self::$hookCalled)
{
@@ -27,8 +44,17 @@ class Piwik_WidgetsList
}
return self::$widgets;
}
-
- static function add($widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters)
+
+ /**
+ * Adds an widget to the list
+ *
+ * @param string $widgetCategory
+ * @param string $widgetName
+ * @param string $controllerName
+ * @param string $controllerAction
+ * @param array $customParameters
+ */
+ static public function add($widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters)
{
$widgetCategory = Piwik_Translate($widgetCategory);
$widgetName = Piwik_Translate($widgetName);
@@ -51,8 +77,15 @@ class Piwik_WidgetsList
) + $customParameters
);
}
-
- static function isDefined($controllerName, $controllerAction)
+
+ /**
+ * Checks if the widget with the given parameters exists in der widget list
+ *
+ * @param string $controllerName
+ * @param string $controllerAction
+ * @return bool
+ */
+ static public function isDefined($controllerName, $controllerAction)
{
$widgetsList = self::get();
foreach($widgetsList as $widgetCategory => $widgets)
@@ -70,16 +103,43 @@ class Piwik_WidgetsList
}
}
+/**
+ * Returns all available widgets
+ *
+ * @see Piwik_WidgetsList::get
+ *
+ * @return array
+ */
function Piwik_GetWidgetsList()
{
return Piwik_WidgetsList::get();
}
+/**
+ * Adds an widget to the list
+ *
+ * @see Piwik_WidgetsList::add
+ *
+ * @param string $widgetCategory
+ * @param string $widgetName
+ * @param string $controllerName
+ * @param string $controllerAction
+ * @param array $customParameters
+ */
function Piwik_AddWidget( $widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters = array())
{
Piwik_WidgetsList::add($widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters);
}
+/**
+ * Checks if the widget with the given parameters exists in der widget list
+ *
+ * @see Piwik_WidgetsList::isDefined
+ *
+ * @param string $controllerName
+ * @param string $controllerAction
+ * @return bool
+ */
function Piwik_IsWidgetDefined($controllerName, $controllerAction)
{
return Piwik_WidgetsList::isDefined($controllerName, $controllerAction);
diff --git a/core/PluginsManager.php b/core/PluginsManager.php
index 581f35bc94..da1f555ea0 100644
--- a/core/PluginsManager.php
+++ b/core/PluginsManager.php
@@ -81,7 +81,7 @@ class Piwik_PluginsManager
/**
* Returns true if plugin is always activated
*
- * @param string $name Name of plugin
+ * @param string $name Name of plugin
* @return bool
*/
public function isPluginAlwaysActivated( $name )
@@ -92,7 +92,7 @@ class Piwik_PluginsManager
/**
* Returns true if plugin has been activated
*
- * @param string $name Name of plugin
+ * @param string $name Name of plugin
* @return bool
*/
public function isPluginActivated( $name )
@@ -104,7 +104,7 @@ class Piwik_PluginsManager
/**
* Returns true if plugin is loaded (in memory)
*
- * @param string $name Name of plugin
+ * @param string $name Name of plugin
* @return bool
*/
public function isPluginLoaded( $name )
@@ -127,7 +127,7 @@ class Piwik_PluginsManager
/**
* Deactivate plugin
*
- * @param string $pluginName Name of plugin
+ * @param string $pluginName Name of plugin
*/
public function deactivatePlugin($pluginName)
{
@@ -173,7 +173,7 @@ class Piwik_PluginsManager
/**
* Activate the specified plugin and install (if needed)
*
- * @param string $pluginName Name of plugin
+ * @param string $pluginName Name of plugin
* @throws Exception
*/
public function activatePlugin($pluginName)
@@ -216,7 +216,7 @@ class Piwik_PluginsManager
/**
* Load the specified plugins
*
- * @param array $pluginsToLoad Array of plugins to load
+ * @param array $pluginsToLoad Array of plugins to load
*/
public function loadPlugins( array $pluginsToLoad )
{
@@ -248,7 +248,7 @@ class Piwik_PluginsManager
/**
* Load translations for loaded plugins
*
- * @param bool|string $language Optional language code
+ * @param bool|string $language Optional language code
*/
public function loadPluginTranslations($language = false)
{
@@ -304,9 +304,9 @@ class Piwik_PluginsManager
/**
* Returns the given Piwik_Plugin object
*
- * @param string $name
+ * @param string $name
* @throws Exception
- * @return Piwik_Piwik
+ * @return array
*/
public function getLoadedPlugin($name)
{
@@ -348,7 +348,7 @@ class Piwik_PluginsManager
* Loads the plugin filename and instantiates the plugin with the given name, eg. UserCountry
* Do NOT give the class name ie. Piwik_UserCountry, but give the plugin name ie. UserCountry
*
- * @param string $pluginName
+ * @param string $pluginName
* @throws Exception
* @return Piwik_Plugin
*/
@@ -397,7 +397,7 @@ class Piwik_PluginsManager
/**
* Unload plugin
*
- * @param Piwik_Plugin $plugin
+ * @param Piwik_Plugin $plugin
* @throws Exception
*/
public function unloadPlugin( $plugin )
@@ -445,7 +445,7 @@ class Piwik_PluginsManager
/**
* Install a specific plugin
*
- * @param Piwik_Plugin $plugin
+ * @param Piwik_Plugin $plugin
* @throws Piwik_PluginsManager_PluginException if installation fails
*/
private function installPlugin( Piwik_Plugin $plugin )
@@ -460,7 +460,7 @@ class Piwik_PluginsManager
/**
* For the given plugin, add all the observers of this plugin.
*
- * @param Piwik_Plugin $plugin
+ * @param Piwik_Plugin $plugin
*/
private function addPluginObservers( Piwik_Plugin $plugin )
{
@@ -475,8 +475,8 @@ class Piwik_PluginsManager
/**
* Add a plugin in the loaded plugins array
*
- * @param string $pluginName plugin name without prefix (eg. 'UserCountry')
- * @param Piwik_Plugin $newPlugin
+ * @param string $pluginName plugin name without prefix (eg. 'UserCountry')
+ * @param Piwik_Plugin $newPlugin
*/
private function addLoadedPlugin( $pluginName, Piwik_Plugin $newPlugin )
{
@@ -486,8 +486,10 @@ class Piwik_PluginsManager
/**
* Load translation
*
- * @param Piwik_Plugin $plugin
- * @param string $langCode
+ * @param Piwik_Plugin $plugin
+ * @param string $langCode
+ * @throws Exception
+ * @return void
*/
private function loadTranslation( $plugin, $langCode )
{
@@ -547,7 +549,7 @@ class Piwik_PluginsManager
/**
* Install a plugin, if necessary
*
- * @param Piwik_Plugin $plugin
+ * @param Piwik_Plugin $plugin
*/
private function installPluginIfNecessary( Piwik_Plugin $plugin )
{
@@ -611,11 +613,11 @@ class Piwik_PluginsManager_PluginException extends Exception
/**
* Post an event to the dispatcher which will notice the observers
*
- * @param string $eventName The event name
- * @param mixed $object Object, array or string that the listeners can read and/or modify.
- * Listeners can call $object =& $notification->getNotificationObject(); to fetch and then modify this variable.
- * @param array $info Additional array of data that can be used by the listeners, but not edited
- * @param bool $pending Should the notification be posted to plugins that register after the notification was sent?
+ * @param string $eventName The event name
+ * @param mixed $object Object, array or string that the listeners can read and/or modify.
+ * Listeners can call $object =& $notification->getNotificationObject(); to fetch and then modify this variable.
+ * @param array $info Additional array of data that can be used by the listeners, but not edited
+ * @param bool $pending Should the notification be posted to plugins that register after the notification was sent?
* @return void
*/
function Piwik_PostEvent( $eventName, &$object = null, $info = array(), $pending = false )
@@ -627,8 +629,8 @@ function Piwik_PostEvent( $eventName, &$object = null, $info = array(), $pendin
/**
* Register an action to execute for a given event
*
- * @param string $hookName Name of event
- * @param function $function Callback hook
+ * @param string $hookName Name of event
+ * @param function $function Callback hook
*/
function Piwik_AddAction( $hookName, $function )
{
diff --git a/core/Session.php b/core/Session.php
index 512eb835ef..2a0b23c104 100644
--- a/core/Session.php
+++ b/core/Session.php
@@ -23,7 +23,7 @@ class Piwik_Session extends Zend_Session
/**
* Are we using file-based session store?
*
- * @return bool True if file-based; false otherwise
+ * @return bool True if file-based; false otherwise
*/
public static function isFileBasedSessions()
{
@@ -35,7 +35,7 @@ class Piwik_Session extends Zend_Session
/**
* Start the session
*
- * @param array|bool $options An array of configuration options; the auto-start (bool) setting is ignored
+ * @param array|bool $options An array of configuration options; the auto-start (bool) setting is ignored
* @return void
*/
public static function start($options = false)
diff --git a/core/Session/Namespace.php b/core/Session/Namespace.php
index 2393508048..c01b976a97 100644
--- a/core/Session/Namespace.php
+++ b/core/Session/Namespace.php
@@ -18,6 +18,10 @@
*/
class Piwik_Session_Namespace extends Zend_Session_Namespace
{
+ /**
+ * @param string $namespace
+ * @param bool $singleInstance
+ */
public function __construct($namespace = 'Default', $singleInstance = false)
{
if(Piwik_Common::isPhpCliMode())
diff --git a/core/Session/SaveHandler/DbTable.php b/core/Session/SaveHandler/DbTable.php
index c891f915f5..e3e32ca890 100644
--- a/core/Session/SaveHandler/DbTable.php
+++ b/core/Session/SaveHandler/DbTable.php
@@ -21,6 +21,9 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
protected $config;
protected $maxLifetime;
+ /**
+ * @param array $config
+ */
function __construct($config)
{
$this->config = $config;
@@ -40,8 +43,8 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
/**
* Open Session - retrieve resources
*
- * @param string $save_path
- * @param string $name
+ * @param string $save_path
+ * @param string $name
* @return boolean
*/
public function open($save_path, $name)
@@ -64,7 +67,7 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
/**
* Read session data
*
- * @param string $id
+ * @param string $id
* @return string
*/
public function read($id)
@@ -83,8 +86,8 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
/**
* Write Session - commit data to resource
*
- * @param string $id
- * @param mixed $data
+ * @param string $id
+ * @param mixed $data
* @return boolean
*/
public function write($id, $data)
@@ -109,7 +112,7 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
* Destroy Session - remove data from resource for
* given session id
*
- * @param string $id
+ * @param string $id
* @return boolean
*/
public function destroy($id)
@@ -126,7 +129,7 @@ class Piwik_Session_SaveHandler_DbTable implements Zend_Session_SaveHandler_Inte
* Garbage Collection - remove old session data older
* than $maxlifetime (in seconds)
*
- * @param int $maxlifetime
+ * @param int $maxlifetime timestamp in seconds
* @return true
*/
public function gc($maxlifetime)
diff --git a/core/Site.php b/core/Site.php
index 4178d1471b..30fb42bf02 100644
--- a/core/Site.php
+++ b/core/Site.php
@@ -16,10 +16,19 @@
*/
class Piwik_Site
{
+ /**
+ * @var int|null
+ */
protected $id = null;
-
+
+ /**
+ * @var array
+ */
public static $infoSites = array();
+ /**
+ * @param int $idsite
+ */
function __construct($idsite)
{
$this->id = (int)$idsite;
@@ -33,7 +42,7 @@ class Piwik_Site
* Sets the cached Site data with an array that associates site IDs with
* individual site data.
*
- * @param array $sites The array of sites data. Indexed by site ID.
+ * @param array $sites The array of sites data. Indexed by site ID.
*/
public static function setSites($sites)
{
@@ -43,7 +52,7 @@ class Piwik_Site
/**
* Sets the cached Site data with a non-associated array of site data.
*
- * @param array $sites The array of sites data.
+ * @param array $sites The array of sites data.
*/
public static function setSitesFromArray($sites)
{
@@ -54,7 +63,10 @@ class Piwik_Site
}
self::setSites($sitesById);
}
-
+
+ /**
+ * @return string
+ */
function __toString()
{
return "site id=".$this->getId().",
@@ -65,22 +77,43 @@ class Piwik_Site
currency = ".$this->getCurrency().",
creation date = ".$this->getCreationDate();
}
-
+
+ /**
+ * Returns the name of the site
+ *
+ * @return string
+ */
function getName()
{
return $this->get('name');
}
-
+
+ /**
+ * Returns the main url of the site
+ *
+ * @return string
+ */
function getMainUrl()
{
return $this->get('main_url');
}
-
+
+ /**
+ * Returns the id of the site
+ *
+ * @return int
+ */
function getId()
{
return $this->id;
}
-
+
+ /**
+ * Returns a site property
+ * @param string $name property to return
+ * @return mixed
+ * @throws Exception
+ */
protected function get( $name)
{
if(!isset(self::$infoSites[$this->id][$name]))
@@ -90,37 +123,70 @@ class Piwik_Site
return self::$infoSites[$this->id][$name];
}
+ /**
+ * Returns the creation date of the site
+ *
+ * @return Piwik_Date
+ */
function getCreationDate()
{
$date = $this->get('ts_created');
return Piwik_Date::factory($date);
}
+ /**
+ * Returns the timezone of the size
+ *
+ * @return string
+ */
function getTimezone()
{
return $this->get('timezone');
}
-
+
+ /**
+ * Returns the currency of the site
+ *
+ * @return string
+ */
function getCurrency()
{
return $this->get('currency');
}
-
+
+ /**
+ * Returns the excluded ips of the site
+ *
+ * @return string
+ */
function getExcludedIps()
{
return $this->get('excluded_ips');
}
+ /**
+ * Returns the excluded query parameters of the site
+ *
+ * @return string
+ */
function getExcludedQueryParameters()
{
return $this->get('excluded_parameters');
}
+
+ /**
+ * Returns whether ecommerce id enabled for the site
+ *
+ * @return bool
+ */
function isEcommerceEnabled()
{
return $this->get('ecommerce') == 1;
}
/**
+ * Checks the given string for valid site ids and returns them as an array
+ *
* @param string $string comma separated idSite list
* @return array of valid integer
*/
@@ -142,7 +208,10 @@ class Piwik_Site
}
return $validIds;
}
-
+
+ /**
+ * Clears the site cache
+ */
static public function clearCache()
{
self::$infoSites = array();
@@ -152,9 +221,9 @@ class Piwik_Site
* Utility function. Returns the value of the specified field for the
* site with the specified ID.
*
- * @param int|string $idsite The ID of the site whose data is being
- * accessed.
- * @param string $field The name of the field to get.
+ * @param int|string $idsite The ID of the site whose data is being
+ * accessed.
+ * @param string $field The name of the field to get.
* @return mixed
*/
static protected function getFor($idsite, $field)
@@ -172,7 +241,7 @@ class Piwik_Site
/**
* Returns the name of the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getNameFor($idsite)
@@ -183,7 +252,7 @@ class Piwik_Site
/**
* Returns the timezone of the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getTimezoneFor($idsite)
@@ -194,7 +263,7 @@ class Piwik_Site
/**
* Returns the creation date of the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getCreationDateFor($idsite)
@@ -205,7 +274,7 @@ class Piwik_Site
/**
* Returns the url for the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getMainUrlFor($idsite)
@@ -216,7 +285,7 @@ class Piwik_Site
/**
* Returns whether the site with the specified ID is ecommerce enabled
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function isEcommerceEnabledFor($idsite)
@@ -227,7 +296,7 @@ class Piwik_Site
/**
* Returns the currency of the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getCurrencyFor($idsite)
@@ -238,7 +307,7 @@ class Piwik_Site
/**
* Returns the excluded IP addresses of the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getExcludedIpsFor($idsite)
@@ -247,10 +316,9 @@ class Piwik_Site
}
/**
- * Returns the excluded query parameters for the site with the specified
- * ID.
+ * Returns the excluded query parameters for the site with the specified ID.
*
- * @param int $idsite The site ID.
+ * @param int $idsite The site ID.
* @return string
*/
static public function getExcludedQueryParametersFor($idsite)
diff --git a/core/Tracker/Db/Mysqli.php b/core/Tracker/Db/Mysqli.php
index 05626f0a76..e2724617af 100644
--- a/core/Tracker/Db/Mysqli.php
+++ b/core/Tracker/Db/Mysqli.php
@@ -29,8 +29,9 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Builds the DB object
- * @param array $dbInfo
- * @param string $driverName
+ *
+ * @param array $dbInfo
+ * @param string $driverName
*/
public function __construct( $dbInfo, $driverName = 'mysql')
{
@@ -58,6 +59,9 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
$this->charset = isset($dbInfo['charset']) ? $dbInfo['charset'] : null;
}
+ /**
+ * Destructor
+ */
public function __destruct()
{
$this->connection = null;
@@ -66,7 +70,7 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Connects to the DB
*
- * @throws Exception|Piwik_Tracker_Db_Exception if there was an error connecting the DB
+ * @throws Exception|Piwik_Tracker_Db_Exception if there was an error connecting the DB
*/
public function connect()
{
@@ -105,11 +109,12 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Returns an array containing all the rows of a query result, using optional bound parameters.
- *
- * @param string $query Query
- * @param array $parameters Parameters to bind
+ *
+ * @see query()
+ *
+ * @param string $query Query
+ * @param array $parameters Parameters to bind
* @return array
- * @see also query()
* @throws Exception|Piwik_Tracker_Db_Exception if an exception occured
*/
public function fetchAll( $query, $parameters = array() )
@@ -146,12 +151,12 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Returns the first row of a query result, using optional bound parameters.
- *
- * @param string Query
- * @param array Parameters to bind
- * @see also query()
- *
- * @throws Exception if an exception occured
+ *
+ * @see query()
+ *
+ * @param string $query Query
+ * @param array $parameters Parameters to bind
+ * @throws Piwik_Tracker_Db_Exception if an exception occured
*/
public function fetch( $query, $parameters = array() )
{
@@ -184,11 +189,11 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Executes a query, using optional bound parameters.
*
- * @param string Query
- * @param array|string Parameters to bind array('idsite'=> 1)
+ * @param string $query Query
+ * @param array|string $parameters Parameters to bind array('idsite'=> 1)
*
- * @return bool|resource false if failed
- * @throws Exception if an exception occured
+ * @return bool|resource false if failed
+ * @throws Piwik_Tracker_Db_Exception if an exception occured
*/
public function query($query, $parameters = array())
{
@@ -236,8 +241,8 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
* Input is a prepared SQL statement and parameters
* Returns the SQL statement
*
- * @param string $query
- * @param array $parameters
+ * @param string $query
+ * @param array $parameters
* @return string
*/
private function prepare($query, $parameters) {
@@ -263,8 +268,8 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Test error number
*
- * @param Exception $e
- * @param string $errno
+ * @param Exception $e
+ * @param string $errno
* @return bool
*/
public function isErrNo($e, $errno)
@@ -275,7 +280,7 @@ class Piwik_Tracker_Db_Mysqli extends Piwik_Tracker_Db
/**
* Return number of affected rows in last query
*
- * @param mixed $queryResult Result from query()
+ * @param mixed $queryResult Result from query()
* @return int
*/
public function rowCount($queryResult)
diff --git a/core/Tracker/Db/Pdo/Mysql.php b/core/Tracker/Db/Pdo/Mysql.php
index 72752436f6..42e213d640 100644
--- a/core/Tracker/Db/Pdo/Mysql.php
+++ b/core/Tracker/Db/Pdo/Mysql.php
@@ -147,11 +147,10 @@ class Piwik_Tracker_Db_Pdo_Mysql extends Piwik_Tracker_Db
/**
* Executes a query, using optional bound parameters.
*
- * @param string Query
- * @param array|string Parameters to bind array('idsite'=> 1)
- *
- * @return PDOStatement or false if failed
- * @throws Exception if an exception occured
+ * @param string $query Query
+ * @param array|string $parameters Parameters to bind array('idsite'=> 1)
+ * @return PDOStatement|bool PDOStatement or false if failed
+ * @throws Piwik_Tracker_Db_Exception if an exception occured
*/
public function query($query, $parameters = array())
{
diff --git a/core/Unzip.php b/core/Unzip.php
index b97ccb177a..1031df4540 100644
--- a/core/Unzip.php
+++ b/core/Unzip.php
@@ -20,9 +20,9 @@ class Piwik_Unzip
/**
* Factory method to create an unarchiver
*
- * @param string $name Name of unarchiver
- * @param string $filename Name of .zip archive
- * @return Piwik_Unzip
+ * @param string $name Name of unarchiver
+ * @param string $filename Name of .zip archive
+ * @return Piwik_Unzip_Interface
*/
static public function factory($name, $filename)
{
diff --git a/core/Unzip/Interface.php b/core/Unzip/Interface.php
index cd86202281..b9db2a5719 100644
--- a/core/Unzip/Interface.php
+++ b/core/Unzip/Interface.php
@@ -21,15 +21,15 @@ interface Piwik_Unzip_Interface
/**
* Constructor
*
- * @param string $filename Name of the .zip archive
+ * @param string $filename Name of the .zip archive
*/
- function __construct($filename);
+ public function __construct($filename);
/**
* Extract files from archive to target directory
*
- * @param string $pathExtracted Absolute path of target directory
- * @return mixed Array of filenames if successful; or 0 if an error occurred
+ * @param string $pathExtracted Absolute path of target directory
+ * @return mixed Array of filenames if successful; or 0 if an error occurred
*/
public function extract($pathExtracted);
diff --git a/core/Unzip/PclZip.php b/core/Unzip/PclZip.php
index 925da5ba7a..e0b3f6be2b 100644
--- a/core/Unzip/PclZip.php
+++ b/core/Unzip/PclZip.php
@@ -23,14 +23,31 @@ require_once PIWIK_INCLUDE_PATH . '/libs/PclZip/pclzip.lib.php';
*/
class Piwik_Unzip_PclZip implements Piwik_Unzip_Interface
{
+ /**
+ * @var PclZip
+ */
private $pclzip;
+ /**
+ * @var string
+ */
public $filename;
- function __construct($filename) {
+ /**
+ * Constructor
+ *
+ * @param string $filename Name of the .zip archive
+ */
+ public function __construct($filename) {
$this->pclzip = new PclZip($filename);
$this->filename = $filename;
}
+ /**
+ * Extract files from archive to target directory
+ *
+ * @param string $pathExtracted Absolute path of target directory
+ * @return mixed Array of filenames if successful; or 0 if an error occurred
+ */
public function extract($pathExtracted) {
$pathExtracted = str_replace('\\', '/', $pathExtracted);
$list = $this->pclzip->listContent();
@@ -63,6 +80,11 @@ class Piwik_Unzip_PclZip implements Piwik_Unzip_Interface
);
}
+ /**
+ * Get error status string for the latest error
+ *
+ * @return string
+ */
public function errorInfo() {
return $this->pclzip->errorInfo(true);
}
diff --git a/core/Unzip/ZipArchive.php b/core/Unzip/ZipArchive.php
index 61042a56f6..bbf17ad692 100644
--- a/core/Unzip/ZipArchive.php
+++ b/core/Unzip/ZipArchive.php
@@ -16,12 +16,24 @@
* @package Piwik
* @subpackage Piwik_Unzip
*/
-class Piwik_Unzip_ZipArchive implements Piwik_Unzip_Interface
+class Piwik_Unzip_ZipArchive implements Piwik_Unzip_Interface
{
+ /**
+ * @var ZipArchive
+ */
private $ziparchive;
+ /**
+ * @var string
+ */
public $filename;
- function __construct($filename) {
+ /**
+ * Constructor
+ *
+ * @param string $filename Name of the .zip archive
+ * @throws Exception
+ */
+ public function __construct($filename) {
$this->filename = $filename;
$this->ziparchive = new ZipArchive;
if($this->ziparchive->open($filename) !== true) {
@@ -29,6 +41,12 @@ class Piwik_Unzip_ZipArchive implements Piwik_Unzip_Interface
}
}
+ /**
+ * Extract files from archive to target directory
+ *
+ * @param string $pathExtracted Absolute path of target directory
+ * @return mixed Array of filenames if successful; or 0 if an error occurred
+ */
public function extract($pathExtracted) {
if(substr_compare($pathExtracted, '/', -1))
$pathExtracted .= '/';
@@ -71,6 +89,11 @@ class Piwik_Unzip_ZipArchive implements Piwik_Unzip_Interface
return $list;
}
+ /**
+ * Get error status string for the latest error
+ *
+ * @return string
+ */
public function errorInfo() {
static $statusStrings = array(
ZIPARCHIVE::ER_OK => 'No error',
diff --git a/core/UpdateCheck.php b/core/UpdateCheck.php
index 6cff6cf202..917cff1487 100644
--- a/core/UpdateCheck.php
+++ b/core/UpdateCheck.php
@@ -25,7 +25,7 @@ class Piwik_UpdateCheck
/**
* Check for a newer version
*
- * @param bool $force Force check
+ * @param bool $force Force check
*/
public static function check($force = false)
{
@@ -65,8 +65,8 @@ class Piwik_UpdateCheck
/**
* Returns version number of a newer Piwik release.
*
- * @return string|false false if current version is the latest available,
- * or the latest version number if a newest release is available
+ * @return string|false false if current version is the latest available,
+ * or the latest version number if a newest release is available
*/
public static function isNewestVersionAvailable()
{
diff --git a/core/Updates.php b/core/Updates.php
index fc94032c4c..f932227ad9 100644
--- a/core/Updates.php
+++ b/core/Updates.php
@@ -21,12 +21,12 @@ abstract class Piwik_Updates
/**
* Return SQL to be executed in this update
*
- * @param string Schema name
+ * @param string $schema Schema name
* @return array(
- * 'ALTER .... ' => '1234', // if the query fails, it will be ignored if the error code is 1234
- * 'ALTER .... ' => false, // if an error occurs, the update will stop and fail
- * // and user will have to manually run the query
- * )
+ * 'ALTER .... ' => '1234', // if the query fails, it will be ignored if the error code is 1234
+ * 'ALTER .... ' => false, // if an error occurs, the update will stop and fail
+ * // and user will have to manually run the query
+ * )
*/
static function getSql($schema = 'Myisam')
{
diff --git a/core/Version.php b/core/Version.php
index 11b1b0acae..8e95fce284 100644
--- a/core/Version.php
+++ b/core/Version.php
@@ -17,5 +17,9 @@
*/
final class Piwik_Version
{
+ /**
+ * Current Piwik version
+ * @var string
+ */
const VERSION = '1.7.2-rc8';
}