From: Ben Klang Date: Sun, 3 Oct 2010 02:33:21 +0000 (-0400) Subject: Rebuild factory for Horde_Services_Twitter X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=767cd07ab7e572617600ca7b6a58cf3af649274d;p=horde.git Rebuild factory for Horde_Services_Twitter --- diff --git a/framework/Core/lib/Horde/Core/Binder/Twitter.php b/framework/Core/lib/Horde/Core/Binder/Twitter.php deleted file mode 100644 index 55a2d4774..000000000 --- a/framework/Core/lib/Horde/Core/Binder/Twitter.php +++ /dev/null @@ -1,50 +0,0 @@ - - * @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 diff --git a/framework/Core/lib/Horde/Core/Factory/Perms.php b/framework/Core/lib/Horde/Core/Factory/Perms.php index 937948732..69c7317c3 100644 --- a/framework/Core/lib/Horde/Core/Factory/Perms.php +++ b/framework/Core/lib/Horde/Core/Factory/Perms.php @@ -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 index 000000000..15b87a926 --- /dev/null +++ b/framework/Core/lib/Horde/Core/Factory/Twitter.php @@ -0,0 +1,45 @@ + + * @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 diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index fe0d07e26..cb752b724 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -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',