Browse Source

[Loggable] move configuration to Configuration class

Boussekeyt Jules 14 years ago
parent
commit
d4bce3d1b2

+ 3 - 13
lib/Gedmo/Loggable/AbstractLoggableListener.php

@@ -20,17 +20,6 @@ use Doctrine\Common\EventArgs,
  */
 abstract class AbstractLoggableListener extends MappedEventSubscriber
 {
-    protected static $user;
-
-    /**
-     * Set the current user
-     * @param $user string
-     */
-    public static function setUser($user)
-    {
-        self::$user = $user; 
-    }
-
     /**
      * Mapps additional metadata
      *
@@ -106,9 +95,10 @@ abstract class AbstractLoggableListener extends MappedEventSubscriber
     {
         $class = $this->getObjectClass();
         $log = new $class();
-        
+        $user = Configuration::getUser();
+
         $log->setAction($action);
-        $log->setUser(self::$user);
+        $log->setUser($user);
         $log->setObject($object);
 
         $this->insertLogRecord($om, $log);

+ 27 - 0
lib/Gedmo/Loggable/Configuration.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace Gedmo\Loggable;
+
+/**
+ * @author Boussekeyt Jules <jules.boussekeyt@gmail.com>
+ * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
+ * @package Gedmo.Loggable
+ * @subpackage Configuration
+ * @link http://www.gediminasm.org
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+class Configuration
+{
+    private static $user;
+
+    public static function setUser($user)
+    {
+        self::$user = $user;
+    }
+
+    public static function getUser()
+    {
+        return self::$user;
+    }
+
+}

+ 1 - 1
tests/Gedmo/Loggable/LoggableDocumentTest.php

@@ -46,7 +46,7 @@ class LoggableDocumentTest extends \PHPUnit_Framework_TestCase
 
         $evm = new \Doctrine\Common\EventManager();
         $loggableListener = new ODM\MongoDB\LoggableListener();
-        $loggableListener::setUser('jules');
+        Configuration::setUser('jules');
         $evm->addEventSubscriber($loggableListener);
 
         if (!class_exists('Mongo')) {

+ 1 - 1
tests/Gedmo/Loggable/LoggableEntityTest.php

@@ -41,7 +41,7 @@ class LoggableEntityTest extends \PHPUnit_Framework_TestCase
 
         $evm = new \Doctrine\Common\EventManager();
         $this->LoggableListener = new ORM\LoggableListener();
-        $this->LoggableListener->setUser('jules');
+        Configuration::setUser('jules');
         $evm->addEventSubscriber($this->LoggableListener);
         $this->em = \Doctrine\ORM\EntityManager::create($conn, $config, $evm);