From 765be0dc8f92a6d4bb3e678a0c23f2d4b95e0e18 Mon Sep 17 00:00:00 2001
From: mattab <matthieu.aubry@gmail.com>
Date: Tue, 30 Jul 2013 23:13:56 +0200
Subject: [PATCH] Refs #3741 Resuming PHP Namespaces conversion of Piwik core,
 mostly finished core/ conversion

---
 core/API/DocumentationGenerator.php           |  9 +-
 core/API/Proxy.php                            | 16 +--
 core/Access.php                               |  1 +
 core/Archive.php                              |  2 +-
 core/Controller.php                           |  2 +-
 core/DataAccess/ArchiveSelector.php           |  1 +
 core/DataAccess/ArchiveTableCreator.php       |  2 +-
 core/DataAccess/LogAggregator.php             |  2 +-
 core/Db.php                                   | 14 +--
 core/Db/Adapter.php                           |  2 +-
 core/Db/Adapter/Pdo/Mssql.php                 |  2 +-
 core/Db/Adapter/Pdo/Mysql.php                 |  2 +-
 core/Db/Adapter/Pdo/Pgsql.php                 |  2 +-
 core/Db/Schema.php                            |  5 +-
 core/Db/Schema/Myisam.php                     | 14 +--
 core/ErrorHandler.php                         |  2 +-
 core/ExceptionHandler.php                     |  5 +-
 core/FrontController.php                      |  4 +-
 core/Log/APICall.php                          | 62 +-----------
 core/Log/Error.php                            | 98 +------------------
 core/Log/Exception.php                        | 32 +-----
 core/Log/{Formatter.php => FileFormatter.php} | 30 +-----
 core/Log/Message.php                          | 41 +-------
 core/Piwik.php                                | 22 ++---
 core/ReportRenderer.php                       |  2 +-
 core/Session.php                              |  2 +-
 core/Tracker.php                              |  2 +-
 core/Updater.php                              | 12 ++-
 core/Updates/0.2.10.php                       |  4 +-
 core/Updates/0.2.12.php                       |  4 +-
 core/Updates/0.2.13.php                       |  4 +-
 core/Updates/0.2.24.php                       |  4 +-
 core/Updates/0.2.27.php                       |  4 +-
 core/Updates/0.2.32.php                       |  4 +-
 core/Updates/0.2.33.php                       |  4 +-
 core/Updates/0.2.35.php                       |  4 +-
 core/Updates/0.2.37.php                       |  4 +-
 core/Updates/0.4.1.php                        |  4 +-
 core/Updates/0.4.2.php                        |  4 +-
 core/Updates/0.4.php                          |  4 +-
 core/Updates/0.5.4.php                        |  6 +-
 core/Updates/0.5.5.php                        |  4 +-
 core/Updates/0.5.php                          |  4 +-
 core/Updates/0.6-rc1.php                      |  4 +-
 core/Updates/0.6.3.php                        |  6 +-
 core/Updates/0.7.php                          |  4 +-
 core/Updates/0.9.1.php                        |  4 +-
 core/Updates/1.10.2-b1.php                    |  4 +-
 core/Updates/1.10.2-b2.php                    |  4 +-
 core/Updates/1.12-b1.php                      |  4 +-
 core/Updates/1.12-b16.php                     |  4 +-
 core/Updates/1.2-rc1.php                      |  4 +-
 core/Updates/1.2.3.php                        |  4 +-
 core/Updates/1.2.5-rc1.php                    |  4 +-
 core/Updates/1.2.5-rc7.php                    |  4 +-
 core/Updates/1.4-rc1.php                      |  4 +-
 core/Updates/1.4-rc2.php                      |  4 +-
 core/Updates/1.5-b1.php                       |  4 +-
 core/Updates/1.5-b2.php                       |  4 +-
 core/Updates/1.5-b3.php                       |  4 +-
 core/Updates/1.5-b4.php                       |  4 +-
 core/Updates/1.5-b5.php                       |  4 +-
 core/Updates/1.6-b1.php                       |  4 +-
 core/Updates/1.7-b1.php                       |  4 +-
 core/Updates/1.7.2-rc5.php                    |  4 +-
 core/Updates/1.7.2-rc7.php                    |  5 +-
 core/Updates/1.8.3-b1.php                     |  5 +-
 core/Updates/1.8.4-b1.php                     |  4 +-
 core/Updates/1.9-b16.php                      |  4 +-
 core/Updates/1.9-b19.php                      |  4 +-
 core/Updates/1.9-b9.php                       |  4 +-
 core/Updates/1.9.1-b2.php                     |  4 +-
 core/Updates/1.9.3-b8.php                     |  4 +-
 core/View.php                                 |  2 +-
 libs/Zend/Db/Table/Abstract.php               |  4 +-
 libs/Zend/Validate/Abstract.php               |  2 +-
 libs/Zend/Validate/Date.php                   |  2 +-
 libs/Zend/Validate/Float.php                  |  2 +-
 libs/Zend/Validate/Iban.php                   |  2 +-
 libs/Zend/Validate/Int.php                    |  2 +-
 misc/others/geoipUpdateRows.php               |  1 +
 misc/others/iframeWidget_localhost.php        |  1 +
 .../test_generateLotsVisitsWebsites.php       | 10 +-
 plugins/API/API.php                           |  2 +-
 plugins/Actions/Actions.php                   |  2 +
 plugins/CoreAdminHome/API.php                 |  1 +
 plugins/CoreAdminHome/CoreAdminHome.php       |  1 +
 plugins/CoreHome/CoreHome.php                 |  1 +
 plugins/CoreUpdater/Controller.php            |  6 +-
 plugins/CoreUpdater/CoreUpdater.php           |  6 +-
 plugins/CustomVariables/CustomVariables.php   |  1 +
 plugins/DBStats/MySQLMetadataProvider.php     |  2 +
 plugins/Dashboard/API.php                     |  1 +
 plugins/Dashboard/Controller.php              |  2 +
 plugins/Dashboard/Dashboard.php               |  2 +
 plugins/DevicesDetection/Controller.php       |  2 +
 plugins/DevicesDetection/DevicesDetection.php |  3 +
 plugins/ExamplePlugin/Controller.php          |  3 +
 plugins/ExamplePlugin/ExamplePlugin.php       |  1 +
 plugins/ExampleRssWidget/ExampleRssWidget.php |  1 +
 plugins/Goals/API.php                         |  5 +-
 plugins/Goals/Goals.php                       |  2 +
 plugins/Installation/Controller.php           |  7 +-
 plugins/Installation/FormDatabaseSetup.php    |  2 +-
 plugins/LanguagesManager/API.php              |  1 +
 plugins/LanguagesManager/LanguagesManager.php |  3 +-
 plugins/Live/API.php                          |  1 +
 plugins/Live/Live.php                         |  1 +
 plugins/Login/Auth.php                        |  1 +
 plugins/Login/Login.php                       | 12 +--
 plugins/Overlay/API.php                       |  2 +-
 plugins/PDFReports/API.php                    |  9 +-
 plugins/PDFReports/PDFReports.php             |  1 +
 plugins/PrivacyManager/PrivacyManager.php     |  1 +
 plugins/Provider/Provider.php                 |  2 +
 plugins/Referers/Referers.php                 |  1 +
 plugins/SEO/SEO.php                           |  1 +
 plugins/SegmentEditor/API.php                 | 10 +-
 plugins/SegmentEditor/SegmentEditor.php       |  1 +
 plugins/SitesManager/API.php                  | 31 +++---
 plugins/Transitions/API.php                   |  2 +-
 plugins/UserCountry/Archiver.php              |  8 +-
 plugins/UserCountry/UserCountry.php           |  1 +
 plugins/UserCountryMap/UserCountryMap.php     |  1 +
 plugins/UserSettings/UserSettings.php         |  1 +
 plugins/UsersManager/API.php                  | 33 ++++---
 plugins/UsersManager/UsersManager.php         |  4 +-
 plugins/VisitFrequency/VisitFrequency.php     |  1 +
 plugins/VisitTime/VisitTime.php               |  1 +
 plugins/VisitorInterest/API.php               |  5 +-
 plugins/VisitorInterest/VisitorInterest.php   |  1 +
 plugins/VisitsSummary/VisitsSummary.php       |  1 +
 plugins/Widgetize/Controller.php              |  1 +
 tests/PHPUnit/BaseFixture.php                 |  2 +-
 tests/PHPUnit/BenchmarkTestCase.php           |  1 +
 tests/PHPUnit/Core/ArchiveProcessingTest.php  |  1 +
 tests/PHPUnit/Core/OptionTest.php             | 81 +++++++--------
 tests/PHPUnit/Core/SqlTest.php                |  2 +
 tests/PHPUnit/Core/TaskSchedulerTest.php      | 12 +--
 tests/PHPUnit/Core/UpdaterTest.php            |  8 +-
 tests/PHPUnit/DatabaseTestCase.php            |  6 +-
 .../ManySitesImportedLogsWithXssAttempts.php  |  1 +
 ...everalDaysDateRange_ArchivingTestsTest.php |  2 +-
 ...mVariables_SegmentMatchVisitorTypeTest.php |  2 +-
 .../Integration/UrlNormalizationTest.php      |  4 +-
 tests/PHPUnit/IntegrationTestCase.php         |  7 +-
 tests/PHPUnit/MockPiwikOption.php             |  4 +-
 tests/PHPUnit/Plugins/PrivacyManagerTest.php  |  5 +-
 tests/PHPUnit/UI/UIIntegrationTest.php        |  4 +-
 tests/PHPUnit/proxy/piwik.php                 |  4 +-
 150 files changed, 382 insertions(+), 559 deletions(-)
 rename core/Log/{Formatter.php => FileFormatter.php} (52%)

diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php
index 8c2b0ca37a..a6766f4e52 100644
--- a/core/API/DocumentationGenerator.php
+++ b/core/API/DocumentationGenerator.php
@@ -14,8 +14,7 @@ use Exception;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\API\Proxy;
-use Piwik_API_Proxy_NoDefaultValue;
-use Piwik_Url;
+use Piwik\Url;
 
 /**
  * @package Piwik
@@ -203,11 +202,11 @@ class DocumentationGenerator
                 $defaultValue = $knowExampleDefaultParametersValues[$nameVariable];
             } // if there isn't a default value for a given parameter,
             // we need a 'know default value' or we can't generate the link
-            elseif ($defaultValue instanceof Piwik_API_Proxy_NoDefaultValue) {
+            elseif ($defaultValue instanceof NoDefaultValue) {
                 return false;
             }
         }
-        return '?' . Piwik_Url::getQueryStringFromParameters($aParameters);
+        return '?' . Url::getQueryStringFromParameters($aParameters);
     }
 
     /**
@@ -228,7 +227,7 @@ class DocumentationGenerator
                 continue;
             }
             $str = $nameVariable;
-            if (!($defaultValue instanceof Piwik_API_Proxy_NoDefaultValue)) {
+            if (!($defaultValue instanceof NoDefaultValue)) {
                 if (is_array($defaultValue)) {
                     $str .= " = 'Array'";
                 } else {
diff --git a/core/API/Proxy.php b/core/API/Proxy.php
index 8579e4a13a..e3861facb1 100644
--- a/core/API/Proxy.php
+++ b/core/API/Proxy.php
@@ -50,7 +50,7 @@ class Proxy
      */
     protected function __construct()
     {
-        $this->noDefaultValue = new Piwik_API_Proxy_NoDefaultValue();
+        $this->noDefaultValue = new NoDefaultValue();
     }
 
     /**
@@ -60,10 +60,10 @@ class Proxy
      */
     static public function getInstance()
     {
-        if (\Piwik\API\self::$instance == null) {
-            \Piwik\API\self::$instance = new \Piwik\API\self;
+        if (self::$instance == null) {
+            self::$instance = new self;
         }
-        return \Piwik\API\self::$instance;
+        return self::$instance;
     }
 
     /**
@@ -203,7 +203,7 @@ class Proxy
 
             // log the API Call
             try {
-                Zend_Registry::get('logger_api_call')->logEvent(
+                \Zend_Registry::get('logger_api_call')->logEvent(
                     $className,
                     $methodName,
                     $parameterNamesDefaultValues,
@@ -277,7 +277,7 @@ class Proxy
         $finalParameters = array();
         foreach ($requiredParameters as $name => $defaultValue) {
             try {
-                if ($defaultValue instanceof Piwik_API_Proxy_NoDefaultValue) {
+                if ($defaultValue instanceof NoDefaultValue) {
                     $requestValue = Common::getRequestVar($name, null, null, $parametersRequest);
                 } else {
                     try {
@@ -315,7 +315,7 @@ class Proxy
      */
     private function includeApiFile($fileName)
     {
-        $module = \Piwik\API\self::getModuleNameFromClassName($fileName);
+        $module = self::getModuleNameFromClassName($fileName);
         $path = PIWIK_INCLUDE_PATH . '/plugins/' . $module . '/API.php';
 
         if (is_readable($path)) {
@@ -414,6 +414,6 @@ class Proxy
  * @package Piwik
  * @subpackage Piwik_API
  */
-class Piwik_API_Proxy_NoDefaultValue
+class NoDefaultValue
 {
 }
diff --git a/core/Access.php b/core/Access.php
index a53cd52d1b..a5daa13578 100644
--- a/core/Access.php
+++ b/core/Access.php
@@ -13,6 +13,7 @@ namespace Piwik;
 use Piwik\Config;
 use Piwik\Common;
 use Piwik\Auth;
+use Piwik\Db;
 
 /**
  * Class to handle User Access:
diff --git a/core/Archive.php b/core/Archive.php
index a0412b4ae6..0b726493bd 100644
--- a/core/Archive.php
+++ b/core/Archive.php
@@ -456,7 +456,7 @@ class Archive
                     continue;
                 }
 
-                // if the starting date is in the future we know there is no visit
+                // if the starting date is in the future we know there is no visiidsite = ?t
                 if ($twoDaysBeforePeriod->isLater($today)) {
                     $archiveDesc = $this->getArchiveDescriptor($idSite, $period);
                     Piwik::log("Archive $archiveDesc skipped, archive is after today.");
diff --git a/core/Controller.php b/core/Controller.php
index 344dee8616..2649339ab1 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -680,7 +680,7 @@ abstract class Controller
             && $currentLogin != 'anonymous'
         ) {
             $errorMessage = sprintf(Piwik_Translate('CoreHome_NoPrivilegesAskPiwikAdmin'), $currentLogin, "<br/><a href='mailto:" . Piwik::getSuperUserEmail() . "?subject=Access to Piwik for user $currentLogin'>", "</a>");
-            $errorMessage .= "<br /><br />&nbsp;&nbsp;&nbsp;<b><a href='index.php?module=" . Zend_Registry::get('auth')->getName() . "&amp;action=logout'>&rsaquo; " . Piwik_Translate('General_Logout') . "</a></b><br />";
+            $errorMessage .= "<br /><br />&nbsp;&nbsp;&nbsp;<b><a href='index.php?module=" . \Zend_Registry::get('auth')->getName() . "&amp;action=logout'>&rsaquo; " . Piwik_Translate('General_Logout') . "</a></b><br />";
             Piwik_ExitWithMessage($errorMessage, false, true);
         }
 
diff --git a/core/DataAccess/ArchiveSelector.php b/core/DataAccess/ArchiveSelector.php
index b261e78fc3..6b1f716243 100644
--- a/core/DataAccess/ArchiveSelector.php
+++ b/core/DataAccess/ArchiveSelector.php
@@ -21,6 +21,7 @@ use Piwik\ArchiveProcessor;
 use Piwik\Segment;
 use Piwik\Site;
 use Piwik\DataAccess\ArchiveTableCreator;
+use Piwik\Db;
 
 /**
  * Data Access object used to query archives
diff --git a/core/DataAccess/ArchiveTableCreator.php b/core/DataAccess/ArchiveTableCreator.php
index cb70f49b35..8e135f996f 100644
--- a/core/DataAccess/ArchiveTableCreator.php
+++ b/core/DataAccess/ArchiveTableCreator.php
@@ -51,7 +51,7 @@ class ArchiveTableCreator
         }
 
         if (!in_array($tableName, self::$tablesAlreadyInstalled)) {
-            $db = Zend_Registry::get('db');
+            $db = \Zend_Registry::get('db');
             $sql = Piwik::getTableCreateSql($tableNamePrefix);
 
             // replace table name template by real name
diff --git a/core/DataAccess/LogAggregator.php b/core/DataAccess/LogAggregator.php
index f1b38c7d4e..0035c121dd 100644
--- a/core/DataAccess/LogAggregator.php
+++ b/core/DataAccess/LogAggregator.php
@@ -511,6 +511,6 @@ class LogAggregator
 
     public function getDb()
     {
-        return Zend_Registry::get('db');
+        return \Zend_Registry::get('db');
     }
 }
diff --git a/core/Db.php b/core/Db.php
index d73b5c65f6..3b9c8132e5 100644
--- a/core/Db.php
+++ b/core/Db.php
@@ -31,7 +31,7 @@ class Db
             $db = Tracker::getDatabase();
         }
         if ($db === null) {
-            $db = Zend_Registry::get('db');
+            $db = \Zend_Registry::get('db');
         }
         return $db;
     }
@@ -42,13 +42,13 @@ class Db
      * If you want to fetch data from the DB you should use the function Db::fetchAll()
      *
      * @param string $sql  SQL Query
-     * @return integer|Zend_Db_Statement
+     * @return integer|\Zend_Db_Statement
      */
     static public function exec($sql)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $profiler = $db->getProfiler();
-        $q = $profiler->queryStart($sql, Zend_Db_Profiler::INSERT);
+        $q = $profiler->queryStart($sql, \Zend_Db_Profiler::INSERT);
         $return = self::getDb()->exec($sql);
         $profiler->queryEnd($q);
         return $return;
@@ -315,7 +315,7 @@ class Db
      *
      * @return array
      */
-    static public function segmentedFetchAll($sql, $first, $last, $step, $params)
+    static public function segmentedFetchAll($sql, $first, $last, $step, $params = array())
     {
         $result = array();
         if ($step > 0) {
@@ -378,7 +378,7 @@ class Db
          */
         $sql = 'SELECT GET_LOCK(?, 1)';
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         while ($maxRetries > 0) {
             if ($db->fetchOne($sql, array($lockName)) == '1') {
@@ -399,7 +399,7 @@ class Db
     {
         $sql = 'SELECT RELEASE_LOCK(?)';
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         return $db->fetchOne($sql, array($lockName)) == '1';
     }
 }
diff --git a/core/Db/Adapter.php b/core/Db/Adapter.php
index e818866802..989fe308d7 100644
--- a/core/Db/Adapter.php
+++ b/core/Db/Adapter.php
@@ -75,7 +75,7 @@ class Adapter
      */
     private static function getAdapterClassName($adapterName)
     {
-        return 'Piwik_Db_Adapter_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', strtolower($adapterName))));
+         return 'Piwik\Db\Adapter\\' . str_replace(' ', '\\', ucwords(str_replace('_', ' ', strtolower($adapterName))));
     }
 
     /**
diff --git a/core/Db/Adapter/Pdo/Mssql.php b/core/Db/Adapter/Pdo/Mssql.php
index c77797b6c1..1f218e20d7 100644
--- a/core/Db/Adapter/Pdo/Mssql.php
+++ b/core/Db/Adapter/Pdo/Mssql.php
@@ -14,7 +14,7 @@ use Exception;
 use PDO;
 use PDOException;
 use Piwik\Config;
-use Piwik\Db\Adapter\AdapterInterface;
+use Piwik\Db\AdapterInterface;
 use Zend_Db;
 use Zend_Db_Adapter_Exception;
 use Zend_Db_Adapter_Pdo_Mssql;
diff --git a/core/Db/Adapter/Pdo/Mysql.php b/core/Db/Adapter/Pdo/Mysql.php
index 37dae1bee8..34ec106a87 100644
--- a/core/Db/Adapter/Pdo/Mysql.php
+++ b/core/Db/Adapter/Pdo/Mysql.php
@@ -14,7 +14,7 @@ use Exception;
 use PDO;
 use PDOException;
 use Piwik\Config;
-use Piwik\Db\Adapter\AdapterInterface;
+use Piwik\Db\AdapterInterface;
 use Zend_Config;
 use Zend_Db_Adapter_Pdo_Mysql;
 use Zend_Db_Select;
diff --git a/core/Db/Adapter/Pdo/Pgsql.php b/core/Db/Adapter/Pdo/Pgsql.php
index 16baba2543..6b9b25ba19 100644
--- a/core/Db/Adapter/Pdo/Pgsql.php
+++ b/core/Db/Adapter/Pdo/Pgsql.php
@@ -14,7 +14,7 @@ use Exception;
 use PDO;
 use PDOException;
 use Piwik\Config;
-use Piwik\Db\Adapter\AdapterInterface;
+use Piwik\Db\AdapterInterface;
 use Zend_Db_Adapter_Pdo_Pgsql;
 
 /**
diff --git a/core/Db/Schema.php b/core/Db/Schema.php
index 261860c6a1..9064a6a908 100644
--- a/core/Db/Schema.php
+++ b/core/Db/Schema.php
@@ -11,7 +11,6 @@
 namespace Piwik\Db;
 
 use Piwik\Config;
-use Piwik\Db\Schema\SchemaInterface;
 
 /**
  * Schema abstraction
@@ -58,7 +57,7 @@ class Schema
      */
     private static function getSchemaClassName($schemaName)
     {
-        return 'Piwik_Db_Schema_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', strtolower($schemaName))));
+        return '\Piwik\Db\Schema\\' . str_replace(' ', '\\', ucwords(str_replace('_', ' ', strtolower($schemaName))));
     }
 
     /**
@@ -150,7 +149,7 @@ class Schema
     /**
      * Returns an instance that subclasses Schema
      *
-     * @return \Piwik\Db\Schema\SchemaInterface
+     * @return \Piwik\Db\SchemaInterface
      */
     private function getSchema()
     {
diff --git a/core/Db/Schema/Myisam.php b/core/Db/Schema/Myisam.php
index 8a6ae12e07..9502a74f28 100644
--- a/core/Db/Schema/Myisam.php
+++ b/core/Db/Schema/Myisam.php
@@ -12,12 +12,14 @@ namespace Piwik\Db\Schema;
 
 use Exception;
 use Piwik\Config;
-use Piwik\Db\Schema\SchemaInterface;
+use Piwik\Db\SchemaInterface;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Date;
+use Piwik\Db;
 use Zend_Registry;
 
+
 /**
  * MySQL schema
  *
@@ -34,7 +36,7 @@ class Myisam implements SchemaInterface
      */
     static private function hasStorageEngine($engineName)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $allEngines = $db->fetchAssoc('SHOW ENGINES');
         if (array_key_exists($engineName, $allEngines)) {
             $support = $allEngines[$engineName]['Support'];
@@ -452,7 +454,7 @@ class Myisam implements SchemaInterface
         if (is_null($this->tablesInstalled)
             || $forceReload === true
         ) {
-            $db = Zend_Registry::get('db');
+            $db = \Zend_Registry::get('db');
             $config = Config::getInstance();
             $prefixTables = $config->database['tables_prefix'];
 
@@ -515,7 +517,7 @@ class Myisam implements SchemaInterface
      */
     public function createTables()
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $config = Config::getInstance();
         $prefixTables = $config->database['tables_prefix'];
 
@@ -539,7 +541,7 @@ class Myisam implements SchemaInterface
     {
         // The anonymous user is the user that is assigned by default
         // note that the token_auth value is anonymous, which is assigned by default as well in the Login plugin
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->query("INSERT INTO " . Common::prefixTable("user") . "
 					VALUES ( 'anonymous', '', 'anonymous', 'anonymous@example.org', 'anonymous', '" . Date::factory('now')->getDatetime() . "' );");
     }
@@ -563,7 +565,7 @@ class Myisam implements SchemaInterface
     public function dropTables($doNotDelete = array())
     {
         $tablesAlreadyInstalled = $this->getTablesInstalled();
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $doNotDeletePattern = '/(' . implode('|', $doNotDelete) . ')/';
 
diff --git a/core/ErrorHandler.php b/core/ErrorHandler.php
index f2bcde168c..963d46e3f6 100644
--- a/core/ErrorHandler.php
+++ b/core/ErrorHandler.php
@@ -47,7 +47,7 @@ function Piwik_ErrorHandler($errno, $errstr, $errfile, $errline)
     }
 
     try {
-        Zend_Registry::get('logger_error')->logEvent($errno, $errstr, $errfile, $errline, $backtrace);
+        \Zend_Registry::get('logger_error')->logEvent($errno, $errstr, $errfile, $errline, $backtrace);
     } catch (Exception $e) {
         // in case the error occurs before the logger creation, we simply display it
         print("<pre>$errstr \nin '$errfile' at the line $errline\n\n$backtrace\n</pre>");
diff --git a/core/ExceptionHandler.php b/core/ExceptionHandler.php
index 5b21d59e6e..2d97cb06d6 100644
--- a/core/ExceptionHandler.php
+++ b/core/ExceptionHandler.php
@@ -9,6 +9,7 @@
  * @package Piwik
  */
 use Piwik\Piwik;
+use Piwik\Log;
 use Piwik\FrontController;
 
 /**
@@ -20,7 +21,7 @@ use Piwik\FrontController;
 function Piwik_ExceptionHandler(Exception $exception)
 {
     try {
-        Zend_Registry::get('logger_exception')->logEvent($exception);
+        \Zend_Registry::get('logger_exception')->logEvent($exception);
     } catch (Exception $e) {
 
         if (FrontController::shouldRethrowException()) {
@@ -36,7 +37,7 @@ function Piwik_ExceptionHandler(Exception $exception)
         $event['errline'] = $exception->getLine();
         $event['backtrace'] = $exception->getTraceAsString();
 
-        $formatter = new Piwik_Log_Exception_Formatter_ScreenFormatter();
+        $formatter = new ExceptionScreenFormatter();
 
         $message = $formatter->format($event);
         $message .= "<br /><br />And this exception raised another exception \"" . $e->getMessage() . "\"";
diff --git a/core/FrontController.php b/core/FrontController.php
index 1acd18820f..e57b897cda 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -218,7 +218,7 @@ class FrontController
         $initialized = true;
 
         try {
-            Zend_Registry::set('timer', new Timer);
+            \Zend_Registry::set('timer', new Timer);
 
             $directoriesToCheck = array(
                 '/tmp/',
@@ -277,7 +277,7 @@ class FrontController
 
             Piwik_PostEvent('FrontController.initAuthenticationObject');
             try {
-                $authAdapter = Zend_Registry::get('auth');
+                $authAdapter = \Zend_Registry::get('auth');
             } catch (Exception $e) {
                 throw new Exception("Authentication object cannot be found in the Registry. Maybe the Login plugin is not activated?
                                 <br />You can activate the plugin by adding:<br />
diff --git a/core/Log/APICall.php b/core/Log/APICall.php
index 39398b92ba..b07fbc56ba 100644
--- a/core/Log/APICall.php
+++ b/core/Log/APICall.php
@@ -40,8 +40,8 @@ class APICall extends Log
             'timestamp'                      => 'timestamp',
             'returned_value'                 => 'returned_value'
         );
-        $screenFormatter = new APICall_Formatter_ScreenFormatter();
-        $fileFormatter = new Formatter_FileFormatter();
+        $screenFormatter = new APICallScreenFormatter();
+        $fileFormatter = new FileFormatter();
 
         parent::__construct($logToFileFilename,
             $fileFormatter,
@@ -75,61 +75,3 @@ class APICall extends Log
     }
 }
 
-/**
- * Class used to format the API Call log on the screen.
- *
- * @package Piwik
- * @subpackage Log
- */
-class APICall_Formatter_ScreenFormatter extends Formatter_ScreenFormatter
-{
-    /**
-     * Formats data into a single line to be written by the writer.
-     *
-     * @param  array $event    event data
-     * @return string  formatted line to write to the log
-     */
-    public function format($event)
-    {
-        $str = "\n<br /> ";
-        $str .= "Called: {$event['class_name']}.{$event['method_name']} (took {$event['execution_time']}ms)\n<br /> ";
-        $str .= "Parameters: ";
-        $parameterNamesAndDefault = unserialize($event['parameter_names_default_values']);
-        $parameterValues = unserialize($event['parameter_values']);
-        $i = 0;
-        foreach ($parameterNamesAndDefault as $pName => $pDefault) {
-            if (isset($parameterValues[$i])) {
-                $currentValue = $parameterValues[$i];
-            } else {
-                $currentValue = $pDefault;
-            }
-            $currentValue = $this->formatValue($currentValue);
-            $str .= "$pName = $currentValue, ";
-
-            $i++;
-        }
-        $str .= "\n<br /> ";
-        $str .= "\n<br /> ";
-        return parent::format($str);
-    }
-
-    /**
-     * Converts the given value to a string
-     *
-     * @param mixed $value
-     * @return string
-     */
-    private function formatValue($value)
-    {
-        if (is_string($value)) {
-            $value = "'$value'";
-        }
-        if (is_null($value)) {
-            $value = 'null';
-        }
-        if (is_array($value)) {
-            $value = "array( " . implode(", ", $value) . ")";
-        }
-        return $value;
-    }
-}
diff --git a/core/Log/Error.php b/core/Log/Error.php
index 609227080e..0b99ecabd2 100644
--- a/core/Log/Error.php
+++ b/core/Log/Error.php
@@ -37,8 +37,8 @@ class Error extends Log
             'errfile'   => 'errfile',
             'backtrace' => 'backtrace'
         );
-        $screenFormatter = new Error_Formatter_ScreenFormatter();
-        $fileFormatter = new Formatter_FileFormatter();
+        $screenFormatter = new ErrorScreenFormatter();
+        $fileFormatter = new FileFormatter();
         parent::__construct($logToFileFilename,
             $fileFormatter,
             $screenFormatter,
@@ -79,97 +79,3 @@ class Error extends Log
     }
 }
 
-/**
- * Format an error event to be displayed on the screen.
- *
- * @package Piwik
- * @subpackage Log
- */
-class Error_Formatter_ScreenFormatter extends Formatter_ScreenFormatter
-{
-    /**
-     * Formats data into a single line to be written by the writer.
-     *
-     * @param  array $event    event data
-     * @return string  formatted line to write to the log
-     */
-    public function format($event)
-    {
-        $event = parent::formatEvent($event);
-
-        $errno = $event['errno'];
-        $errstr = $event['message'];
-        $errfile = $event['errfile'];
-        $errline = $event['errline'];
-        $backtrace = $event['backtrace'];
-
-        $strReturned = '';
-        $errno = $errno & error_reporting();
-
-        // problem when using error_reporting with the @ silent fail operator
-        // it gives an errno 0, and in this case the objective is to NOT display anything on the screen!
-        // is there any other case where the errno is zero at this point?
-        if ($errno == 0) return '';
-        $strReturned .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'>
-    <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Piwik_Version::VERSION : '') . ")
-    and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>
-    ";
-        switch ($errno) {
-            case E_ERROR:
-                $strReturned .= "Error";
-                break;
-            case E_WARNING:
-                $strReturned .= "Warning";
-                break;
-            case E_PARSE:
-                $strReturned .= "Parse Error";
-                break;
-            case E_NOTICE:
-                $strReturned .= "Notice";
-                break;
-            case E_CORE_ERROR:
-                $strReturned .= "Core Error";
-                break;
-            case E_CORE_WARNING:
-                $strReturned .= "Core Warning";
-                break;
-            case E_COMPILE_ERROR:
-                $strReturned .= "Compile Error";
-                break;
-            case E_COMPILE_WARNING:
-                $strReturned .= "Compile Warning";
-                break;
-            case E_USER_ERROR:
-                $strReturned .= "User Error";
-                break;
-            case E_USER_WARNING:
-                $strReturned .= "User Warning";
-                break;
-            case E_USER_NOTICE:
-                $strReturned .= "User Notice";
-                break;
-            case E_STRICT:
-                $strReturned .= "Strict Notice";
-                break;
-            case E_RECOVERABLE_ERROR:
-                $strReturned .= "Recoverable Error";
-                break;
-            case E_DEPRECATED:
-                $strReturned .= "Deprecated";
-                break;
-            case E_USER_DEPRECATED:
-                $strReturned .= "User Deprecated";
-                break;
-            default:
-                $strReturned .= "Unknown error ($errno)";
-                break;
-        }
-        $strReturned .= ":</strong> <i>$errstr</i> in <b>$errfile</b> on line <b>$errline</b>\n";
-        $strReturned .= "<br /><br />Backtrace --&gt;<div style=\"font-family:Courier;font-size:10pt\">";
-        $strReturned .= str_replace(array("\n", '#'), array("<br />\n", "<br />\n#"), $backtrace);
-        $strReturned .= "</div><br />";
-        $strReturned .= "\n </pre></div><br />";
-
-        return parent::format($strReturned);
-    }
-}
diff --git a/core/Log/Exception.php b/core/Log/Exception.php
index 2e7bb34bb4..58a9881dda 100644
--- a/core/Log/Exception.php
+++ b/core/Log/Exception.php
@@ -39,8 +39,8 @@ class Exception extends Log
             'errfile'   => 'errfile',
             'backtrace' => 'backtrace'
         );
-        $screenFormatter = new Exception_Formatter_ScreenFormatter();
-        $fileFormatter = new Formatter_FileFormatter();
+        $screenFormatter = new ExceptionScreenFormatter();
+        $fileFormatter = new FileFormatter();
 
         parent::__construct($logToFileFilename,
             $fileFormatter,
@@ -65,7 +65,7 @@ class Exception extends Log
      *
      * @param Exception $exception
      */
-    public function logEvent($exception)
+    public function logEvent(\Exception $exception)
     {
         $event = array();
         $event['errno'] = $exception->getCode();
@@ -77,29 +77,3 @@ class Exception extends Log
         parent::log($event, Log::CRIT, null);
     }
 }
-
-/**
- * Format an exception event to be displayed on the screen.
- *
- * @package Piwik
- * @subpackage Log
- */
-class Exception_Formatter_ScreenFormatter extends Formatter_ScreenFormatter
-{
-    /**
-     * Formats data into a single line to be written by the writer.
-     *
-     * @param  array $event    event data
-     * @return string  formatted line to write to the log
-     */
-    public function format($event)
-    {
-        $event = parent::formatEvent($event);
-        $errstr = $event['message'];
-
-        $outputFormat = strtolower(Common::getRequestVar('format', 'html', 'string'));
-        $response = new Piwik_API_ResponseBuilder($outputFormat);
-        $message = $response->getResponseException(new \Exception($errstr));
-        return parent::format($message);
-    }
-}
diff --git a/core/Log/Formatter.php b/core/Log/FileFormatter.php
similarity index 52%
rename from core/Log/Formatter.php
rename to core/Log/FileFormatter.php
index 3fa7c3d803..960c67a260 100644
--- a/core/Log/Formatter.php
+++ b/core/Log/FileFormatter.php
@@ -9,12 +9,13 @@
  * @package Piwik
  */
 namespace Piwik\Log;
+use Piwik\Common;
 
 /**
  * @package Piwik
  * @subpackage Log
  */
-class Formatter_FileFormatter implements \Zend_Log_Formatter_Interface
+class FileFormatter implements \Zend_Log_Formatter_Interface
 {
     /**
      * Formats data into a single line to be written by the writer.
@@ -33,30 +34,3 @@ class Formatter_FileFormatter implements \Zend_Log_Formatter_Interface
         return $ts . ' ' . implode(" ", $event) . "\n";
     }
 }
-
-/**
- *
- * @package Piwik
- * @subpackage Log
- */
-class Formatter_ScreenFormatter implements \Zend_Log_Formatter_Interface
-{
-    function formatEvent($event)
-    {
-        // no injection in error messages, backtrace when displayed on screen
-        return array_map(array('Piwik\Common', 'sanitizeInputValue'), $event);
-    }
-
-    function format($string)
-    {
-        return self::getFormattedString($string);
-    }
-
-    static public function getFormattedString($string)
-    {
-        if (!Common::isPhpCliMode()) {
-            @header('Content-Type: text/html; charset=utf-8');
-        }
-        return $string;
-    }
-}
\ No newline at end of file
diff --git a/core/Log/Message.php b/core/Log/Message.php
index 26acec5348..e6311c1d6e 100644
--- a/core/Log/Message.php
+++ b/core/Log/Message.php
@@ -13,43 +13,6 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Log;
 
-/**
- * Format a standard message event to be displayed on the screen.
- * The message can be a PHP array or a string.
- *
- * @package Piwik
- * @subpackage Log
- */
-class Message_Formatter_ScreenFormatter extends Formatter_ScreenFormatter
-{
-    /**
-     * Formats data into a single line to be written by the writer.
-     *
-     * @param  array $event    event data
-     * @return string  formatted line to write to the log
-     */
-    public function format($event)
-    {
-        if (is_array($event['message'])) {
-            $message = "<pre>" . var_export($event['message'], true) . "</pre>";
-        } else {
-            $message = $event['message'];
-        }
-        if (!Common::isPhpCliMode()) {
-            $message .= "<br/>";
-        }
-        $message .= "\n";
-
-        $memory = '';
-        // Hacky: let's hide the memory usage in CLI to hide from the archive.php output
-        if (!Common::isPhpCliMode()) {
-            $memory = '[' . Piwik::getMemoryUsage() . '] ';
-        }
-        $message = '[' . $event['timestamp'] . '] [' . $event['requestKey'] . '] ' . $memory . $message;
-        return parent::format($message);
-    }
-}
-
 /**
  * Class used to log a standard message event.
  *
@@ -71,8 +34,8 @@ class Message extends Log
             'message'   => 'message',
             'timestamp' => 'timestamp'
         );
-        $screenFormatter = new Log\Message_Formatter_ScreenFormatter();
-        $fileFormatter = new Formatter_FileFormatter();
+        $screenFormatter = new MessageScreenFormatter();
+        $fileFormatter = new FileFormatter();
 
         parent::__construct($logToFileFilename,
             $fileFormatter,
diff --git a/core/Piwik.php b/core/Piwik.php
index 97ad1c97bb..3b656fbcc3 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -1003,13 +1003,13 @@ class Piwik
             // - Tracker request, and debug disabled,
             // - and some scheduled tasks call code that tries and log something
             try {
-                Zend_Registry::get('logger_message');
+                \Zend_Registry::get('logger_message');
             } catch (Exception $e) {
                 self::$shouldLog = false;
             }
         }
         if (self::$shouldLog) {
-            Zend_Registry::get('logger_message')->logEvent($message);
+            \Zend_Registry::get('logger_message')->logEvent($message);
         }
     }
 
@@ -1069,7 +1069,7 @@ class Piwik
      */
     static public function getQueryCount()
     {
-        $profiler = Zend_Registry::get('db')->getProfiler();
+        $profiler = \Zend_Registry::get('db')->getProfiler();
         return $profiler->getTotalNumQueries();
     }
 
@@ -1080,7 +1080,7 @@ class Piwik
      */
     static public function getDbElapsedSecs()
     {
-        $profiler = Zend_Registry::get('db')->getProfiler();
+        $profiler = \Zend_Registry::get('db')->getProfiler();
         return $profiler->getTotalElapsedSecs();
     }
 
@@ -1136,7 +1136,7 @@ class Piwik
      */
     static function printSqlProfilingReportZend()
     {
-        $profiler = Zend_Registry::get('db')->getProfiler();
+        $profiler = \Zend_Registry::get('db')->getProfiler();
 
         if (!$profiler->getEnabled()) {
             throw new Exception("To display the profiler you should enable enable_sql_profiler on your config/config.ini.php file");
@@ -1220,7 +1220,7 @@ class Piwik
     static public function printMemoryLeak($prefix = '', $suffix = '<br />')
     {
         echo $prefix;
-        echo Zend_Registry::get('timer')->getMemoryLeak();
+        echo \Zend_Registry::get('timer')->getMemoryLeak();
         echo $suffix;
     }
 
@@ -1830,7 +1830,7 @@ class Piwik
      */
     static public function getLoginPluginName()
     {
-        return Zend_Registry::get('auth')->getName();
+        return \Zend_Registry::get('auth')->getName();
     }
 
     /**
@@ -1928,7 +1928,7 @@ class Piwik
             $adapter = $dbInfos['adapter'];
             $db = @Adapter::factory($adapter, $dbInfos);
         }
-        Zend_Registry::set('db', $db);
+        \Zend_Registry::set('db', $db);
     }
 
     /**
@@ -1936,7 +1936,7 @@ class Piwik
      */
     static public function disconnectDatabase()
     {
-        Zend_Registry::get('db')->closeConnection();
+        \Zend_Registry::get('db')->closeConnection();
     }
 
     /**
@@ -1949,7 +1949,7 @@ class Piwik
      */
     static public function checkDatabaseVersion()
     {
-        Zend_Registry::get('db')->checkServerVersion();
+        \Zend_Registry::get('db')->checkServerVersion();
     }
 
     /**
@@ -1959,7 +1959,7 @@ class Piwik
      */
     static public function isDatabaseConnectionUTF8()
     {
-        return Zend_Registry::get('db')->isConnectionUTF8();
+        return \Zend_Registry::get('db')->isConnectionUTF8();
     }
 
     /*
diff --git a/core/ReportRenderer.php b/core/ReportRenderer.php
index 7f8e959c74..036ef72042 100644
--- a/core/ReportRenderer.php
+++ b/core/ReportRenderer.php
@@ -54,7 +54,7 @@ abstract class ReportRenderer
     static public function factory($rendererType)
     {
         $name = ucfirst(strtolower($rendererType));
-        $className = 'Piwik_ReportRenderer_' . $name;
+        $className = 'Piwik\ReportRenderer\\' . $name;
 
         try {
             Loader::loadClass($className);
diff --git a/core/Session.php b/core/Session.php
index dcbd327562..5286d02bd3 100644
--- a/core/Session.php
+++ b/core/Session.php
@@ -98,7 +98,7 @@ class Session extends Zend_Session
             // - user  - we can't verify that user-defined session handler functions have already been set via session_set_save_handler()
             // - mm    - this handler is not recommended, unsupported, not available for Windows, and has a potential concurrency issue
 
-            $db = Zend_Registry::get('db');
+            $db = \Zend_Registry::get('db');
 
             $config = array(
                 'name'           => Common::prefixTable('session'),
diff --git a/core/Tracker.php b/core/Tracker.php
index aca7ee28eb..0f8185a438 100644
--- a/core/Tracker.php
+++ b/core/Tracker.php
@@ -360,7 +360,7 @@ class Tracker
             $config = Config::getInstance();
 
             try {
-                $db = Zend_Registry::get('db');
+                $db = \Zend_Registry::get('db');
             } catch (Exception $e) {
                 Piwik::createDatabaseObject();
             }
diff --git a/core/Updater.php b/core/Updater.php
index a0000eeb55..1da4f30a44 100644
--- a/core/Updater.php
+++ b/core/Updater.php
@@ -8,6 +8,8 @@
  * @category Piwik
  * @package Piwik
  */
+namespace Piwik;
+
 use Piwik\Common;
 use Piwik\Version;
 
@@ -147,7 +149,7 @@ class Updater
      * Update the named component
      *
      * @param string $componentName 'core', or plugin name
-     * @throws Exception|Piwik_Updater_UpdateErrorException
+     * @throws Exception|Updater_UpdateErrorException
      * @return array of warning strings if applicable
      */
     public function update($componentName)
@@ -163,7 +165,7 @@ class Updater
                 }
 
                 $this->recordComponentSuccessfullyUpdated($componentName, $fileVersion);
-            } catch (Piwik_Updater_UpdateErrorException $e) {
+            } catch (Updater_UpdateErrorException $e) {
                 throw $e;
             } catch (Exception $e) {
                 $warningMessages[] = $e->getMessage();
@@ -278,7 +280,7 @@ class Updater
      *
      * @param string $file Update script filename
      * @param array $sqlarray An array of SQL queries to be executed
-     * @throws Piwik_Updater_UpdateErrorException
+     * @throws Updater_UpdateErrorException
      */
     static function updateDatabase($file, $sqlarray)
     {
@@ -290,7 +292,7 @@ class Updater
                     || !Zend_Registry::get('db')->isErrNo($e, $ignoreError)
                 ) {
                     $message = $file . ":\nError trying to execute the query '" . $update . "'.\nThe error was: " . $e->getMessage();
-                    throw new Piwik_Updater_UpdateErrorException($message);
+                    throw new Updater_UpdateErrorException($message);
                 }
             }
         }
@@ -303,6 +305,6 @@ class Updater
  * @package Piwik
  * @subpackage Updater
  */
-class Piwik_Updater_UpdateErrorException extends Exception
+class Updater_UpdateErrorException extends \Exception
 {
 }
diff --git a/core/Updates/0.2.10.php b/core/Updates/0.2.10.php
index da9a669abd..588c3f98ff 100644
--- a/core/Updates/0.2.10.php
+++ b/core/Updates/0.2.10.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -52,7 +52,7 @@ class Piwik_Updates_0_2_10 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
         $obsoleteFile = '/plugins/ExamplePlugin/API.php';
         if (file_exists(PIWIK_INCLUDE_PATH . $obsoleteFile)) {
diff --git a/core/Updates/0.2.12.php b/core/Updates/0.2.12.php
index 54b4dd41f8..fc7d81df47 100644
--- a/core/Updates/0.2.12.php
+++ b/core/Updates/0.2.12.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -33,6 +33,6 @@ class Piwik_Updates_0_2_12 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.13.php b/core/Updates/0.2.13.php
index 0cf92efc3d..3b0b91f261 100644
--- a/core/Updates/0.2.13.php
+++ b/core/Updates/0.2.13.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -33,6 +33,6 @@ class Piwik_Updates_0_2_13 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.24.php b/core/Updates/0.2.24.php
index f98c46fba6..f1b23721e6 100644
--- a/core/Updates/0.2.24.php
+++ b/core/Updates/0.2.24.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -31,6 +31,6 @@ class Piwik_Updates_0_2_24 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.27.php b/core/Updates/0.2.27.php
index a53430d182..63b8c4ed0e 100644
--- a/core/Updates/0.2.27.php
+++ b/core/Updates/0.2.27.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -76,6 +76,6 @@ class Piwik_Updates_0_2_27 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.32.php b/core/Updates/0.2.32.php
index d80b2826a9..2ebb93c343 100644
--- a/core/Updates/0.2.32.php
+++ b/core/Updates/0.2.32.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -34,6 +34,6 @@ class Piwik_Updates_0_2_32 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.33.php b/core/Updates/0.2.33.php
index b871521187..669ee051f6 100644
--- a/core/Updates/0.2.33.php
+++ b/core/Updates/0.2.33.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -40,6 +40,6 @@ class Piwik_Updates_0_2_33 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.35.php b/core/Updates/0.2.35.php
index 23800f8404..dba6e79da7 100644
--- a/core/Updates/0.2.35.php
+++ b/core/Updates/0.2.35.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -27,6 +27,6 @@ class Piwik_Updates_0_2_35 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.2.37.php b/core/Updates/0.2.37.php
index be90976039..fa129fc550 100644
--- a/core/Updates/0.2.37.php
+++ b/core/Updates/0.2.37.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -28,6 +28,6 @@ class Piwik_Updates_0_2_37 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.4.1.php b/core/Updates/0.4.1.php
index 4fa7ee8035..a74421a722 100644
--- a/core/Updates/0.4.1.php
+++ b/core/Updates/0.4.1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -29,6 +29,6 @@ class Piwik_Updates_0_4_1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.4.2.php b/core/Updates/0.4.2.php
index a52b4a181a..c9660a0e03 100644
--- a/core/Updates/0.4.2.php
+++ b/core/Updates/0.4.2.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -33,6 +33,6 @@ class Piwik_Updates_0_4_2 extends Updates
     // when restoring (possibly) previousy dropped columns, ignore mysql code error 1060: duplicate column
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.4.php b/core/Updates/0.4.php
index 048de15e25..82c7b928da 100644
--- a/core/Updates/0.4.php
+++ b/core/Updates/0.4.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -34,6 +34,6 @@ class Piwik_Updates_0_4 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.5.4.php b/core/Updates/0.5.4.php
index a0ce6d61b5..4fb0ef8488 100644
--- a/core/Updates/0.5.4.php
+++ b/core/Updates/0.5.4.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Config;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -41,7 +41,7 @@ class Piwik_Updates_0_5_4 extends Updates
                     throw new Exception('mandatory update failed');
                 }
             } catch (Exception $e) {
-                throw new Piwik_Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[superuser]</code> the following line: <br /><code>salt = $salt</code>");
+                throw new Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[superuser]</code> the following line: <br /><code>salt = $salt</code>");
             }
         }
 
@@ -60,6 +60,6 @@ class Piwik_Updates_0_5_4 extends Updates
             }
         }
 
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.5.5.php b/core/Updates/0.5.5.php
index cf1c287160..52c0075e17 100644
--- a/core/Updates/0.5.5.php
+++ b/core/Updates/0.5.5.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -40,7 +40,7 @@ class Piwik_Updates_0_5_5 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
     }
 }
diff --git a/core/Updates/0.5.php b/core/Updates/0.5.php
index 01f52ba549..1a707809e1 100644
--- a/core/Updates/0.5.php
+++ b/core/Updates/0.5.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -35,6 +35,6 @@ class Piwik_Updates_0_5 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php
index b2c27728f7..1e2fa17ffe 100644
--- a/core/Updates/0.6-rc1.php
+++ b/core/Updates/0.6-rc1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -54,7 +54,7 @@ class Piwik_Updates_0_6_rc1 extends Updates
         }
 
         // Run the SQL
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
         // Outputs warning message, pointing users to the plugin download page
         if (!empty($disabledPlugins)) {
diff --git a/core/Updates/0.6.3.php b/core/Updates/0.6.3.php
index 8353628267..f2c4ed9f6a 100644
--- a/core/Updates/0.6.3.php
+++ b/core/Updates/0.6.3.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Config;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -42,10 +42,10 @@ class Piwik_Updates_0_6_3 extends Updates
                     throw new Exception('mandatory update failed');
                 }
             } catch (Exception $e) {
-                throw new Piwik_Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[database]</code> the following line: <br /><code>schema = Myisam</code>");
+                throw new Updater_UpdateErrorException("Please edit your config/config.ini.php file and add below <code>[database]</code> the following line: <br /><code>schema = Myisam</code>");
             }
         }
 
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.7.php b/core/Updates/0.7.php
index ed132626c0..0cbcfb89f1 100644
--- a/core/Updates/0.7.php
+++ b/core/Updates/0.7.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -27,6 +27,6 @@ class Piwik_Updates_0_7 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/0.9.1.php b/core/Updates/0.9.1.php
index 526c365e76..934164fa1a 100644
--- a/core/Updates/0.9.1.php
+++ b/core/Updates/0.9.1.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -51,7 +51,7 @@ class Piwik_Updates_0_9_1 extends Updates
     static function update()
     {
         if (Piwik::isTimezoneSupportEnabled()) {
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
         }
     }
 }
diff --git a/core/Updates/1.10.2-b1.php b/core/Updates/1.10.2-b1.php
index 70a5b906cf..02df09fc16 100755
--- a/core/Updates/1.10.2-b1.php
+++ b/core/Updates/1.10.2-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -28,6 +28,6 @@ class Piwik_Updates_1_10_2_b1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.10.2-b2.php b/core/Updates/1.10.2-b2.php
index 40b048e27c..b2ad85fb0e 100644
--- a/core/Updates/1.10.2-b2.php
+++ b/core/Updates/1.10.2-b2.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -28,6 +28,6 @@ class Piwik_Updates_1_10_2_b2 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.12-b1.php b/core/Updates/1.12-b1.php
index 3a9b6dd742..6e67fd5da0 100644
--- a/core/Updates/1.12-b1.php
+++ b/core/Updates/1.12-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -32,7 +32,7 @@ class Piwik_Updates_1_12_b1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 
 }
diff --git a/core/Updates/1.12-b16.php b/core/Updates/1.12-b16.php
index 44819663ba..b7cdddc4ea 100644
--- a/core/Updates/1.12-b16.php
+++ b/core/Updates/1.12-b16.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -28,6 +28,6 @@ class Piwik_Updates_1_12_b16 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php
index 409e7f7219..cd86d947f2 100644
--- a/core/Updates/1.2-rc1.php
+++ b/core/Updates/1.2-rc1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -131,7 +131,7 @@ class Piwik_Updates_1_2_rc1 extends Updates
         }
 
         // Run the SQL
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
         // Outputs warning message, pointing users to the plugin download page
         if (!empty($disabledPlugins)) {
diff --git a/core/Updates/1.2.3.php b/core/Updates/1.2.3.php
index 56383d84ea..9c6d27ad7f 100644
--- a/core/Updates/1.2.3.php
+++ b/core/Updates/1.2.3.php
@@ -10,7 +10,7 @@
  */
 use Piwik\Config;
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -35,7 +35,7 @@ class Piwik_Updates_1_2_3 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
 
diff --git a/core/Updates/1.2.5-rc1.php b/core/Updates/1.2.5-rc1.php
index a13523927d..f40242b59e 100644
--- a/core/Updates/1.2.5-rc1.php
+++ b/core/Updates/1.2.5-rc1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -31,7 +31,7 @@ class Piwik_Updates_1_2_5_rc1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
 
diff --git a/core/Updates/1.2.5-rc7.php b/core/Updates/1.2.5-rc7.php
index badfab6eaa..38a3883063 100644
--- a/core/Updates/1.2.5-rc7.php
+++ b/core/Updates/1.2.5-rc7.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -27,7 +27,7 @@ class Piwik_Updates_1_2_5_rc7 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
 
diff --git a/core/Updates/1.4-rc1.php b/core/Updates/1.4-rc1.php
index fcc404b06d..b0e723357e 100644
--- a/core/Updates/1.4-rc1.php
+++ b/core/Updates/1.4-rc1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -30,7 +30,7 @@ class Piwik_Updates_1_4_rc1 extends Updates
     static function update()
     {
         try {
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.4-rc2.php b/core/Updates/1.4-rc2.php
index 1655a9f1b7..2689146890 100644
--- a/core/Updates/1.4-rc2.php
+++ b/core/Updates/1.4-rc2.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -39,6 +39,6 @@ class Piwik_Updates_1_4_rc2 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.5-b1.php b/core/Updates/1.5-b1.php
index f3c2cf1a9b..61bf90f2c6 100644
--- a/core/Updates/1.5-b1.php
+++ b/core/Updates/1.5-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -57,6 +57,6 @@ class Piwik_Updates_1_5_b1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.5-b2.php b/core/Updates/1.5-b2.php
index 7a992f6c18..0ccf93285c 100644
--- a/core/Updates/1.5-b2.php
+++ b/core/Updates/1.5-b2.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -36,6 +36,6 @@ class Piwik_Updates_1_5_b2 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.5-b3.php b/core/Updates/1.5-b3.php
index 4df144fe5d..908c2fbc6a 100644
--- a/core/Updates/1.5-b3.php
+++ b/core/Updates/1.5-b3.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -58,6 +58,6 @@ class Piwik_Updates_1_5_b3 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.5-b4.php b/core/Updates/1.5-b4.php
index b4c0b40f47..b7e62178cd 100644
--- a/core/Updates/1.5-b4.php
+++ b/core/Updates/1.5-b4.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -27,6 +27,6 @@ class Piwik_Updates_1_5_b4 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.5-b5.php b/core/Updates/1.5-b5.php
index d6e2cb9c7c..8fa8c69102 100644
--- a/core/Updates/1.5-b5.php
+++ b/core/Updates/1.5-b5.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -32,6 +32,6 @@ class Piwik_Updates_1_5_b5 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.6-b1.php b/core/Updates/1.6-b1.php
index ca578ead28..b0cff7f57d 100644
--- a/core/Updates/1.6-b1.php
+++ b/core/Updates/1.6-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -63,6 +63,6 @@ class Piwik_Updates_1_6_b1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/Updates/1.7-b1.php b/core/Updates/1.7-b1.php
index 015960cb8b..7a9d5f00b3 100644
--- a/core/Updates/1.7-b1.php
+++ b/core/Updates/1.7-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -30,7 +30,7 @@ class Piwik_Updates_1_7_b1 extends Updates
     static function update()
     {
         try {
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.7.2-rc5.php b/core/Updates/1.7.2-rc5.php
index 72bc715645..85848e0428 100644
--- a/core/Updates/1.7.2-rc5.php
+++ b/core/Updates/1.7.2-rc5.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -28,7 +28,7 @@ class Piwik_Updates_1_7_2_rc5 extends Updates
     static function update()
     {
         try {
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.7.2-rc7.php b/core/Updates/1.7.2-rc7.php
index 4649c89a21..42a3234d12 100755
--- a/core/Updates/1.7.2-rc7.php
+++ b/core/Updates/1.7.2-rc7.php
@@ -9,8 +9,9 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
+use Piwik\Db;
 
 /**
  * @package Updates
@@ -37,7 +38,7 @@ class Piwik_Updates_1_7_2_rc7 extends Updates
                 $layout = str_replace("\\\"", "\"", $layout);
                 Db::query('UPDATE `' . Common::prefixTable('user_dashboard') . '` SET layout = ? WHERE iddashboard = ? AND login = ?', array($layout, $idDashboard, $login));
             }
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.8.3-b1.php b/core/Updates/1.8.3-b1.php
index a991ac1f2d..84d9ce56d5 100644
--- a/core/Updates/1.8.3-b1.php
+++ b/core/Updates/1.8.3-b1.php
@@ -9,8 +9,9 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
+use Piwik\Db;
 
 /**
  * @package Updates
@@ -44,7 +45,7 @@ class Piwik_Updates_1_8_3_b1 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
         if (!\Piwik\PluginsManager::getInstance()->isPluginLoaded('PDFReports')) {
             return;
         }
diff --git a/core/Updates/1.8.4-b1.php b/core/Updates/1.8.4-b1.php
index 8a4d066165..01ab183671 100644
--- a/core/Updates/1.8.4-b1.php
+++ b/core/Updates/1.8.4-b1.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -180,7 +180,7 @@ class Piwik_Updates_1_8_4_b1 extends Updates
     {
         try {
             self::enableMaintenanceMode();
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
             self::disableMaintenanceMode();
         } catch (Exception $e) {
             self::disableMaintenanceMode();
diff --git a/core/Updates/1.9-b16.php b/core/Updates/1.9-b16.php
index 7b362e0a5c..dcbecc25b1 100755
--- a/core/Updates/1.9-b16.php
+++ b/core/Updates/1.9-b16.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -48,7 +48,7 @@ class Piwik_Updates_1_9_b16 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
 
diff --git a/core/Updates/1.9-b19.php b/core/Updates/1.9-b19.php
index 80e62a39f1..8933e46c95 100755
--- a/core/Updates/1.9-b19.php
+++ b/core/Updates/1.9-b19.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -31,7 +31,7 @@ class Piwik_Updates_1_9_b19 extends Updates
 
     static function update()
     {
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
 
         try {
diff --git a/core/Updates/1.9-b9.php b/core/Updates/1.9-b9.php
index d5fd876b1f..1f2fd7f6a0 100755
--- a/core/Updates/1.9-b9.php
+++ b/core/Updates/1.9-b9.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -46,7 +46,7 @@ class Piwik_Updates_1_9_b9 extends Updates
     {
         try {
             self::enableMaintenanceMode();
-            Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+            Updater::updateDatabase(__FILE__, self::getSql());
             self::disableMaintenanceMode();
         } catch (Exception $e) {
             self::disableMaintenanceMode();
diff --git a/core/Updates/1.9.1-b2.php b/core/Updates/1.9.1-b2.php
index cff70446f8..f6c5642154 100644
--- a/core/Updates/1.9.1-b2.php
+++ b/core/Updates/1.9.1-b2.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -27,7 +27,7 @@ class Piwik_Updates_1_9_1_b2 extends Updates
     static function update()
     {
         // manually remove ExampleFeedburner column
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
 
         // remove ExampleFeedburner plugin
         $pluginToDelete = 'ExampleFeedburner';
diff --git a/core/Updates/1.9.3-b8.php b/core/Updates/1.9.3-b8.php
index c961a189a6..19954482ba 100755
--- a/core/Updates/1.9.3-b8.php
+++ b/core/Updates/1.9.3-b8.php
@@ -9,7 +9,7 @@
  * @package Updates
  */
 use Piwik\Common;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Updates;
 
 /**
@@ -29,6 +29,6 @@ class Piwik_Updates_1_9_3_b8 extends Updates
     static function update()
     {
         // add excluded_user_agents column to site table
-        Piwik_Updater::updateDatabase(__FILE__, self::getSql());
+        Updater::updateDatabase(__FILE__, self::getSql());
     }
 }
diff --git a/core/View.php b/core/View.php
index 7b5ea6d073..3d5c68b736 100644
--- a/core/View.php
+++ b/core/View.php
@@ -135,7 +135,7 @@ class View implements Piwik_View_Interface
         }
 
         try {
-            $this->totalTimeGeneration = Zend_Registry::get('timer')->getTime();
+            $this->totalTimeGeneration = \Zend_Registry::get('timer')->getTime();
             $this->totalNumberOfQueries = Piwik::getQueryCount();
         } catch (Exception $e) {
             $this->totalNumberOfQueries = 0;
diff --git a/libs/Zend/Db/Table/Abstract.php b/libs/Zend/Db/Table/Abstract.php
index 6949a61601..30d9b6175b 100644
--- a/libs/Zend/Db/Table/Abstract.php
+++ b/libs/Zend/Db/Table/Abstract.php
@@ -604,7 +604,7 @@ abstract class Zend_Db_Table_Abstract
         }
         if (is_string($db)) {
             // require_once 'Zend/Registry.php';
-            $db = Zend_Registry::get($db);
+            $db = \Zend_Registry::get($db);
         }
         if (!$db instanceof Zend_Db_Adapter_Abstract) {
             // require_once 'Zend/Db/Table/Exception.php';
@@ -699,7 +699,7 @@ abstract class Zend_Db_Table_Abstract
         }
         if (is_string($metadataCache)) {
             // require_once 'Zend/Registry.php';
-            $metadataCache = Zend_Registry::get($metadataCache);
+            $metadataCache = \Zend_Registry::get($metadataCache);
         }
         if (!$metadataCache instanceof Zend_Cache_Core) {
             // require_once 'Zend/Db/Table/Exception.php';
diff --git a/libs/Zend/Validate/Abstract.php b/libs/Zend/Validate/Abstract.php
index cad3ee8fa3..0aabe1a2a6 100644
--- a/libs/Zend/Validate/Abstract.php
+++ b/libs/Zend/Validate/Abstract.php
@@ -390,7 +390,7 @@ abstract class Zend_Validate_Abstract implements Zend_Validate_Interface
         if (null === self::$_defaultTranslator) {
             // require_once 'Zend/Registry.php';
             if (Zend_Registry::isRegistered('Zend_Translate')) {
-                $translator = Zend_Registry::get('Zend_Translate');
+                $translator = \Zend_Registry::get('Zend_Translate');
                 if ($translator instanceof Zend_Translate_Adapter) {
                     return $translator;
                 } elseif ($translator instanceof Zend_Translate) {
diff --git a/libs/Zend/Validate/Date.php b/libs/Zend/Validate/Date.php
index a08e881a6b..eca260bb39 100644
--- a/libs/Zend/Validate/Date.php
+++ b/libs/Zend/Validate/Date.php
@@ -95,7 +95,7 @@ class Zend_Validate_Date extends Zend_Validate_Abstract
         if (!array_key_exists('locale', $options)) {
             // require_once 'Zend/Registry.php';
             if (Zend_Registry::isRegistered('Zend_Locale')) {
-                $options['locale'] = Zend_Registry::get('Zend_Locale');
+                $options['locale'] = \Zend_Registry::get('Zend_Locale');
             }
         }
 
diff --git a/libs/Zend/Validate/Float.php b/libs/Zend/Validate/Float.php
index f1b452ae07..1cb451f3d9 100644
--- a/libs/Zend/Validate/Float.php
+++ b/libs/Zend/Validate/Float.php
@@ -72,7 +72,7 @@ class Zend_Validate_Float extends Zend_Validate_Abstract
         if (empty($locale)) {
             // require_once 'Zend/Registry.php';
             if (Zend_Registry::isRegistered('Zend_Locale')) {
-                $locale = Zend_Registry::get('Zend_Locale');
+                $locale = \Zend_Registry::get('Zend_Locale');
             }
         }
 
diff --git a/libs/Zend/Validate/Iban.php b/libs/Zend/Validate/Iban.php
index c2ecfd51a4..2f9006f298 100644
--- a/libs/Zend/Validate/Iban.php
+++ b/libs/Zend/Validate/Iban.php
@@ -126,7 +126,7 @@ class Zend_Validate_Iban extends Zend_Validate_Abstract
         if (empty($locale)) {
             // require_once 'Zend/Registry.php';
             if (Zend_Registry::isRegistered('Zend_Locale')) {
-                $locale = Zend_Registry::get('Zend_Locale');
+                $locale = \Zend_Registry::get('Zend_Locale');
             }
         }
 
diff --git a/libs/Zend/Validate/Int.php b/libs/Zend/Validate/Int.php
index e542a0a47a..b349c89ce1 100644
--- a/libs/Zend/Validate/Int.php
+++ b/libs/Zend/Validate/Int.php
@@ -72,7 +72,7 @@ class Zend_Validate_Int extends Zend_Validate_Abstract
         if (empty($locale)) {
             // require_once 'Zend/Registry.php';
             if (Zend_Registry::isRegistered('Zend_Locale')) {
-                $locale = Zend_Registry::get('Zend_Locale');
+                $locale = \Zend_Registry::get('Zend_Locale');
             }
         }
 
diff --git a/misc/others/geoipUpdateRows.php b/misc/others/geoipUpdateRows.php
index 7a2a3de32e..b0ffb11d7c 100755
--- a/misc/others/geoipUpdateRows.php
+++ b/misc/others/geoipUpdateRows.php
@@ -4,6 +4,7 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\FrontController;
 use Piwik\IP;
+use Piwik\Db;
 
 ini_set("memory_limit", "512M");
 error_reporting(E_ALL | E_NOTICE);
diff --git a/misc/others/iframeWidget_localhost.php b/misc/others/iframeWidget_localhost.php
index bcaef1a2b6..d83fb26c31 100644
--- a/misc/others/iframeWidget_localhost.php
+++ b/misc/others/iframeWidget_localhost.php
@@ -1,6 +1,7 @@
 <?php
 use Piwik\Common;
 use Piwik\FrontController;
+use Piwik\WidgetsList;
 use Piwik\Url;
 
 exit;
diff --git a/misc/others/test_generateLotsVisitsWebsites.php b/misc/others/test_generateLotsVisitsWebsites.php
index 260b146851..2c8837100a 100644
--- a/misc/others/test_generateLotsVisitsWebsites.php
+++ b/misc/others/test_generateLotsVisitsWebsites.php
@@ -41,7 +41,7 @@ class Piwik_StressTests_CopyLogs
         $endDate = '2011-08-12';
 
         $this->log("Starting...");
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $initial = $this->getVisitsToday();
         $this->log(" Visits today so far: " . $initial);
@@ -102,7 +102,7 @@ class Piwik_StressTests_CopyLogs
     function delete()
     {
         $this->log("Deleting logs for today...");
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $sql = "DELETE FROM " . Common::prefixTable('log_visit') . "
 				WHERE date(visit_last_action_time) = CURRENT_DATE();";
         $db->query($sql);
@@ -124,13 +124,13 @@ class Piwik_StressTests_CopyLogs
     function getVisitsToday()
     {
         $sql = "SELECT count(*) FROM `" . Common::prefixTable('log_visit') . "` WHERE idsite >= 1 AND DATE(`visit_last_action_time`) = CURRENT_DATE;";
-        return Zend_Registry::get('db')->fetchOne($sql);
+        return \Zend_Registry::get('db')->fetchOne($sql);
     }
 
     function getConversionItemsToday($table = 'log_conversion_item')
     {
         $sql = "SELECT count(*) FROM `" . Common::prefixTable($table) . "` WHERE idsite >= 1 AND DATE(`server_time`) = CURRENT_DATE;";
-        return Zend_Registry::get('db')->fetchOne($sql);
+        return \Zend_Registry::get('db')->fetchOne($sql);
     }
 
     function getConversionsToday()
@@ -141,6 +141,6 @@ class Piwik_StressTests_CopyLogs
     function getActionsToday()
     {
         $sql = "SELECT count(*) FROM `" . Common::prefixTable('log_link_visit_action') . "` WHERE idsite >= 1 AND DATE(`server_time`) = CURRENT_DATE;";
-        return Zend_Registry::get('db')->fetchOne($sql);
+        return \Zend_Registry::get('db')->fetchOne($sql);
     }
 }
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 74c7c011de..0650e67099 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -146,7 +146,7 @@ class Piwik_API_API
             'segment'        => 'visitIp',
             'acceptedValues' => '13.54.122.1, etc.',
             'sqlSegment'     => 'log_visit.location_ip',
-            'sqlFilter'      => array('IP', 'P2N'),
+            'sqlFilter'      => array('Piwik\IP', 'P2N'),
             'permission'     => $isAuthenticatedWithViewAccess,
         );
         $segments[] = array(
diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php
index f333277c03..fdc75d1891 100644
--- a/plugins/Actions/Actions.php
+++ b/plugins/Actions/Actions.php
@@ -13,8 +13,10 @@ use Piwik\ArchiveProcessor;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\ViewDataTable;
+use Piwik\WidgetsList;
 use Piwik\Plugin;
 use Piwik\SegmentExpression;
+use Piwik\Db;
 use Piwik\Site;
 
 /**
diff --git a/plugins/CoreAdminHome/API.php b/plugins/CoreAdminHome/API.php
index 6877d8ac90..2768708ef5 100644
--- a/plugins/CoreAdminHome/API.php
+++ b/plugins/CoreAdminHome/API.php
@@ -17,6 +17,7 @@ use Piwik\Common;
 use Piwik\Date;
 use Piwik\TaskScheduler;
 use Piwik\Site;
+use Piwik\Db;
 
 /**
  * @package Piwik_CoreAdminHome
diff --git a/plugins/CoreAdminHome/CoreAdminHome.php b/plugins/CoreAdminHome/CoreAdminHome.php
index 8b4aece240..05244f24ef 100644
--- a/plugins/CoreAdminHome/CoreAdminHome.php
+++ b/plugins/CoreAdminHome/CoreAdminHome.php
@@ -14,6 +14,7 @@ use Piwik\Piwik;
 use Piwik\Date;
 use Piwik\ScheduledTask;
 use Piwik\Plugin;
+use Piwik\Db;
 
 /**
  *
diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php
index d568007482..75d50a2f2e 100644
--- a/plugins/CoreHome/CoreHome.php
+++ b/plugins/CoreHome/CoreHome.php
@@ -9,6 +9,7 @@
  * @package Piwik_CoreHome
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php
index 8d427b9813..642071148c 100644
--- a/plugins/CoreUpdater/Controller.php
+++ b/plugins/CoreUpdater/Controller.php
@@ -15,7 +15,7 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Controller;
 use Piwik\Http;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\View;
 use Piwik\Version;
 use Piwik\UpdateCheck;
@@ -238,7 +238,7 @@ class Piwik_CoreUpdater_Controller extends Controller
 
     protected function runUpdaterAndExit()
     {
-        $updater = new Piwik_Updater();
+        $updater = new Updater();
         $componentsWithUpdateFile = Piwik_CoreUpdater::getComponentUpdates($updater);
         if (empty($componentsWithUpdateFile)) {
             Piwik::redirectToModule('CoreHome');
@@ -348,7 +348,7 @@ class Piwik_CoreUpdater_Controller extends Controller
         foreach ($componentsWithUpdateFile as $name => $filenames) {
             try {
                 $this->warningMessages = array_merge($this->warningMessages, $updater->update($name));
-            } catch (Piwik_Updater_UpdateErrorException $e) {
+            } catch (Updater_UpdateErrorException $e) {
                 $this->errorMessages[] = $e->getMessage();
                 if ($name == 'core') {
                     $this->coreError = true;
diff --git a/plugins/CoreUpdater/CoreUpdater.php b/plugins/CoreUpdater/CoreUpdater.php
index b682a705d5..7e4d2497a5 100644
--- a/plugins/CoreUpdater/CoreUpdater.php
+++ b/plugins/CoreUpdater/CoreUpdater.php
@@ -11,7 +11,7 @@
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\FrontController;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\Version;
 use Piwik\UpdateCheck;
 use Piwik\Plugin;
@@ -34,7 +34,7 @@ class Piwik_CoreUpdater extends Plugin
         return $hooks;
     }
 
-    public static function getComponentUpdates(Piwik_Updater $updater)
+    public static function getComponentUpdates(Updater $updater)
     {
         $updater->addComponentToCheck('core', Version::VERSION);
         $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins();
@@ -55,7 +55,7 @@ class Piwik_CoreUpdater extends Plugin
         $module = Common::getRequestVar('module', '', 'string');
         $action = Common::getRequestVar('action', '', 'string');
 
-        $updater = new Piwik_Updater();
+        $updater = new Updater();
         $updater->addComponentToCheck('core', Version::VERSION);
         $updates = $updater->getComponentsWithNewVersion();
         if (!empty($updates)) {
diff --git a/plugins/CustomVariables/CustomVariables.php b/plugins/CustomVariables/CustomVariables.php
index 362d453aa2..055ce64993 100644
--- a/plugins/CustomVariables/CustomVariables.php
+++ b/plugins/CustomVariables/CustomVariables.php
@@ -11,6 +11,7 @@
 use Piwik\ArchiveProcessor;
 use Piwik\Tracker;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  * @package Piwik_CustomVariables
diff --git a/plugins/DBStats/MySQLMetadataProvider.php b/plugins/DBStats/MySQLMetadataProvider.php
index c21f6f6009..d47713cf30 100755
--- a/plugins/DBStats/MySQLMetadataProvider.php
+++ b/plugins/DBStats/MySQLMetadataProvider.php
@@ -12,6 +12,8 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Config;
 use Piwik\DataTable;
+use Piwik\Db;
+
 
 /**
  * Utility class that provides general information about databases, including the size of
diff --git a/plugins/Dashboard/API.php b/plugins/Dashboard/API.php
index b3231c7bdc..dd87979739 100644
--- a/plugins/Dashboard/API.php
+++ b/plugins/Dashboard/API.php
@@ -8,6 +8,7 @@
  * @package  Piwik_Dashboard
  */
 use Piwik\Piwik;
+use Piwik\WidgetsList;
 
 
 /**
diff --git a/plugins/Dashboard/Controller.php b/plugins/Dashboard/Controller.php
index c3743500b1..aa9b58ea26 100644
--- a/plugins/Dashboard/Controller.php
+++ b/plugins/Dashboard/Controller.php
@@ -12,6 +12,8 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Controller;
 use Piwik\View;
+use Piwik\Db;
+use Piwik\WidgetsList;
 
 /**
  * Dashboard Controller
diff --git a/plugins/Dashboard/Dashboard.php b/plugins/Dashboard/Dashboard.php
index c019a49573..13d25ee9cb 100644
--- a/plugins/Dashboard/Dashboard.php
+++ b/plugins/Dashboard/Dashboard.php
@@ -12,6 +12,8 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Plugin;
 use Piwik\Site;
+use Piwik\Db;
+use Piwik\WidgetsList;
 
 /**
  * @package Piwik_Dashboard
diff --git a/plugins/DevicesDetection/Controller.php b/plugins/DevicesDetection/Controller.php
index d9b0136b77..8b90751400 100644
--- a/plugins/DevicesDetection/Controller.php
+++ b/plugins/DevicesDetection/Controller.php
@@ -4,6 +4,8 @@ use Piwik\Common;
 use Piwik\Controller;
 use Piwik\ViewDataTable;
 use Piwik\View;
+use Piwik\Db;
+
 
 /**
  * Piwik - Open source web analytics
diff --git a/plugins/DevicesDetection/DevicesDetection.php b/plugins/DevicesDetection/DevicesDetection.php
index f70fba50fa..4af04a5678 100644
--- a/plugins/DevicesDetection/DevicesDetection.php
+++ b/plugins/DevicesDetection/DevicesDetection.php
@@ -13,6 +13,9 @@ use Piwik\ArchiveProcessor;
 use Piwik\Config;
 use Piwik\Common;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
+use Piwik\Db;
+
 
 require_once PIWIK_INCLUDE_PATH . "/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php";
 require_once PIWIK_INCLUDE_PATH . '/plugins/DevicesDetection/functions.php';
diff --git a/plugins/ExamplePlugin/Controller.php b/plugins/ExamplePlugin/Controller.php
index 0bebd89e57..dfb4c18eb5 100644
--- a/plugins/ExamplePlugin/Controller.php
+++ b/plugins/ExamplePlugin/Controller.php
@@ -12,6 +12,9 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Controller;
 use Piwik\View;
+use Piwik\Db;
+use Piwik\WidgetsList;
+
 
 /**
  *
diff --git a/plugins/ExamplePlugin/ExamplePlugin.php b/plugins/ExamplePlugin/ExamplePlugin.php
index bb7c968452..b2d7441471 100644
--- a/plugins/ExamplePlugin/ExamplePlugin.php
+++ b/plugins/ExamplePlugin/ExamplePlugin.php
@@ -9,6 +9,7 @@
  * @package Piwik_ExamplePlugin
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/ExampleRssWidget/ExampleRssWidget.php b/plugins/ExampleRssWidget/ExampleRssWidget.php
index a0f7b33dca..a23daf88ee 100644
--- a/plugins/ExampleRssWidget/ExampleRssWidget.php
+++ b/plugins/ExampleRssWidget/ExampleRssWidget.php
@@ -9,6 +9,7 @@
  * @package Piwik_ExampleRssWidget
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php
index 2f5be105ba..46f8738771 100644
--- a/plugins/Goals/API.php
+++ b/plugins/Goals/API.php
@@ -14,6 +14,7 @@ use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\DataTable;
 use Piwik\Site;
+use Piwik\Db;
 
 /**
  * Goals API lets you Manage existing goals, via "updateGoal" and "deleteGoal", create new Goals via "addGoal",
@@ -103,7 +104,7 @@ class Piwik_Goals_API
         $pattern = $this->checkPattern($pattern);
 
         // save in db
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $idGoal = $db->fetchOne("SELECT max(idgoal) + 1
 								FROM " . Common::prefixTable('goal') . "
 								WHERE idsite = ?", $idSite);
@@ -149,7 +150,7 @@ class Piwik_Goals_API
         $name = $this->checkName($name);
         $pattern = $this->checkPattern($pattern);
         $this->checkPatternIsValid($patternType, $pattern);
-        Zend_Registry::get('db')->update(Common::prefixTable('goal'),
+        \Zend_Registry::get('db')->update(Common::prefixTable('goal'),
             array(
                  'name'            => $name,
                  'match_attribute' => $matchAttribute,
diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php
index a12ce89280..7c9b006477 100644
--- a/plugins/Goals/Goals.php
+++ b/plugins/Goals/Goals.php
@@ -14,6 +14,8 @@ use Piwik\Common;
 use Piwik\TranslationWriter;
 use Piwik\Plugin;
 use Piwik\Site;
+use Piwik\WidgetsList;
+use Piwik\Db;
 
 /**
  *
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index f661b3dd98..aa3052e6b5 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -17,11 +17,12 @@ use Piwik\Config;
 use Piwik\Common;
 use Piwik\Access;
 use Piwik\Http;
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 use Piwik\View;
 use Piwik\Version;
 use Piwik\Url;
 use Piwik\ProxyHeaders;
+use Piwik\Db;
 
 /**
  * Installation controller
@@ -213,7 +214,7 @@ class Piwik_Installation_Controller extends Admin
         }
 
         $this->createDbFromSessionInformation();
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         try {
             $db->checkClientVersion();
@@ -294,7 +295,7 @@ class Piwik_Installation_Controller extends Admin
             Piwik::createTables();
             Piwik::createAnonymousUser();
 
-            $updater = new Piwik_Updater();
+            $updater = new Updater();
             $updater->recordComponentSuccessfullyUpdated('core', Version::VERSION);
             $view->tablesCreated = true;
             $view->showNextStep = true;
diff --git a/plugins/Installation/FormDatabaseSetup.php b/plugins/Installation/FormDatabaseSetup.php
index 8939ace24e..f4d1f99247 100644
--- a/plugins/Installation/FormDatabaseSetup.php
+++ b/plugins/Installation/FormDatabaseSetup.php
@@ -172,7 +172,7 @@ class Piwik_Installation_FormDatabaseSetup_Rule_checkUserPrivileges extends HTML
             }
         }
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         try {
             // try to drop tables before running privilege tests
diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php
index d42d5cdfc4..ee6dd2aaa9 100644
--- a/plugins/LanguagesManager/API.php
+++ b/plugins/LanguagesManager/API.php
@@ -11,6 +11,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Db;
 
 /**
  * The LanguagesManager API lets you access existing Piwik translations, and change Users languages preferences.
diff --git a/plugins/LanguagesManager/LanguagesManager.php b/plugins/LanguagesManager/LanguagesManager.php
index 5b848784bd..6bd1bf553c 100644
--- a/plugins/LanguagesManager/LanguagesManager.php
+++ b/plugins/LanguagesManager/LanguagesManager.php
@@ -15,6 +15,7 @@ use Piwik\Common;
 use Piwik\Cookie;
 use Piwik\View;
 use Piwik\Plugin;
+use Piwik\Db;
 use Piwik\Translate;
 
 /**
@@ -173,7 +174,7 @@ class Piwik_LanguagesManager extends Plugin
 
 
     /**
-     * Returns the langage for the session
+     * Returns the language for the session
      *
      * @return string|null
      */
diff --git a/plugins/Live/API.php b/plugins/Live/API.php
index 4fd3ab3b91..8cd04cf585 100644
--- a/plugins/Live/API.php
+++ b/plugins/Live/API.php
@@ -21,6 +21,7 @@ use Piwik\DataTable;
 use Piwik\Tracker;
 use Piwik\Segment;
 use Piwik\Site;
+use Piwik\Db;
 
 /**
  * @see plugins/Referers/functions.php
diff --git a/plugins/Live/Live.php b/plugins/Live/Live.php
index 4cd54520ef..d4b6865039 100644
--- a/plugins/Live/Live.php
+++ b/plugins/Live/Live.php
@@ -9,6 +9,7 @@
  * @package Piwik_Live
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/Login/Auth.php b/plugins/Login/Auth.php
index 4280321be3..251369e976 100644
--- a/plugins/Login/Auth.php
+++ b/plugins/Login/Auth.php
@@ -12,6 +12,7 @@ use Piwik\Config;
 use Piwik\Common;
 use Piwik\Auth;
 use Piwik\AuthResult;
+use Piwik\Db;
 
 /**
  *
diff --git a/plugins/Login/Login.php b/plugins/Login/Login.php
index b8718f93d5..b1da0954ad 100644
--- a/plugins/Login/Login.php
+++ b/plugins/Login/Login.php
@@ -11,7 +11,7 @@
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Cookie;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\Session;
 use Piwik\Plugin;
 
@@ -53,8 +53,8 @@ class Piwik_Login extends Plugin
      */
     public function ApiRequestAuthenticate($tokenAuth)
     {
-        Zend_Registry::get('auth')->setLogin($login = null);
-        Zend_Registry::get('auth')->setTokenAuth($tokenAuth);
+        \Zend_Registry::get('auth')->setLogin($login = null);
+        \Zend_Registry::get('auth')->setTokenAuth($tokenAuth);
     }
 
     /**
@@ -64,7 +64,7 @@ class Piwik_Login extends Plugin
     function initAuthenticationObject($allowCookieAuthentication = false)
     {
         $auth = new Piwik_Login_Auth();
-        Zend_Registry::set('auth', $auth);
+        \Zend_Registry::set('auth', $auth);
 
         $action = Piwik::getAction();
         if (Piwik::getModule() === 'API'
@@ -102,7 +102,7 @@ class Piwik_Login extends Plugin
 
         $tokenAuth = Piwik_UsersManager_API::getInstance()->getTokenAuth($login, $md5Password);
 
-        $auth = Zend_Registry::get('auth');
+        $auth = \Zend_Registry::get('auth');
         $auth->setLogin($login);
         $auth->setTokenAuth($tokenAuth);
         $authResult = $auth->authenticate();
@@ -150,7 +150,7 @@ class Piwik_Login extends Plugin
     public static function removePasswordResetInfo($login)
     {
         $optionName = self::getPasswordResetInfoOptionName($login);
-        Piwik_Option::getInstance()->delete($optionName);
+        Option::getInstance()->delete($optionName);
     }
 
     /**
diff --git a/plugins/Overlay/API.php b/plugins/Overlay/API.php
index 26cf98a5c5..d6d019aa23 100644
--- a/plugins/Overlay/API.php
+++ b/plugins/Overlay/API.php
@@ -114,7 +114,7 @@ class Piwik_Overlay_API
         Piwik_PostEvent('FrontController.initAuthenticationObject',
             array(&$notification, $allowCookieAuthentication = true));
 
-        $auth = Zend_Registry::get('auth');
+        $auth = \Zend_Registry::get('auth');
         $success = Access::getInstance()->reloadAccess($auth);
 
         if (!$success) {
diff --git a/plugins/PDFReports/API.php b/plugins/PDFReports/API.php
index 7c07598430..716687866b 100644
--- a/plugins/PDFReports/API.php
+++ b/plugins/PDFReports/API.php
@@ -15,6 +15,7 @@ use Piwik\ReportRenderer;
 use Piwik\ReportRenderer\Html;
 use Piwik\Site;
 use Piwik\Translate;
+use Piwik\Db;
 
 /**
  * The PDFReports API lets you manage Scheduled Email reports, as well as generate, download or email any existing report.
@@ -103,7 +104,7 @@ class Piwik_PDFReports_API
         // validation of requested reports
         $reports = self::validateRequestedReports($idSite, $reportType, $reports);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $idReport = $db->fetchOne("SELECT max(idreport) + 1 FROM " . Common::prefixTable('report'));
 
         if ($idReport == false) {
@@ -163,7 +164,7 @@ class Piwik_PDFReports_API
         // validation of requested reports
         $reports = self::validateRequestedReports($idSite, $reportType, $reports);
 
-        Zend_Registry::get('db')->update(Common::prefixTable('report'),
+        \Zend_Registry::get('db')->update(Common::prefixTable('report'),
             array(
                  'description' => $description,
                  'idsegment'   => $idSegment,
@@ -191,7 +192,7 @@ class Piwik_PDFReports_API
         $report = reset($pdfReports);
         Piwik::checkUserIsSuperUserOrTheUser($report['login']);
 
-        Zend_Registry::get('db')->update(Common::prefixTable('report'),
+        \Zend_Registry::get('db')->update(Common::prefixTable('report'),
             array(
                  'deleted' => 1,
             ),
@@ -541,7 +542,7 @@ class Piwik_PDFReports_API
         );
 
         // Update flag in DB
-        Zend_Registry::get('db')->update(Common::prefixTable('report'),
+        \Zend_Registry::get('db')->update(Common::prefixTable('report'),
             array('ts_last_sent' => Date::now()->getDatetime()),
             "idreport = " . $report['idreport']
         );
diff --git a/plugins/PDFReports/PDFReports.php b/plugins/PDFReports/PDFReports.php
index f9eb619ea1..74c5a0110f 100644
--- a/plugins/PDFReports/PDFReports.php
+++ b/plugins/PDFReports/PDFReports.php
@@ -19,6 +19,7 @@ use Piwik\ScheduledTask;
 use Piwik\ReportRenderer;
 use Piwik\Plugin;
 use Piwik\Site;
+use Piwik\Db;
 
 /**
  *
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index 4d01b4850a..3681776a71 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -15,6 +15,7 @@ use Piwik\Common;
 use Piwik\Date;
 use Piwik\ScheduledTask;
 use Piwik\Plugin;
+use Piwik\Db;
 
 /**
  * @see plugins/PrivacyManager/LogDataPurger.php
diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php
index 834c85034e..1d7b0b0a99 100644
--- a/plugins/Provider/Provider.php
+++ b/plugins/Provider/Provider.php
@@ -13,6 +13,8 @@ use Piwik\FrontController;
 use Piwik\IP;
 use Piwik\Plugin;
 use Piwik\ArchiveProcessor;
+use Piwik\Db;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php
index cc8642df6e..bf87a719ce 100644
--- a/plugins/Referers/Referers.php
+++ b/plugins/Referers/Referers.php
@@ -11,6 +11,7 @@
 use Piwik\ArchiveProcessor;
 use Piwik\Piwik;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  * @see plugins/Referers/functions.php
diff --git a/plugins/SEO/SEO.php b/plugins/SEO/SEO.php
index 9d5b68efe9..505f8de521 100644
--- a/plugins/SEO/SEO.php
+++ b/plugins/SEO/SEO.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Version;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  * @package Piwik_SEO
diff --git a/plugins/SegmentEditor/API.php b/plugins/SegmentEditor/API.php
index 884c206e78..c8bb844a09 100644
--- a/plugins/SegmentEditor/API.php
+++ b/plugins/SegmentEditor/API.php
@@ -135,7 +135,7 @@ class Piwik_SegmentEditor_API
         Piwik_PostEvent(self::DELETE_SEGMENT_EVENT, array(&$idSegment));
 
         $segment = $this->getSegmentOrFail($idSegment);
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->delete(Common::prefixTable('segment'), 'idsegment = ' . $idSegment);
         return true;
     }
@@ -172,7 +172,7 @@ class Piwik_SegmentEditor_API
             'ts_last_edit'       => Date::now()->getDatetime(),
         );
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->update(Common::prefixTable("segment"),
             $bind,
             "idsegment = $idSegment"
@@ -200,7 +200,7 @@ class Piwik_SegmentEditor_API
         $enabledAllUsers = $this->checkEnabledAllUsers($enabledAllUsers);
         $autoArchive = $this->checkAutoArchive($autoArchive, $idSite);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $bind = array(
             'name'               => $name,
             'definition'         => $definition,
@@ -228,7 +228,7 @@ class Piwik_SegmentEditor_API
         if (!is_numeric($idSegment)) {
             throw new Exception("idSegment should be numeric.");
         }
-        $segment = Zend_Registry::get('db')->fetchRow("SELECT * " .
+        $segment = \Zend_Registry::get('db')->fetchRow("SELECT * " .
                                                     " FROM " . Common::prefixTable("segment") .
                                                     " WHERE idsegment = ?", $idSegment);
 
@@ -286,7 +286,7 @@ class Piwik_SegmentEditor_API
                         AND deleted = 0
                         $extraWhere
                       ORDER BY name ASC";
-        $segments = Zend_Registry::get('db')->fetchAll($sql, $bind);
+        $segments = \Zend_Registry::get('db')->fetchAll($sql, $bind);
 
         return $segments;
     }
diff --git a/plugins/SegmentEditor/SegmentEditor.php b/plugins/SegmentEditor/SegmentEditor.php
index 0d539b078f..5d1731c006 100644
--- a/plugins/SegmentEditor/SegmentEditor.php
+++ b/plugins/SegmentEditor/SegmentEditor.php
@@ -11,6 +11,7 @@
 use Piwik\Common;
 use Piwik\Version;
 use Piwik\Plugin;
+use Piwik\Db;
 
 /**
  * @package Piwik_SegmentEditor
diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php
index 47b3e44f1d..3a891fe414 100644
--- a/plugins/SitesManager/API.php
+++ b/plugins/SitesManager/API.php
@@ -13,6 +13,7 @@ use Piwik\Common;
 use Piwik\Access;
 use Piwik\Date;
 use Piwik\IP;
+use Piwik\Db;
 use Piwik\Url;
 use Piwik\TaskScheduler;
 use Piwik\Site;
@@ -90,7 +91,7 @@ class Piwik_SitesManager_API
         Piwik::checkUserIsSuperUser();
         $group = trim($group);
 
-        $sites = Zend_Registry::get('db')->fetchAll("SELECT *
+        $sites = \Zend_Registry::get('db')->fetchAll("SELECT *
 													FROM " . Common::prefixTable("site") . "
 													WHERE `group` = ?", $group);
         return $sites;
@@ -105,7 +106,7 @@ class Piwik_SitesManager_API
     public function getSitesGroups()
     {
         Piwik::checkUserIsSuperUser();
-        $groups = Zend_Registry::get('db')->fetchAll("SELECT DISTINCT `group` FROM " . Common::prefixTable("site"));
+        $groups = \Zend_Registry::get('db')->fetchAll("SELECT DISTINCT `group` FROM " . Common::prefixTable("site"));
         $cleanedGroups = array();
         foreach ($groups as $group) {
             $cleanedGroups[] = $group['group'];
@@ -124,7 +125,7 @@ class Piwik_SitesManager_API
     public function getSiteFromId($idSite)
     {
         Piwik::checkUserHasViewAccess($idSite);
-        $site = Zend_Registry::get('db')->fetchRow("SELECT *
+        $site = \Zend_Registry::get('db')->fetchRow("SELECT *
 													FROM " . Common::prefixTable("site") . "
 													WHERE idsite = ?", $idSite);
         return $site;
@@ -139,7 +140,7 @@ class Piwik_SitesManager_API
      */
     private function getAliasSiteUrlsFromId($idSite)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $result = $db->fetchAll("SELECT url
 								FROM " . Common::prefixTable("site_url") . "
 								WHERE idsite = ?", $idSite);
@@ -189,7 +190,7 @@ class Piwik_SitesManager_API
     public function getAllSites()
     {
         Piwik::checkUserIsSuperUser();
-        $sites = Zend_Registry::get('db')->fetchAll("SELECT * FROM " . Common::prefixTable("site"));
+        $sites = \Zend_Registry::get('db')->fetchAll("SELECT * FROM " . Common::prefixTable("site"));
         $return = array();
         foreach ($sites as $site) {
             $return[$site['idsite']] = $site;
@@ -355,7 +356,7 @@ class Piwik_SitesManager_API
             $limit = "LIMIT " . (int)$limit;
         }
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $sites = $db->fetchAll("SELECT *
 								FROM " . Common::prefixTable("site") . "
 								WHERE idsite IN (" . implode(", ", $idSites) . ")
@@ -384,7 +385,7 @@ class Piwik_SitesManager_API
         $url = $this->removeTrailingSlash($url);
         list($url, $urlBis) = $this->getNormalizedUrls($url);
         if (Piwik::isUserIsSuperUser()) {
-            $ids = Zend_Registry::get('db')->fetchAll(
+            $ids = \Zend_Registry::get('db')->fetchAll(
                 'SELECT idsite
                 FROM ' . Common::prefixTable('site') . '
 					WHERE (main_url = ? OR main_url = ?) ' .
@@ -394,7 +395,7 @@ class Piwik_SitesManager_API
 					WHERE (url = ? OR url = ?) ', array($url, $urlBis, $url, $urlBis));
         } else {
             $login = Piwik::getCurrentUserLogin();
-            $ids = Zend_Registry::get('db')->fetchAll(
+            $ids = \Zend_Registry::get('db')->fetchAll(
                 'SELECT idsite
                 FROM ' . Common::prefixTable('site') . '
 					WHERE (main_url = ? OR main_url = ?)' .
@@ -422,7 +423,7 @@ class Piwik_SitesManager_API
         Piwik::checkUserIsSuperUser();
         $timezones = Piwik::getArrayFromApiParameter($timezones);
         $timezones = array_unique($timezones);
-        $ids = Zend_Registry::get('db')->fetchAll(
+        $ids = \Zend_Registry::get('db')->fetchAll(
             'SELECT idsite
             FROM ' . Common::prefixTable('site') . '
 					WHERE timezone IN (' . Common::getSqlStringFieldsArray($timezones) . ')
@@ -499,7 +500,7 @@ class Piwik_SitesManager_API
         }
         $this->checkValidCurrency($currency);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $url = $urls[0];
         $urls = array_slice($urls, 1);
@@ -573,7 +574,7 @@ class Piwik_SitesManager_API
             throw new Exception(Piwik_TranslateException("SitesManager_ExceptionDeleteSite"));
         }
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $db->query("DELETE FROM " . Common::prefixTable("site") . "
 					WHERE idsite = ?", $idSite);
@@ -1038,7 +1039,7 @@ class Piwik_SitesManager_API
         $bind['sitesearch_category_parameters'] = $searchCategoryParameters;
 
         $bind['name'] = $siteName;
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->update(Common::prefixTable("site"),
             $bind,
             "idsite = $idSite"
@@ -1182,7 +1183,7 @@ class Piwik_SitesManager_API
     private function insertSiteUrls($idSite, $urls)
     {
         if (count($urls) != 0) {
-            $db = Zend_Registry::get('db');
+            $db = \Zend_Registry::get('db');
             foreach ($urls as $url) {
                 $db->insert(Common::prefixTable("site_url"), array(
                                                                         'idsite' => $idSite,
@@ -1198,7 +1199,7 @@ class Piwik_SitesManager_API
      */
     private function deleteSiteAliasUrls($idsite)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->query("DELETE FROM " . Common::prefixTable("site_url") . "
 					WHERE idsite = ?", $idsite);
     }
@@ -1335,7 +1336,7 @@ class Piwik_SitesManager_API
         }
         $ids_str .= $id_val;
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $bind = array('%' . $pattern . '%', 'http%' . $pattern . '%');
 
         // Also match the idsite
diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php
index 4b4e034750..e084c81737 100644
--- a/plugins/Transitions/API.php
+++ b/plugins/Transitions/API.php
@@ -404,7 +404,7 @@ class Piwik_Transitions_API
 
         //FIXMEA refactor after integration tests written
         $array = new DataArray($referrerData, $referrerSubData);
-        return Day::getDataTableFromDataArray($array);
+        return ArchiveProcessor\Day::getDataTableFromDataArray($array);
     }
 
     /**
diff --git a/plugins/UserCountry/Archiver.php b/plugins/UserCountry/Archiver.php
index 4544f2b764..656239ac24 100644
--- a/plugins/UserCountry/Archiver.php
+++ b/plugins/UserCountry/Archiver.php
@@ -9,7 +9,7 @@
  * @package Piwik_UserCountry
  */
 
-use Piwik\ArchiveProcessor\Day;
+use Piwik\ArchiveProcessor;
 use Piwik\Metrics;
 use Piwik\DataTable;
 use Piwik\DataArray;
@@ -128,15 +128,15 @@ class Piwik_UserCountry_Archiver extends PluginsArchiver
 
     protected function recordDayReports()
     {
-        $tableCountry = Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]);
+        $tableCountry = ArchiveProcessor\Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]);
         $this->getProcessor()->insertBlobRecord(self::COUNTRY_RECORD_NAME, $tableCountry->getSerialized());
         $this->getProcessor()->insertNumericRecord(self::DISTINCT_COUNTRIES_METRIC, $tableCountry->getRowsCount());
 
-        $tableRegion = Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]);
+        $tableRegion = ArchiveProcessor\Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]);
         $serialized = $tableRegion->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS);
         $this->getProcessor()->insertBlobRecord(self::REGION_RECORD_NAME, $serialized);
 
-        $tableCity = Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]);
+        $tableCity = ArchiveProcessor\Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]);
         $this->setLatitudeLongitude($tableCity);
         $serialized = $tableCity->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS);
         $this->getProcessor()->insertBlobRecord(self::CITY_RECORD_NAME, $serialized);
diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php
index 008345a785..bd970a6ec7 100644
--- a/plugins/UserCountry/UserCountry.php
+++ b/plugins/UserCountry/UserCountry.php
@@ -12,6 +12,7 @@ use Piwik\ArchiveProcessor;
 use Piwik\Common;
 use Piwik\Piwik;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  * @see plugins/UserCountry/GeoIPAutoUpdater.php
diff --git a/plugins/UserCountryMap/UserCountryMap.php b/plugins/UserCountryMap/UserCountryMap.php
index ac9255a303..19e0c34590 100644
--- a/plugins/UserCountryMap/UserCountryMap.php
+++ b/plugins/UserCountryMap/UserCountryMap.php
@@ -10,6 +10,7 @@
  */
 use Piwik\FrontController;
 use Piwik\Version;
+use Piwik\WidgetsList;
 use Piwik\Plugin;
 
 /**
diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php
index 618f8fdfd9..1c71dc5a1e 100644
--- a/plugins/UserSettings/UserSettings.php
+++ b/plugins/UserSettings/UserSettings.php
@@ -10,6 +10,7 @@
  */
 use Piwik\ArchiveProcessor;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index 0eeda5be60..da629b1f95 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -14,6 +14,7 @@ use Piwik\Common;
 use Piwik\Access;
 use Piwik\Date;
 use Piwik\Site;
+use Piwik\Db;
 
 /**
  * The UsersManager API lets you Manage Users and their permissions to access specific websites.
@@ -40,7 +41,7 @@ class Piwik_UsersManager_API
      * Example of how you would overwrite the UsersManager_API with your own class:
      * Call the following in your plugin __construct() for example:
      *
-     * Zend_Registry::set('UsersManager_API',Piwik_MyCustomUsersManager_API::getInstance());
+     * \Zend_Registry::set('UsersManager_API',Piwik_MyCustomUsersManager_API::getInstance());
      *
      * @throws Exception
      * @return Piwik_UsersManager_API
@@ -48,7 +49,7 @@ class Piwik_UsersManager_API
     static public function getInstance()
     {
         try {
-            $instance = Zend_Registry::get('UsersManager_API');
+            $instance = \Zend_Registry::get('UsersManager_API');
             if (!($instance instanceof Piwik_UsersManager_API)) {
                 // Exception is caught below and corrected
                 throw new Exception('UsersManager_API must inherit Piwik_UsersManager_API');
@@ -56,7 +57,7 @@ class Piwik_UsersManager_API
             self::$instance = $instance;
         } catch (Exception $e) {
             self::$instance = new self;
-            Zend_Registry::set('UsersManager_API', self::$instance);
+            \Zend_Registry::set('UsersManager_API', self::$instance);
         }
         return self::$instance;
     }
@@ -126,7 +127,7 @@ class Piwik_UsersManager_API
             $where = 'WHERE login IN (' . Common::getSqlStringFieldsArray($userLogins) . ')';
             $bind = $userLogins;
         }
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT *
 								FROM " . Common::prefixTable("user") . "
 								$where 
@@ -149,7 +150,7 @@ class Piwik_UsersManager_API
     {
         Piwik::checkUserHasSomeAdminAccess();
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT login
 								FROM " . Common::prefixTable("user") . "
 								ORDER BY login ASC");
@@ -181,7 +182,7 @@ class Piwik_UsersManager_API
 
         $this->checkAccessType($access);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT login,idsite
 								FROM " . Common::prefixTable("access")
             . " WHERE access = ?
@@ -213,7 +214,7 @@ class Piwik_UsersManager_API
     {
         Piwik::checkUserHasAdminAccess($idSite);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT login,access
 								FROM " . Common::prefixTable("access")
             . " WHERE idsite = ?", $idSite);
@@ -229,7 +230,7 @@ class Piwik_UsersManager_API
         Piwik::checkUserHasAdminAccess($idSite);
         $this->checkAccessType($access);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT login
 								FROM " . Common::prefixTable("access")
             . " WHERE idsite = ? AND access = ?", array($idSite, $access));
@@ -266,7 +267,7 @@ class Piwik_UsersManager_API
         $this->checkUserExists($userLogin);
         $this->checkUserIsNotSuperUser($userLogin);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $users = $db->fetchAll("SELECT idsite,access
 								FROM " . Common::prefixTable("access")
             . " WHERE login = ?", $userLogin);
@@ -293,7 +294,7 @@ class Piwik_UsersManager_API
         $this->checkUserExists($userLogin);
         $this->checkUserIsNotSuperUser($userLogin);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $user = $db->fetchRow("SELECT *
 								FROM " . Common::prefixTable("user")
             . " WHERE login = ?", $userLogin);
@@ -312,7 +313,7 @@ class Piwik_UsersManager_API
         Piwik::checkUserIsSuperUser();
         $this->checkUserEmailExists($userEmail);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $user = $db->fetchRow("SELECT *
 								FROM " . Common::prefixTable("user")
             . " WHERE email = ?", $userEmail);
@@ -378,7 +379,7 @@ class Piwik_UsersManager_API
 
         $token_auth = $this->getTokenAuth($userLogin, $passwordTransformed);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $db->insert(Common::prefixTable("user"), array(
                                                             'login'           => $userLogin,
@@ -438,7 +439,7 @@ class Piwik_UsersManager_API
         $alias = $this->getCleanAlias($alias, $userLogin);
         $token_auth = $this->getTokenAuth($userLogin, $password);
 
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         $db->update(Common::prefixTable("user"),
             array(
@@ -555,7 +556,7 @@ class Piwik_UsersManager_API
         $this->deleteUserAccess($userLogin, $idSites);
 
         // delete UserAccess
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         // if the access is noaccess then we don't save it as this is the default value
         // when no access are specified
@@ -635,7 +636,7 @@ class Piwik_UsersManager_API
      */
     private function deleteUserOnly($userLogin)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
         $db->query("DELETE FROM " . Common::prefixTable("user") . " WHERE login = ?", $userLogin);
 
         Piwik_PostEvent('UsersManager.deleteUser', array($userLogin));
@@ -653,7 +654,7 @@ class Piwik_UsersManager_API
      */
     private function deleteUserAccess($userLogin, $idSites = null)
     {
-        $db = Zend_Registry::get('db');
+        $db = \Zend_Registry::get('db');
 
         if (is_null($idSites)) {
             $db->query("DELETE FROM " . Common::prefixTable("access") .
diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php
index 3c3b0a761a..a0828d7904 100644
--- a/plugins/UsersManager/UsersManager.php
+++ b/plugins/UsersManager/UsersManager.php
@@ -9,7 +9,7 @@
  * @package Piwik_UsersManager
  */
 use Piwik\Piwik;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\Plugin;
 
 /**
@@ -62,7 +62,7 @@ class Piwik_UsersManager extends Plugin
      */
     public function deleteSite(&$idSite)
     {
-        Piwik_Option::getInstance()->deleteLike('%\_' . Piwik_UsersManager_API::PREFERENCE_DEFAULT_REPORT, $idSite);
+        Option::getInstance()->deleteLike('%\_' . Piwik_UsersManager_API::PREFERENCE_DEFAULT_REPORT, $idSite);
     }
 
     /**
diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php
index 95586de73e..07b1735159 100644
--- a/plugins/VisitFrequency/VisitFrequency.php
+++ b/plugins/VisitFrequency/VisitFrequency.php
@@ -9,6 +9,7 @@
  * @package Piwik_VisitFrequency
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php
index d654eeb947..f4e4232d39 100644
--- a/plugins/VisitTime/VisitTime.php
+++ b/plugins/VisitTime/VisitTime.php
@@ -13,6 +13,7 @@ use Piwik\Common;
 use Piwik\Period;
 use Piwik\Plugin;
 use Piwik\Site;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php
index 55474318db..8f34623fec 100644
--- a/plugins/VisitorInterest/API.php
+++ b/plugins/VisitorInterest/API.php
@@ -75,10 +75,7 @@ class Piwik_VisitorInterest_API
     {
         $dataTable = $this->getDataTable(
             Piwik_VisitorInterest_Archiver::DAYS_SINCE_LAST_RECORD_NAME, $idSite, $period, $date, $segment, Metrics::INDEX_NB_VISITS);
-        $dataTable->queueFilter('Sort', array('label', 'asc', true));
-        $dataTable->queueFilter('BeautifyRangeLabels', array(
-                                                            Piwik_Translate('General_OneDay'), Piwik_Translate('General_NDays')));
-
+        $dataTable->queueFilter('BeautifyRangeLabels', array(Piwik_Translate('General_OneDay'), Piwik_Translate('General_NDays')));
         return $dataTable;
     }
 
diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php
index 12cc0b79c1..f61bbeabd0 100644
--- a/plugins/VisitorInterest/VisitorInterest.php
+++ b/plugins/VisitorInterest/VisitorInterest.php
@@ -11,6 +11,7 @@
 use Piwik\ArchiveProcessor;
 use Piwik\FrontController;
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php
index 70da748a5e..91e4a65661 100644
--- a/plugins/VisitsSummary/VisitsSummary.php
+++ b/plugins/VisitsSummary/VisitsSummary.php
@@ -9,6 +9,7 @@
  * @package Piwik_VisitsSummary
  */
 use Piwik\Plugin;
+use Piwik\WidgetsList;
 
 /**
  * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the
diff --git a/plugins/Widgetize/Controller.php b/plugins/Widgetize/Controller.php
index c7e80a2464..c49fa226d3 100644
--- a/plugins/Widgetize/Controller.php
+++ b/plugins/Widgetize/Controller.php
@@ -13,6 +13,7 @@ use Piwik\Common;
 use Piwik\Controller;
 use Piwik\FrontController;
 use Piwik\View;
+use Piwik\WidgetsList;
 
 /**
  *
diff --git a/tests/PHPUnit/BaseFixture.php b/tests/PHPUnit/BaseFixture.php
index ef9a8afa77..70e9e87e5b 100644
--- a/tests/PHPUnit/BaseFixture.php
+++ b/tests/PHPUnit/BaseFixture.php
@@ -69,7 +69,7 @@ abstract class Test_Piwik_BaseFixture extends PHPUnit_Framework_Assert
         );
 
         // Manually set the website creation date to a day earlier than the earliest day we record stats for
-        Zend_Registry::get('db')->update(Common::prefixTable("site"),
+        \Zend_Registry::get('db')->update(Common::prefixTable("site"),
             array('ts_created' => Date::factory($dateTime)->subDay(1)->getDatetime()),
             "idsite = $idSite"
         );
diff --git a/tests/PHPUnit/BenchmarkTestCase.php b/tests/PHPUnit/BenchmarkTestCase.php
index 846f2a0c43..d62038a8e9 100755
--- a/tests/PHPUnit/BenchmarkTestCase.php
+++ b/tests/PHPUnit/BenchmarkTestCase.php
@@ -6,6 +6,7 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 use Piwik\Config;
+use Piwik\Db;
 use Piwik\Common;
 
 require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/IntegrationTestCase.php';
diff --git a/tests/PHPUnit/Core/ArchiveProcessingTest.php b/tests/PHPUnit/Core/ArchiveProcessingTest.php
index e29bdc0d56..b341c6960a 100644
--- a/tests/PHPUnit/Core/ArchiveProcessingTest.php
+++ b/tests/PHPUnit/Core/ArchiveProcessingTest.php
@@ -17,6 +17,7 @@ use Piwik\Date;
 use Piwik\ArchiveProcessor;
 use Piwik\Segment;
 use Piwik\Site;
+use Piwik\Db;
 
 class ArchiveProcessingTest extends DatabaseTestCase
 {
diff --git a/tests/PHPUnit/Core/OptionTest.php b/tests/PHPUnit/Core/OptionTest.php
index 5b02863323..e921a38ad9 100644
--- a/tests/PHPUnit/Core/OptionTest.php
+++ b/tests/PHPUnit/Core/OptionTest.php
@@ -6,7 +6,8 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 use Piwik\Common;
-use Piwik\Piwik_Option;
+use Piwik\Option;
+use Piwik\Db;
 
 require_once "Option.php";
 
@@ -19,19 +20,19 @@ class OptionTest extends DatabaseTestCase
     public function testGet()
     {
         // empty table, expect false (i.e., not found)
-        $this->assertFalse(Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        $this->assertFalse(Option::getInstance()->get('anonymous_defaultReport'));
 
         // populate table, expect '1' (i.e., found)
         Db::query("INSERT INTO " . Common::prefixTable('option') . " VALUES ('anonymous_defaultReport', '1', false)");
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
 
         // delete row (bypassing API), expect '1' (i.e., from cache)
         Db::query("DELETE FROM " . Common::prefixTable('option') . " WHERE option_name = ?", array('anonymous_defaultReport'));
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
 
         // force cache reload, expect false (i.e., not found)
-        Piwik_Option::getInstance()->clearCache();
-        $this->assertFalse(Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->clearCache();
+        $this->assertFalse(Option::getInstance()->get('anonymous_defaultReport'));
     }
 
     /**
@@ -52,7 +53,7 @@ class OptionTest extends DatabaseTestCase
         $this->assertSame('1', Piwik_GetOption('anonymous_defaultReport'));
 
         // force cache reload, expect false (i.e., not found)
-        Piwik_Option::getInstance()->clearCache();
+        Option::getInstance()->clearCache();
         $this->assertFalse(Piwik_GetOption('anonymous_defaultReport'));
     }
 
@@ -66,8 +67,8 @@ class OptionTest extends DatabaseTestCase
         $this->assertFalse(Piwik_GetOption('anonymous_defaultReport'));
 
         // populate table, expect '1'
-        Piwik_Option::getInstance()->set('anonymous_defaultReport', '1', true);
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->set('anonymous_defaultReport', '1', true);
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
     }
 
     /**
@@ -81,7 +82,7 @@ class OptionTest extends DatabaseTestCase
 
         // populate table, expect '1'
         Piwik_SetOption('anonymous_defaultReport', '1', false);
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
     }
 
     /**
@@ -96,28 +97,28 @@ class OptionTest extends DatabaseTestCase
 
         // populate table, expect '1'
         Piwik_SetOption('anonymous_defaultReport', '1', true);
-        Piwik_Option::getInstance()->delete('_defaultReport');
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->delete('_defaultReport');
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
 
         // populate table, expect '2'
         Piwik_SetOption('admin_defaultReport', '2', false);
-        Piwik_Option::getInstance()->delete('_defaultReport');
-        $this->assertSame('2', Piwik_Option::getInstance()->get('admin_defaultReport'));
+        Option::getInstance()->delete('_defaultReport');
+        $this->assertSame('2', Option::getInstance()->get('admin_defaultReport'));
 
         // delete with non-matching value, expect '1'
-        Piwik_Option::getInstance()->delete('anonymous_defaultReport', '2');
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->delete('anonymous_defaultReport', '2');
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
 
         // delete with matching value, expect false
-        Piwik_Option::getInstance()->delete('anonymous_defaultReport', '1');
-        $this->assertFalse(Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->delete('anonymous_defaultReport', '1');
+        $this->assertFalse(Option::getInstance()->get('anonymous_defaultReport'));
 
         // this shouldn't have been deleted, expect '2'
-        $this->assertSame('2', Piwik_Option::getInstance()->get('admin_defaultReport'));
+        $this->assertSame('2', Option::getInstance()->get('admin_defaultReport'));
 
         // deleted, expect false
-        Piwik_Option::getInstance()->delete('admin_defaultReport');
-        $this->assertFalse(Piwik_Option::getInstance()->get('admin_defaultReport'));
+        Option::getInstance()->delete('admin_defaultReport');
+        $this->assertFalse(Option::getInstance()->get('admin_defaultReport'));
     }
 
     /**
@@ -137,56 +138,56 @@ class OptionTest extends DatabaseTestCase
 
         // populate table, expect '1'
         Piwik_SetOption('anonymous_defaultReport', '1', true);
-        Piwik_Option::getInstance()->deleteLike('\_defaultReport');
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->deleteLike('\_defaultReport');
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // populate table, expect '2'
         Piwik_SetOption('admin_defaultReport', '2', false);
-        Piwik_Option::getInstance()->deleteLike('\_defaultReport');
-        $this->assertSame('2', Piwik_Option::getInstance()->get('admin_defaultReport'));
+        Option::getInstance()->deleteLike('\_defaultReport');
+        $this->assertSame('2', Option::getInstance()->get('admin_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // populate table, expect '3'
         Piwik_SetOption('visitor_defaultReport', '3', false);
-        Piwik_Option::getInstance()->deleteLike('\_defaultReport');
-        $this->assertSame('3', Piwik_Option::getInstance()->get('visitor_defaultReport'));
+        Option::getInstance()->deleteLike('\_defaultReport');
+        $this->assertSame('3', Option::getInstance()->get('visitor_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // delete with non-matching value, expect '1'
-        Piwik_Option::getInstance()->deleteLike('%\_defaultReport', '4');
-        $this->assertSame('1', Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->deleteLike('%\_defaultReport', '4');
+        $this->assertSame('1', Option::getInstance()->get('anonymous_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // delete with matching pattern, expect false
-        Piwik_Option::getInstance()->deleteLike('%\_defaultReport', '1');
-        $this->assertFalse(Piwik_Option::getInstance()->get('anonymous_defaultReport'));
+        Option::getInstance()->deleteLike('%\_defaultReport', '1');
+        $this->assertFalse(Option::getInstance()->get('anonymous_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // this shouldn't have been deleted, expect '2' and '3'
-        $this->assertSame('2', Piwik_Option::getInstance()->get('admin_defaultReport'));
-        $this->assertSame('3', Piwik_Option::getInstance()->get('visitor_defaultReport'));
+        $this->assertSame('2', Option::getInstance()->get('admin_defaultReport'));
+        $this->assertSame('3', Option::getInstance()->get('visitor_defaultReport'));
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // deleted, expect false (except for the guard)
-        Piwik_Option::getInstance()->deleteLike('%\_defaultReport');
-        $this->assertFalse(Piwik_Option::getInstance()->get('admin_defaultReport'));
-        $this->assertFalse(Piwik_Option::getInstance()->get('visitor_defaultReport'));
+        Option::getInstance()->deleteLike('%\_defaultReport');
+        $this->assertFalse(Option::getInstance()->get('admin_defaultReport'));
+        $this->assertFalse(Option::getInstance()->get('visitor_defaultReport'));
 
         // unescaped backslash (single quotes)
-        Piwik_Option::getInstance()->deleteLike('%\_defaultReport');
+        Option::getInstance()->deleteLike('%\_defaultReport');
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // escaped backslash (single quotes)
-        Piwik_Option::getInstance()->deleteLike('%\\_defaultReport');
+        Option::getInstance()->deleteLike('%\\_defaultReport');
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // unescaped backslash (double quotes)
-        Piwik_Option::getInstance()->deleteLike("%\_defaultReport");
+        Option::getInstance()->deleteLike("%\_defaultReport");
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
 
         // escaped backslash (double quotes)
-        Piwik_Option::getInstance()->deleteLike("%\\_defaultReport");
+        Option::getInstance()->deleteLike("%\\_defaultReport");
         $this->assertSame('0', Piwik_GetOption('adefaultReport'));
     }
 }
diff --git a/tests/PHPUnit/Core/SqlTest.php b/tests/PHPUnit/Core/SqlTest.php
index 9bb3a41e2b..021a09527e 100755
--- a/tests/PHPUnit/Core/SqlTest.php
+++ b/tests/PHPUnit/Core/SqlTest.php
@@ -1,4 +1,6 @@
 <?php
+use Piwik\Db;
+
 /**
  * Piwik - Open source web analytics
  *
diff --git a/tests/PHPUnit/Core/TaskSchedulerTest.php b/tests/PHPUnit/Core/TaskSchedulerTest.php
index d25d7265e8..88db5b2db4 100644
--- a/tests/PHPUnit/Core/TaskSchedulerTest.php
+++ b/tests/PHPUnit/Core/TaskSchedulerTest.php
@@ -52,7 +52,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
     public function testGetTimetableFromOptionValue($expectedTimetable, $option)
     {
         $getTimetableFromOptionValue = new ReflectionMethod(
-            'TaskScheduler', 'getTimetableFromOptionValue'
+            '\Piwik\TaskScheduler', 'getTimetableFromOptionValue'
         );
         $getTimetableFromOptionValue->setAccessible(true);
 
@@ -81,7 +81,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
     public function testTaskHasBeenScheduledOnce($expectedDecision, $taskName, $timetable)
     {
         $taskHasBeenScheduledOnce = new ReflectionMethod(
-            'TaskScheduler', 'taskHasBeenScheduledOnce'
+            '\Piwik\TaskScheduler', 'taskHasBeenScheduledOnce'
         );
         $taskHasBeenScheduledOnce->setAccessible(true);
 
@@ -144,7 +144,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
     public function testTaskShouldBeExecuted($expectedDecision, $taskName, $timetable)
     {
         $taskShouldBeExecuted = new ReflectionMethod(
-            'TaskScheduler', 'taskShouldBeExecuted'
+            '\Piwik\TaskScheduler', 'taskShouldBeExecuted'
         );
         $taskShouldBeExecuted->setAccessible(true);
 
@@ -174,7 +174,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
         $mock = $this->getMock('TaskSchedulerTest', array($methodName));
         $mock->expects($this->once())->method($methodName)->with($this->equalTo($parameterValue));
 
-        $executeTask = new ReflectionMethod('TaskScheduler', 'executeTask');
+        $executeTask = new ReflectionMethod('\Piwik\TaskScheduler', 'executeTask');
         $executeTask->setAccessible(true);
 
         $this->assertNotEmpty($executeTask->invoke(
@@ -307,7 +307,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
         $this->assertEquals($expectedExecutedTasks, $executedTasks);
 
         // assert the timetable is correctly updated
-        $getTimetableFromOptionTable = new ReflectionMethod('TaskScheduler', 'getTimetableFromOptionTable');
+        $getTimetableFromOptionTable = new ReflectionMethod('\Piwik\TaskScheduler', 'getTimetableFromOptionTable');
         $getTimetableFromOptionTable->setAccessible(true);
         $this->assertEquals($expectedTimetable, $getTimetableFromOptionTable->invoke(new TaskScheduler()));
 
@@ -329,7 +329,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
 
     private static function getReflectedPiwikOptionInstance()
     {
-        $piwikOptionInstance = new ReflectionProperty('Option', 'instance');
+        $piwikOptionInstance = new ReflectionProperty('\Piwik\Option', 'instance');
         $piwikOptionInstance->setAccessible(true);
         return $piwikOptionInstance;
     }
diff --git a/tests/PHPUnit/Core/UpdaterTest.php b/tests/PHPUnit/Core/UpdaterTest.php
index 8dc33e10ed..543fe6edfa 100644
--- a/tests/PHPUnit/Core/UpdaterTest.php
+++ b/tests/PHPUnit/Core/UpdaterTest.php
@@ -5,7 +5,7 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Piwik_Updater;
+use Piwik\Updater;
 
 class UpdaterTest extends DatabaseTestCase
 {
@@ -15,7 +15,7 @@ class UpdaterTest extends DatabaseTestCase
      */
     public function testUpdaterChecksCoreVersionAndDetectsUpdateFile()
     {
-        $updater = new Piwik_Updater();
+        $updater = new Updater();
         $updater->pathUpdateFileCore = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/core/';
         $updater->recordComponentSuccessfullyUpdated('core', '0.1');
         $updater->addComponentToCheck('core', '0.3');
@@ -29,7 +29,7 @@ class UpdaterTest extends DatabaseTestCase
      */
     public function testUpdaterChecksGivenPluginVersionAndDetectsMultipleUpdateFileInOrder()
     {
-        $updater = new Piwik_Updater();
+        $updater = new Updater();
         $updater->pathUpdateFilePlugins = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/%s/';
         $updater->recordComponentSuccessfullyUpdated('testpluginUpdates', '0.1beta');
         $updater->addComponentToCheck('testpluginUpdates', '0.1');
@@ -53,7 +53,7 @@ class UpdaterTest extends DatabaseTestCase
      */
     public function testUpdaterChecksCoreAndPluginCheckThatCoreIsRanFirst()
     {
-        $updater = new Piwik_Updater();
+        $updater = new Updater();
         $updater->pathUpdateFilePlugins = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/%s/';
         $updater->pathUpdateFileCore = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/core/';
 
diff --git a/tests/PHPUnit/DatabaseTestCase.php b/tests/PHPUnit/DatabaseTestCase.php
index d0f2cb2b39..b2144d5c15 100644
--- a/tests/PHPUnit/DatabaseTestCase.php
+++ b/tests/PHPUnit/DatabaseTestCase.php
@@ -9,7 +9,7 @@ use Piwik\Config;
 use Piwik\DataAccess\ArchiveTableCreator;
 use Piwik\DataTable\Manager;
 use Piwik\Piwik;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\Site;
 
 /**
@@ -69,13 +69,13 @@ class DatabaseTestCase extends PHPUnit_Framework_TestCase
         IntegrationTestCase::unloadAllPlugins();
         Piwik::dropDatabase();
         Manager::getInstance()->deleteAll();
-        Piwik_Option::getInstance()->clearCache();
+        Option::getInstance()->clearCache();
         Piwik_PDFReports_API::$cache = array();
         Site::clearCache();
         Piwik_Tracker_Cache::deleteTrackerCache();
         Config::getInstance()->clear();
         ArchiveTableCreator::clear();
-        Zend_Registry::_unsetInstance();
+        \Zend_Registry::_unsetInstance();
     }
 
 }
diff --git a/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php b/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
index 8d3fe8d225..9e41a64955 100644
--- a/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
+++ b/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
@@ -7,6 +7,7 @@
  */
 use Piwik\Common;
 use Piwik\FrontController;
+use Piwik\WidgetsList;
 
 require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php';
 
diff --git a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
index 78efdcaf57..a6c5348915 100755
--- a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
+++ b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
@@ -100,7 +100,7 @@ class Test_Piwik_Integration_OneVisitorOneWebsite_SeveralDaysDateRange_Archiving
         );
         foreach ($tests as $table => $expectedRows) {
             $sql = "SELECT count(*) FROM " . Common::prefixTable($table) . " WHERE period = " . Piwik::$idPeriods['range'];
-            $countBlobs = Zend_Registry::get('db')->fetchOne($sql);
+            $countBlobs = \Zend_Registry::get('db')->fetchOne($sql);
 
             if($expectedRows != $countBlobs) {
                 var_export(Zend_Registry::get('db')->fetchAll("SELECT * FROM " . Common::prefixTable($table). " WHERE period = " . Piwik::$idPeriods['range'] . " ORDER BY idarchive ASC"));
diff --git a/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php b/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
index a36b5ec809..1fc9dfe5aa 100755
--- a/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
+++ b/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
@@ -87,7 +87,7 @@ class Test_Piwik_Integration_TwoVisitsWithCustomVariables_SegmentMatchVisitorTyp
         );
         foreach ($tests as $table => $expectedRows) {
             $sql = "SELECT count(*) FROM " . Common::prefixTable($table);
-            $countBlobs = Zend_Registry::get('db')->fetchOne($sql);
+            $countBlobs = \Zend_Registry::get('db')->fetchOne($sql);
 
             if($expectedRows != $countBlobs) {
                 var_export(Zend_Registry::get('db')->fetchAll("SELECT * FROM " . Common::prefixTable($table) . " ORDER BY name, idarchive ASC"));
diff --git a/tests/PHPUnit/Integration/UrlNormalizationTest.php b/tests/PHPUnit/Integration/UrlNormalizationTest.php
index 32fc1fffbd..db1931a31e 100644
--- a/tests/PHPUnit/Integration/UrlNormalizationTest.php
+++ b/tests/PHPUnit/Integration/UrlNormalizationTest.php
@@ -86,14 +86,14 @@ class Test_Piwik_Integration_UrlNormalization extends IntegrationTestCase
     public function testCheckPostConditions()
     {
         $sql = "SELECT count(*) FROM " . Common::prefixTable('log_action');
-        $count = Zend_Registry::get('db')->fetchOne($sql);
+        $count = \Zend_Registry::get('db')->fetchOne($sql);
         $expected = 9; // 4 urls + 5 titles
         $this->assertEquals($expected, $count, "only $expected actions expected");
 
         $sql = "SELECT name, url_prefix FROM " . Common::prefixTable('log_action')
             . " WHERE type = " . Piwik_Tracker_Action::TYPE_ACTION_URL
             . " ORDER BY idaction ASC";
-        $urls = Zend_Registry::get('db')->fetchAll($sql);
+        $urls = \Zend_Registry::get('db')->fetchAll($sql);
         $expected = array(
             array('name' => 'example.org/foo/bar.html', 'url_prefix' => 0),
             array('name' => 'example.org/foo/bar2.html', 'url_prefix' => 3),
diff --git a/tests/PHPUnit/IntegrationTestCase.php b/tests/PHPUnit/IntegrationTestCase.php
index e7ec7bd6c9..b8ec1a6287 100755
--- a/tests/PHPUnit/IntegrationTestCase.php
+++ b/tests/PHPUnit/IntegrationTestCase.php
@@ -15,10 +15,11 @@ use Piwik\DataTable\Manager;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Access;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\ReportRenderer;
 use Piwik\Site;
 use Piwik\Translate;
+use Piwik\Db;
 
 require_once PIWIK_INCLUDE_PATH . '/libs/PiwikTracker/PiwikTracker.php';
 
@@ -229,13 +230,13 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
             Piwik::dropDatabase();
         }
         Manager::getInstance()->deleteAll();
-        Piwik_Option::getInstance()->clearCache();
+        Option::getInstance()->clearCache();
         Site::clearCache();
         Piwik_Tracker_Cache::deleteTrackerCache();
         Config::getInstance()->clear();
         ArchiveTableCreator::clear();
         Piwik_PDFReports_API::$cache = array();
-        Zend_Registry::_unsetInstance();
+        \Zend_Registry::_unsetInstance();
 
         $_GET = $_REQUEST = array();
         Translate::getInstance()->unloadEnglishTranslation();
diff --git a/tests/PHPUnit/MockPiwikOption.php b/tests/PHPUnit/MockPiwikOption.php
index ed5dde3eb7..530a84a777 100644
--- a/tests/PHPUnit/MockPiwikOption.php
+++ b/tests/PHPUnit/MockPiwikOption.php
@@ -5,9 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Piwik_Option;
+use Piwik\Option;
 
-class MockPiwikOption extends Piwik_Option
+class MockPiwikOption extends Option
 {
     private $forcedOptionValue = false;
 
diff --git a/tests/PHPUnit/Plugins/PrivacyManagerTest.php b/tests/PHPUnit/Plugins/PrivacyManagerTest.php
index 90ab77b367..4d44c6464f 100755
--- a/tests/PHPUnit/Plugins/PrivacyManagerTest.php
+++ b/tests/PHPUnit/Plugins/PrivacyManagerTest.php
@@ -13,8 +13,9 @@ use Piwik\DataTable\Manager;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Date;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\Site;
+use Piwik\Db;
 
 require_once 'PrivacyManager/PrivacyManager.php';
 
@@ -112,7 +113,7 @@ class PrivacyManagerTest extends IntegrationTestCase
     {
         parent::tearDown();
         Manager::getInstance()->deleteAll();
-        Piwik_Option::getInstance()->clearCache();
+        Option::getInstance()->clearCache();
         Site::clearCache();
         Piwik_Tracker_Cache::deleteTrackerCache();
         ArchiveTableCreator::clear();
diff --git a/tests/PHPUnit/UI/UIIntegrationTest.php b/tests/PHPUnit/UI/UIIntegrationTest.php
index 4fd0e6066e..465a9fe171 100644
--- a/tests/PHPUnit/UI/UIIntegrationTest.php
+++ b/tests/PHPUnit/UI/UIIntegrationTest.php
@@ -78,8 +78,8 @@ class Test_Piwik_Integration_UIIntegrationTest extends IntegrationTestCase
     {
         parent::tearDown();
         
-        Zend_Registry::get('db')->closeConnection();
-        Zend_Registry::set('db', false);
+        \Zend_Registry::get('db')->closeConnection();
+        \Zend_Registry::set('db', false);
     }
     
     public function getUrlsForTesting()
diff --git a/tests/PHPUnit/proxy/piwik.php b/tests/PHPUnit/proxy/piwik.php
index a7693cc3f7..d06c37f958 100755
--- a/tests/PHPUnit/proxy/piwik.php
+++ b/tests/PHPUnit/proxy/piwik.php
@@ -13,7 +13,7 @@
 // calling us waits for the full request to process before unblocking
 use Piwik\Config;
 use Piwik\DataTable\Manager;
-use Piwik\Piwik_Option;
+use Piwik\Option;
 use Piwik\Tracker;
 use Piwik\Site;
 
@@ -41,7 +41,7 @@ Piwik_UserCountry_LocationProvider_GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-f
 
 Tracker::setTestEnvironment();
 Manager::getInstance()->deleteAll();
-Piwik_Option::getInstance()->clearCache();
+Option::getInstance()->clearCache();
 Site::clearCache();
 Piwik_Tracker_Cache::deleteTrackerCache();
 
-- 
GitLab