From: Michael J. Rubinsky Date: Thu, 1 Jul 2010 17:21:53 +0000 (-0400) Subject: Actually commit the binder... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=b68535a7029462092807ff694d46830f1cb3e8e6;p=horde.git Actually commit the binder... --- diff --git a/framework/Core/lib/Horde/Core/Binder/Twitter.php b/framework/Core/lib/Horde/Core/Binder/Twitter.php new file mode 100644 index 000000000..ce0676a8f --- /dev/null +++ b/framework/Core/lib/Horde/Core/Binder/Twitter.php @@ -0,0 +1,50 @@ + + * @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(); + $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')); + + 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