1: <?php
2: 3: 4: 5: 6: 7: 8:
9: class extends Horde_Core_Factory_Injector
10: {
11: public function create(Horde_Injector $injector)
12: {
13: global $conf, $prefs;
14:
15: if (!empty($conf['twitter']['key']) && !empty($conf['twitter']['secret'])) {
16:
17:
18: $consumer_key = $conf['twitter']['key'];
19: $consumer_secret = $conf['twitter']['secret'];
20:
21:
22: $params = array(
23: 'key' => $consumer_key,
24: 'secret' => $consumer_secret,
25: 'requestTokenUrl' => Horde_Service_Twitter::REQUEST_TOKEN_URL,
26: 'authorizeTokenUrl' => Horde_Service_Twitter::USER_AUTHORIZE_URL,
27: 'accessTokenUrl' => Horde_Service_Twitter::ACCESS_TOKEN_URL,
28: 'signatureMethod' => new Horde_Oauth_SignatureMethod_HmacSha1(),
29: 'callbackUrl' => Horde::getServiceLink('twitter')
30: );
31:
32:
33: $auth = new Horde_Service_Twitter_Auth_Oauth(new Horde_Oauth_Consumer($params));
34: $request = new Horde_Service_Twitter_Request_Oauth($injector->getInstance('Horde_Controller_Request'));
35: $twitter = new Horde_Service_Twitter($auth, $request);
36:
37:
38: $twitter->setLogger($injector->getInstance('Horde_Log_Logger'));
39: $twitter->setHttpClient($injector->getInstance('Horde_Core_Factory_HttpClient')->create());
40:
41: return $twitter;
42: } else {
43: throw new Horde_Service_Twitter_Exception(Horde_Core_Translation::t("No OAuth Key or Secret found for the Twitter API"));
44: }
45: }
46: }
47: