]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - lib/twitteroauthclient.php
Merge branch '0.8.x' into twitter-oauth
[quix0rs-gnu-social.git] / lib / twitteroauthclient.php
1 <?php
2
3 class TwitterOAuthClient extends OAuthClient
4 {
5     public static $requestTokenURL = 'https://twitter.com/oauth/request_token';
6     public static $authorizeURL    = 'https://twitter.com/oauth/authorize';
7     public static $accessTokenURL  = 'https://twitter.com/oauth/access_token';
8
9     function __construct($oauth_token = null, $oauth_token_secret = null)
10     {
11         $consumer_key    = common_config('twitter', 'consumer_key');
12         $consumer_secret = common_config('twitter', 'consumer_secret');
13
14         parent::__construct($consumer_key, $consumer_secret,
15                             $oauth_token, $oauth_token_secret);
16     }
17
18     function getAuthorizeLink($request_token) {
19         return parent::getAuthorizeLink($request_token,
20                                         common_local_url('twitterauthorization'));
21
22     }
23
24     function verify_credentials()
25     {
26         $url = 'https://twitter.com/account/verify_credentials.json';
27         $response = $this->oAuthGet($url);
28         $twitter_user = json_decode($response);
29         return $twitter_user;
30     }
31
32     function statuses_update($status, $in_reply_to_status_id = null)
33     {
34         $url = 'https://twitter.com/statuses/update.json';
35         $params = array('status' => $status,
36             'in_reply_to_status_id' => $in_reply_to_status_id);
37         $response = $this->oAuthPost($url, $params);
38         $status = json_decode($response);
39         return $status;
40     }
41
42     function statuses_friends_timeline($since_id = null, $max_id = null,
43                                        $cnt = null, $page = null) {
44
45         $url = 'https://twitter.com/statuses/friends_timeline.json';
46         $params = array('since_id' => $since_id,
47                         'max_id' => $max_id,
48                         'count' => $cnt,
49                         'page' => $page);
50         $qry = http_build_query($params);
51
52         if (!empty($qry)) {
53             $url .= "?$qry";
54         }
55
56         $response = $this->oAuthGet($url);
57         $statuses = json_decode($response);
58         return $statuses;
59     }
60
61     function statuses_friends($id = null, $user_id = null, $screen_name = null,
62                               $page = null)
63     {
64         $url = "https://twitter.com/statuses/friends.json";
65
66         $params = array('id' => $id,
67                         'user_id' => $user_id,
68                         'screen_name' => $screen_name,
69                         'page' => $page);
70         $qry = http_build_query($params);
71
72         if (!empty($qry)) {
73             $url .= "?$qry";
74         }
75
76         $response = $this->oAuthGet($url);
77         $ids = json_decode($response);
78         return $ids;
79     }
80
81     function friends_ids($id = null, $user_id = null, $screen_name = null,
82                          $page = null)
83     {
84         $url = "https://twitter.com/friends/ids.json";
85
86         $params = array('id' => $id,
87                         'user_id' => $user_id,
88                         'screen_name' => $screen_name,
89                         'page' => $page);
90         $qry = http_build_query($params);
91
92         if (!empty($qry)) {
93             $url .= "?$qry";
94         }
95
96         $response = $this->oAuthGet($url);
97         $ids = json_decode($response);
98         return $ids;
99     }
100
101 }