Use a factory binder for Horde_Mail, not a binder
authorMichael J. Rubinsky <mrubinsk@horde.org>
Thu, 7 Oct 2010 17:09:19 +0000 (13:09 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Thu, 7 Oct 2010 17:40:31 +0000 (13:40 -0400)
framework/Core/lib/Horde/Core/Binder/Mail.php [deleted file]
framework/Core/lib/Horde/Core/Factory/Mail.php [new file with mode: 0644]
framework/Core/lib/Horde/Registry.php
framework/Core/package.xml

diff --git a/framework/Core/lib/Horde/Core/Binder/Mail.php b/framework/Core/lib/Horde/Core/Binder/Mail.php
deleted file mode 100644 (file)
index 94fa3ab..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * @category Horde
- * @package  Core
- */
-class Horde_Core_Binder_Mail implements Horde_Injector_Binder
-{
-    public function create(Horde_Injector $injector)
-    {
-        $transport = isset($GLOBALS['conf']['mailer']['type'])
-            ? $GLOBALS['conf']['mailer']['type']
-            : 'null';
-        $params = isset($GLOBALS['conf']['mailer']['params'])
-            ? $GLOBALS['conf']['mailer']['params']
-            : array();
-
-        if (($transport == 'smtp') &&
-            $params['auth'] &&
-            empty($params['username'])) {
-            $params['username'] = $GLOBALS['registry']->getAuth();
-            $params['password'] = $GLOBALS['registry']->getAuthCredential('password');
-        }
-
-        $class = 'Horde_Mail_Transport_' . ucfirst($transport);
-        if (class_exists($class)) {
-            return new $class($params);
-        }
-        throw new Horde_Exception('Unable to find class for transport ' . $transport);
-    }
-
-    public function equals(Horde_Injector_Binder $binder)
-    {
-        return false;
-    }
-}
diff --git a/framework/Core/lib/Horde/Core/Factory/Mail.php b/framework/Core/lib/Horde/Core/Factory/Mail.php
new file mode 100644 (file)
index 0000000..a755c02
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+/**
+ * @category Horde
+ * @package  Core
+ */
+class Horde_Core_Factory_Mail
+{
+    public function create(Horde_Injector $injector)
+    {
+        $transport = isset($GLOBALS['conf']['mailer']['type'])
+            ? $GLOBALS['conf']['mailer']['type']
+            : 'null';
+        $params = isset($GLOBALS['conf']['mailer']['params'])
+            ? $GLOBALS['conf']['mailer']['params']
+            : array();
+
+        if (($transport == 'smtp') &&
+            $params['auth'] &&
+            empty($params['username'])) {
+            $params['username'] = $GLOBALS['registry']->getAuth();
+            $params['password'] = $GLOBALS['registry']->getAuthCredential('password');
+        }
+
+        $class = 'Horde_Mail_Transport_' . ucfirst($transport);
+        if (class_exists($class)) {
+            return new $class($params);
+        }
+        throw new Horde_Exception('Unable to find class for transport ' . $transport);
+    }
+
+}
index 658469c..3316504 100644 (file)
@@ -265,7 +265,6 @@ class Horde_Registry
         $binders = array(
             'Horde_Auth_Factory' => new Horde_Core_Binder_AuthFactory(),
             'Horde_Core_Auth_Signup' => new Horde_Core_Binder_AuthSignup(),
-            'Horde_Mail' => new Horde_Core_Binder_Mail(),
             'Horde_Mime_Viewer' => new Horde_Core_Binder_MimeViewer(),
             'Horde_Share_Factory' => new Horde_Core_Binder_ShareFactory(),
             'Horde_Template' => new Horde_Core_Binder_Template(),
@@ -336,6 +335,10 @@ class Horde_Registry
                 'Horde_Core_Factory_Lock',
                 'create',
             ),
+            'Horde_Mail' => array(
+                'Horde_Core_Factory_Mail',
+                'create',
+            ),
             'Horde_Memcache' => array(
                 'Horde_Core_Factory_Memcache',
                 'create',
index 868ffbe..9441c2a 100644 (file)
@@ -113,7 +113,6 @@ Application Framework.</description>
        <file name="Auth.php" role="php" />
        <file name="AuthFactory.php" role="php" />
        <file name="AuthSignup.php" role="php" />
-       <file name="Mail.php" role="php" />
        <file name="Mapper.php" role="php" />
        <file name="MimeViewer.php" role="php" />
        <file name="ShareFactory.php" role="php" />
@@ -153,6 +152,7 @@ Application Framework.</description>
        <file name="Lock.php" role="php" />
        <file name="Logger.php" role="php" />
        <file name="LoginTasks.php" role="php" />
+       <file name="Mail.php" role="php" />
        <file name="Memcache.php" role="php" />
        <file name="MimeViewer.php" role="php" />
        <file name="Notification.php" role="php" />
@@ -425,7 +425,6 @@ Application Framework.</description>
    <install as="Horde/Core/Binder/Auth.php" name="lib/Horde/Core/Binder/Auth.php" />
    <install as="Horde/Core/Binder/AuthFactory.php" name="lib/Horde/Core/Binder/AuthFactory.php" />
    <install as="Horde/Core/Binder/AuthSignup.php" name="lib/Horde/Core/Binder/AuthSignup.php" />
-   <install as="Horde/Core/Binder/Mail.php" name="lib/Horde/Core/Binder/Mail.php" />
    <install as="Horde/Core/Binder/Mapper.php" name="lib/Horde/Core/Binder/Mapper.php" />
    <install as="Horde/Core/Binder/MimeViewer.php" name="lib/Horde/Core/Binder/MimeViewer.php" />
    <install as="Horde/Core/Binder/ShareFactory.php" name="lib/Horde/Core/Binder/ShareFactory.php" />
@@ -461,6 +460,7 @@ Application Framework.</description>
    <install as="Horde/Core/Factory/Lock.php" name="lib/Horde/Core/Factory/Lock.php" />
    <install as="Horde/Core/Factory/Logger.php" name="lib/Horde/Core/Factory/Logger.php" />
    <install as="Horde/Core/Factory/LoginTasks.php" name="lib/Horde/Core/Factory/LoginTasks.php" />
+   <install as="Horde/Core/Factory/Mail.php" name="lib/Horde/Core/Factory/Mail.php" />
    <install as="Horde/Core/Factory/Memcache.php" name="lib/Horde/Core/Factory/Memcache.php" />
    <install as="Horde/Core/Factory/MimeViewer.php" name="lib/Horde/Core/Factory/MimeViewer.php" />
    <install as="Horde/Core/Factory/Notification.php" name="lib/Horde/Core/Factory/Notification.php" />