Fix the Kolab_Server factory. Accepting arbitrary class names in the factory is not...
authorGunnar Wrobel <p@rdus.de>
Fri, 2 Oct 2009 18:59:29 +0000 (20:59 +0200)
committerGunnar Wrobel <p@rdus.de>
Fri, 2 Oct 2009 18:59:29 +0000 (20:59 +0200)
framework/Kolab_Server/lib/Horde/Kolab/Server/Factory.php

index ee9a41e..a1c9556 100644 (file)
@@ -60,13 +60,9 @@ class Horde_Kolab_Server_Factory
         } catch (ReflectionException $e) {
         }
 
-        if (class_exists($driver)) {
-            $class = $driver;
-        } else {
-            $class = 'Horde_Kolab_Server_' . ucfirst(basename($driver));
-            if (!class_exists($class)) {
-                throw new Horde_Kolab_Server_Exception('Server type definition "' . $class . '" missing.');
-            }
+        $class = 'Horde_Kolab_Server_' . ucfirst(basename($driver));
+        if (!class_exists($class)) {
+            throw new Horde_Kolab_Server_Exception('Server type definition "' . $class . '" missing.');
         }
 
         $server = new $class($injector->getInstance('Horde_Kolab_Server_Structure'),
@@ -115,13 +111,9 @@ class Horde_Kolab_Server_Factory
         } catch (ReflectionException $e) {
         }
 
-        if (class_exists($driver)) {
-            $class = $driver;
-        } else {
-            $class = 'Horde_Kolab_Server_Structure_' . ucfirst(basename($driver));
-            if (!class_exists($class)) {
-                throw new Horde_Kolab_Server_Exception('Structure type definition "' . $class . '" missing.');
-            }
+        $class = 'Horde_Kolab_Server_Structure_' . ucfirst(basename($driver));
+        if (!class_exists($class)) {
+            throw new Horde_Kolab_Server_Exception('Structure type definition "' . $class . '" missing.');
         }
         $structure = new $class($params);
         return $structure;