From 7d91192397f3bd1f889dfdd3b3b4554f8452372e Mon Sep 17 00:00:00 2001
From: Fabian Becker <fabian.becker@uni-tuebingen.de>
Date: Sun, 29 Sep 2013 17:17:06 +0200
Subject: [PATCH] Removing all uses of Zend_Registry from core/ plugins/ and
 tests/

---
 core/Controller.php                     | 4 ++--
 core/ErrorHandler.php                   | 2 +-
 core/ExceptionHandler.php               | 3 ++-
 core/FrontController.php                | 8 ++++----
 core/Log.php                            | 3 ++-
 core/Piwik.php                          | 8 ++++----
 core/Tracker.php                        | 1 -
 core/View.php                           | 4 ++--
 plugins/LanguagesManager/Controller.php | 3 +--
 plugins/Login/Login.php                 | 8 ++++----
 plugins/Overlay/API.php                 | 2 +-
 plugins/UsersManager/API.php            | 6 +++---
 tests/PHPUnit/DatabaseTestCase.php      | 2 +-
 tests/PHPUnit/IntegrationTestCase.php   | 2 +-
 14 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/core/Controller.php b/core/Controller.php
index 7837bdd4ca..cebbc105a2 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -20,9 +20,9 @@ use Piwik\Plugins\API\API;
 use Piwik\Plugins\LanguagesManager\LanguagesManager;
 use Piwik\Plugins\SitesManager\API as APISitesManager;
 use Piwik\Plugins\UsersManager\API as APIUsersManager;
+use Piwik\Registry;
 use Piwik\View;
 use Piwik\ViewDataTable;
-use Zend_Registry;
 
 /**
  * Parent class of all plugins Controllers (located in /plugins/PluginName/Controller.php
@@ -611,7 +611,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=" . Registry::get('auth')->getName() . "&amp;action=logout'>&rsaquo; " . Piwik_Translate('General_Logout') . "</a></b><br />";
             Piwik_ExitWithMessage($errorMessage, false, true);
         }
 
diff --git a/core/ErrorHandler.php b/core/ErrorHandler.php
index 963d46e3f6..8860e6387a 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);
+        \Piwik\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 c6d4f1d22b..71c35fca45 100644
--- a/core/ExceptionHandler.php
+++ b/core/ExceptionHandler.php
@@ -12,6 +12,7 @@ use Piwik\Piwik;
 use Piwik\Log;
 use Piwik\Log\ExceptionScreenFormatter;
 use Piwik\FrontController;
+use Piwik\Registry;
 
 /**
  * Exception handler used to display nicely exceptions in Piwik
@@ -22,7 +23,7 @@ use Piwik\FrontController;
 function Piwik_ExceptionHandler(Exception $exception)
 {
     try {
-        \Zend_Registry::get('logger_exception')->logEvent($exception);
+        Registry::get('logger_exception')->logEvent($exception);
     } catch (Exception $e) {
 
         if (FrontController::shouldRethrowException()) {
diff --git a/core/FrontController.php b/core/FrontController.php
index 89aaefd9ef..54cc8391da 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -14,8 +14,8 @@ use Exception;
 use Piwik\API\Request;
 use Piwik\API\ResponseBuilder;
 use Piwik\Log;
+use Piwik\Registry;
 use Piwik\Session;
-use Zend_Registry;
 
 /**
  * Front controller.
@@ -169,7 +169,7 @@ class FrontController
             if (class_exists('Piwik\\Profiler')) {
                 Profiler::displayDbProfileReport();
                 Profiler::printQueryCount();
-                Piwik::log(Zend_Registry::get('timer'));
+                Piwik::log(Registry::get('timer'));
             }
         } catch (Exception $e) {
         }
@@ -225,7 +225,7 @@ class FrontController
         $initialized = true;
 
         try {
-            \Zend_Registry::set('timer', new Timer);
+            Registry::set('timer', new Timer);
 
             $directoriesToCheck = array(
                 '/tmp/',
@@ -284,7 +284,7 @@ class FrontController
 
             Piwik_PostEvent('FrontController.initAuthenticationObject');
             try {
-                $authAdapter = \Zend_Registry::get('auth');
+                $authAdapter = 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.php b/core/Log.php
index bb2b624ee3..fe1cc9e8f7 100644
--- a/core/Log.php
+++ b/core/Log.php
@@ -14,6 +14,7 @@ use Piwik\Log\APICall;
 use Piwik\Log\Error;
 use Piwik\Log\Exception;
 use Piwik\Log\Message;
+use Piwik\Registry;
 
 /**
  *
@@ -197,7 +198,7 @@ abstract class Log extends \Zend_Log
             if ($logger->getWritersCount() == 0) {
                 $logger->addWriteToNull();
             }
-            \Zend_Registry::set($loggerType, $logger);
+            Registry::set($loggerType, $logger);
         }
     }
 
diff --git a/core/Piwik.php b/core/Piwik.php
index f57d491156..334afbd373 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -17,10 +17,10 @@ use Piwik\Db;
 use Piwik\Log\ScreenFormatter;
 use Piwik\Plugin;
 use Piwik\Plugins\UsersManager\API;
+use Piwik\Registry;
 use Piwik\Session;
 use Piwik\Tracker;
 use Piwik\View;
-use Zend_Registry;
 
 /**
  * @see core/Translate.php
@@ -73,13 +73,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');
+                Registry::get('logger_message');
             } catch (Exception $e) {
                 self::$shouldLog = false;
             }
         }
         if (self::$shouldLog) {
-            \Zend_Registry::get('logger_message')->logEvent($message);
+            Registry::get('logger_message')->logEvent($message);
         }
     }
 
@@ -457,7 +457,7 @@ class Piwik
      */
     static public function getLoginPluginName()
     {
-        return \Zend_Registry::get('auth')->getName();
+        return Registry::get('auth')->getName();
     }
 
     /**
diff --git a/core/Tracker.php b/core/Tracker.php
index ad1f40e736..3a4c6bd113 100644
--- a/core/Tracker.php
+++ b/core/Tracker.php
@@ -18,7 +18,6 @@ use Piwik\Tracker\Db\Pdo\Mysql;
 use Piwik\Tracker\Request;
 use Piwik\Tracker\Visit;
 use Piwik\Tracker\VisitInterface;
-use Zend_Registry;
 
 /**
  * Class used by the logging script piwik.php called by the javascript tag.
diff --git a/core/View.php b/core/View.php
index 72395a3598..50b5761dac 100644
--- a/core/View.php
+++ b/core/View.php
@@ -11,11 +11,11 @@
 namespace Piwik;
 
 use Exception;
+use Piwik\Registry;
 use Piwik\Plugins\SitesManager\API as APISitesManager;
 use Piwik\Plugins\UsersManager\API as APIUsersManager;
 use Piwik\View\ViewInterface;
 use Twig_Environment;
-use Zend_Registry;
 
 /**
  * Transition for pre-Piwik 0.4.4
@@ -148,7 +148,7 @@ class View implements ViewInterface
         }
 
         try {
-            $this->totalTimeGeneration = \Zend_Registry::get('timer')->getTime();
+            $this->totalTimeGeneration = Registry::get('timer')->getTime();
             $this->totalNumberOfQueries = Profiler::getQueryCount();
         } catch (Exception $e) {
             $this->totalNumberOfQueries = 0;
diff --git a/plugins/LanguagesManager/Controller.php b/plugins/LanguagesManager/Controller.php
index 2f8ea5dd54..7d716013df 100644
--- a/plugins/LanguagesManager/Controller.php
+++ b/plugins/LanguagesManager/Controller.php
@@ -15,7 +15,6 @@ use Piwik\Common;
 use Piwik\DbHelper;
 use Piwik\Piwik;
 use Piwik\Url;
-use Zend_Registry;
 
 /**
  * @package LanguagesManager
@@ -35,7 +34,7 @@ class Controller extends \Piwik\Controller
             $this->checkTokenInUrl();
         }
         LanguagesManager::setLanguageForSession($language);
-        if (Zend_Registry::isRegistered('access')) {
+        if (\Piwik\Registry::isRegistered('access')) {
             $currentUser = Piwik::getCurrentUserLogin();
             if ($currentUser && $currentUser !== 'anonymous') {
                 API::getInstance()->setLanguageForUser($currentUser, $language);
diff --git a/plugins/Login/Login.php b/plugins/Login/Login.php
index 5d89c58b68..44695a20c1 100644
--- a/plugins/Login/Login.php
+++ b/plugins/Login/Login.php
@@ -58,8 +58,8 @@ class Login extends \Piwik\Plugin
      */
     public function ApiRequestAuthenticate($tokenAuth)
     {
-        \Zend_Registry::get('auth')->setLogin($login = null);
-        \Zend_Registry::get('auth')->setTokenAuth($tokenAuth);
+        \Piwik\Registry::get('auth')->setLogin($login = null);
+        \Piwik\Registry::get('auth')->setTokenAuth($tokenAuth);
     }
 
     /**
@@ -69,7 +69,7 @@ class Login extends \Piwik\Plugin
     function initAuthenticationObject($allowCookieAuthentication = false)
     {
         $auth = new Auth();
-        \Zend_Registry::set('auth', $auth);
+        \Piwik\Registry::set('auth', $auth);
 
         $action = Piwik::getAction();
         if (Piwik::getModule() === 'API'
@@ -107,7 +107,7 @@ class Login extends \Piwik\Plugin
 
         $tokenAuth = API::getInstance()->getTokenAuth($login, $md5Password);
 
-        $auth = \Zend_Registry::get('auth');
+        $auth = \Piwik\Registry::get('auth');
         $auth->setLogin($login);
         $auth->setTokenAuth($tokenAuth);
         $authResult = $auth->authenticate();
diff --git a/plugins/Overlay/API.php b/plugins/Overlay/API.php
index 953ad14e21..42d4c97067 100644
--- a/plugins/Overlay/API.php
+++ b/plugins/Overlay/API.php
@@ -121,7 +121,7 @@ class API
         Piwik_PostEvent('FrontController.initAuthenticationObject',
             array(&$notification, $allowCookieAuthentication = true));
 
-        $auth = \Zend_Registry::get('auth');
+        $auth = \Piwik\Registry::get('auth');
         $success = Access::getInstance()->reloadAccess($auth);
 
         if (!$success) {
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index 57d69fc962..9a03823134 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -46,7 +46,7 @@ class 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());
+     * Registry::set('UsersManager_API',Piwik_MyCustomUsersManager_API::getInstance());
      *
      * @throws Exception
      * @return \Piwik\Plugins\UsersManager\API
@@ -54,7 +54,7 @@ class API
     static public function getInstance()
     {
         try {
-            $instance = \Zend_Registry::get('UsersManager_API');
+            $instance = \Piwik\Registry::get('UsersManager_API');
             if (!($instance instanceof API)) {
                 // Exception is caught below and corrected
                 throw new Exception('UsersManager_API must inherit API');
@@ -62,7 +62,7 @@ class API
             self::$instance = $instance;
         } catch (Exception $e) {
             self::$instance = new self;
-            \Zend_Registry::set('UsersManager_API', self::$instance);
+            \Piwik\Registry::set('UsersManager_API', self::$instance);
         }
         return self::$instance;
     }
diff --git a/tests/PHPUnit/DatabaseTestCase.php b/tests/PHPUnit/DatabaseTestCase.php
index 112219f177..31d001e207 100644
--- a/tests/PHPUnit/DatabaseTestCase.php
+++ b/tests/PHPUnit/DatabaseTestCase.php
@@ -78,7 +78,7 @@ class DatabaseTestCase extends PHPUnit_Framework_TestCase
         Cache::deleteTrackerCache();
         Config::getInstance()->clear();
         ArchiveTableCreator::clear();
-        \Zend_Registry::_unsetInstance();
+        \Piwik\Registry::unsetInstance();
     }
 
 }
diff --git a/tests/PHPUnit/IntegrationTestCase.php b/tests/PHPUnit/IntegrationTestCase.php
index c16614073c..a8cc11ccbe 100755
--- a/tests/PHPUnit/IntegrationTestCase.php
+++ b/tests/PHPUnit/IntegrationTestCase.php
@@ -241,7 +241,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
         Config::getInstance()->clear();
         ArchiveTableCreator::clear();
         \Piwik\Plugins\PDFReports\API::$cache = array();
-        \Zend_Registry::_unsetInstance();
+        \Piwik\Registry::unsetInstance();
 
         $_GET = $_REQUEST = array();
         Translate::getInstance()->unloadEnglishTranslation();
-- 
GitLab