singleton multiply instances for every user
authorDuck (Jakob Munih) <duck@obala.net>
Wed, 28 Jan 2009 20:21:46 +0000 (21:21 +0100)
committerDuck (Jakob Munih) <duck@obala.net>
Wed, 28 Jan 2009 20:21:46 +0000 (21:21 +0100)
folks/lib/Friends.php

index 1805e4f..f038b3e 100644 (file)
@@ -17,8 +17,9 @@
 class Folks_Friends {
 
     /**
+     * Friends instances
      */
-    static private $instance;
+    static private $instances = array();
 
     /**
      * Hash containing connection parameters.
@@ -87,11 +88,12 @@ class Folks_Friends {
      */
     static function singleton($driver = null, $params = null)
     {
-        if (!self::$instance) {
-            self::$instance = Folks_Friends::factory($driver, $params);
+        $signature = $driver . ':' . $params['user'];
+        if (!array_key_exists($signature, self::$instances)) {
+            self::$instances[$signature] = self::factory($driver, $params);
         }
 
-        return self::$instance;
+        return self::$instances[$signature];
     }
 
     /**