Browse Source

Fix SUBSCRIBE and PSUBSCRIBE so that they can accept a list of channels for subscription.

Daniele Alessandri 14 years ago
parent
commit
b007b753f5

+ 5 - 0
lib/Predis/Commands/Subscribe.php

@@ -2,7 +2,12 @@
 
 namespace Predis\Commands;
 
+use Predis\Utils;
+
 class Subscribe extends Command {
     public function canBeHashed()  { return false; }
     public function getId() { return 'SUBSCRIBE'; }
+    public function filterArguments(Array $arguments) {
+        return Utils::filterArrayArguments($arguments);
+    }
 }

+ 3 - 0
lib/Predis/Commands/SubscribeByPattern.php

@@ -5,4 +5,7 @@ namespace Predis\Commands;
 class SubscribeByPattern extends Command {
     public function canBeHashed()  { return false; }
     public function getId() { return 'PSUBSCRIBE'; }
+    public function filterArguments(Array $arguments) {
+        return Utils::filterArrayArguments($arguments);
+    }
 }

+ 1 - 8
lib/Predis/PubSubContext.php

@@ -47,14 +47,7 @@ class PubSubContext implements \Iterator {
 
     private function genericSubscribeInit($subscribeAction) {
         if (isset($this->_options[$subscribeAction])) {
-            if (is_array($this->_options[$subscribeAction])) {
-                foreach ($this->_options[$subscribeAction] as $subscription) {
-                    $this->$subscribeAction($subscription);
-                }
-            }
-            else {
-                $this->$subscribeAction($this->_options[$subscribeAction]);
-            }
+            $this->$subscribeAction($this->_options[$subscribeAction]);
         }
     }