Rebuild factory for Horde_Services_Twitter
authorBen Klang <ben@alkaloid.net>
Sun, 3 Oct 2010 02:33:21 +0000 (22:33 -0400)
committerBen Klang <ben@alkaloid.net>
Sun, 3 Oct 2010 02:33:21 +0000 (22:33 -0400)
framework/Core/lib/Horde/Core/Binder/Twitter.php [deleted file]
framework/Core/lib/Horde/Core/Factory/Perms.php
framework/Core/lib/Horde/Core/Factory/Twitter.php [new file with mode: 0644]
framework/Core/lib/Horde/Registry.php

diff --git a/framework/Core/lib/Horde/Core/Binder/Twitter.php b/framework/Core/lib/Horde/Core/Binder/Twitter.php
deleted file mode 100644 (file)
index 55a2d47..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/**
- * Binder for creating Horde_Service_Twitter objects.
- *
- * @author Michael J. Rubinsky <mrubinsk@horde.org>
- * @category Horde
- * @package Core
- */
-class Horde_Core_Binder_Twitter implements Horde_Injector_Binder
-{
-    public function create(Horde_Injector $injector)
-    {
-        global $conf, $prefs;
-
-        if (!empty($conf['twitter']['key']) && !empty($conf['twitter']['secret'])) {
-
-            /* Keys - these are obtained when registering for the service */
-            $consumer_key = $conf['twitter']['key'];
-            $consumer_secret = $conf['twitter']['secret'];
-
-           /* Parameters required for the Horde_Oauth_Consumer */
-            $params = array(
-                'key' => $consumer_key,
-                'secret' => $consumer_secret,
-                'requestTokenUrl' => Horde_Service_Twitter::REQUEST_TOKEN_URL,
-                'authorizeTokenUrl' => Horde_Service_Twitter::USER_AUTHORIZE_URL,
-                'accessTokenUrl' => Horde_Service_Twitter::ACCESS_TOKEN_URL,
-                'signatureMethod' => new Horde_Oauth_SignatureMethod_HmacSha1()
-            );
-
-            /* Create the Consumer */
-            $auth = new Horde_Service_Twitter_Auth_Oauth(new Horde_Oauth_Consumer($params));
-            $request = new Horde_Service_Twitter_Request_Oauth($injector->getInstance('Horde_Controller_Request'));
-            $twitter = new Horde_Service_Twitter($auth, $request);
-
-            //$twitter->setCache($injector->getInstance('Horde_Cache'));
-            $twitter->setLogger($injector->getInstance('Horde_Log_Logger'));
-            $twitter->setHttpClient($GLOBALS['injector']->getInstance('Horde_Http_Client')->getClient());
-
-            return $twitter;
-        } else {
-            throw new Horde_Service_Twitter_Exception(_("No OAuth Key or Secret found for the Twitter API"));
-        }
-    }
-
-    public function equals (Horde_Injector_Binder $binder)
-    {
-        return false;
-    }
-}
\ No newline at end of file
index 9379487..69c7317 100644 (file)
@@ -39,10 +39,4 @@ class Horde_Core_Factory_Perms
 
         throw new Horde_Perms_Exception('Unknown driver: ' . $driver);
     }
-
-    public function equals(Horde_Injector_Binder $binder)
-    {
-        return false;
-    }
-
 }
diff --git a/framework/Core/lib/Horde/Core/Factory/Twitter.php b/framework/Core/lib/Horde/Core/Factory/Twitter.php
new file mode 100644 (file)
index 0000000..15b87a9
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Binder for creating Horde_Service_Twitter objects.
+ *
+ * @author Michael J. Rubinsky <mrubinsk@horde.org>
+ * @category Horde
+ * @package Core
+ */
+class Horde_Core_Factory_Twitter
+{
+    public function create(Horde_Injector $injector)
+    {
+        global $conf, $prefs;
+
+        if (!empty($conf['twitter']['key']) && !empty($conf['twitter']['secret'])) {
+
+            /* Keys - these are obtained when registering for the service */
+            $consumer_key = $conf['twitter']['key'];
+            $consumer_secret = $conf['twitter']['secret'];
+
+           /* Parameters required for the Horde_Oauth_Consumer */
+            $params = array(
+                'key' => $consumer_key,
+                'secret' => $consumer_secret,
+                'requestTokenUrl' => Horde_Service_Twitter::REQUEST_TOKEN_URL,
+                'authorizeTokenUrl' => Horde_Service_Twitter::USER_AUTHORIZE_URL,
+                'accessTokenUrl' => Horde_Service_Twitter::ACCESS_TOKEN_URL,
+                'signatureMethod' => new Horde_Oauth_SignatureMethod_HmacSha1()
+            );
+
+            /* Create the Consumer */
+            $auth = new Horde_Service_Twitter_Auth_Oauth(new Horde_Oauth_Consumer($params));
+            $request = new Horde_Service_Twitter_Request_Oauth($injector->getInstance('Horde_Controller_Request'));
+            $twitter = new Horde_Service_Twitter($auth, $request);
+
+            //$twitter->setCache($injector->getInstance('Horde_Cache'));
+            $twitter->setLogger($injector->getInstance('Horde_Log_Logger'));
+            $twitter->setHttpClient($GLOBALS['injector']->getInstance('Horde_Http_Client')->getClient());
+
+            return $twitter;
+        } else {
+            throw new Horde_Service_Twitter_Exception(_("No OAuth Key or Secret found for the Twitter API"));
+        }
+    }
+}
\ No newline at end of file
index fe0d07e..cb752b7 100644 (file)
@@ -287,7 +287,6 @@ class Horde_Registry
             // 'Horde_Registry' - initialized below
             'Horde_Secret' => 'Horde_Core_Binder_Secret',
             'Horde_Service_Facebook' => 'Horde_Core_Binder_Facebook',
-            'Horde_Service_Twitter' => 'Horde_Core_Binder_Twitter',
             'Horde_SessionHandler' => 'Horde_Core_Binder_SessionHandler',
             'Horde_Share_Factory' => 'Horde_Core_Binder_ShareFactory',
             'Horde_Template' => 'Horde_Core_Binder_Template',
@@ -341,6 +340,10 @@ class Horde_Registry
                 'Horde_Core_Factory_Perms',
                 'create',
             ),
+            'Horde_Service_Twitter' => array(
+                'Horde_Core_Factory_Twitter',
+                'create',
+            ),
             'Horde_View' => array(
                 'Horde_Core_Factory_View',
                 'create',