favorites.php
3.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
/**
* @package Joomla.Platform
* @subpackage Twitter
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
/**
* Twitter API Favorites class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
class JTwitterFavorites extends JTwitterObject
{
/**
* Method to get the most recent favorite statuses for the authenticating or specified user.
*
* @param mixed $user Either an integer containing the user ID or a string containing the screen name.
* @param integer $count Specifies the number of tweets to try and retrieve, up to a maximum of 200. Retweets are always included
* in the count, so it is always suggested to set $include_rts to true
* @param integer $since_id Returns results with an ID greater than (that is, more recent than) the specified ID.
* @param integer $max_id Returns results with an ID less than (that is, older than) the specified ID.
* @param boolean $entities When set to true, each tweet will include a node called "entities,". This node offers a variety
* of metadata about the tweet in a discreet structure, including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getFavorites($user = null, $count = 20, $since_id = 0, $max_id = 0, $entities = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('favorites', 'list');
// Set the API path.
$path = '/favorites/list.json';
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
// Set the count string
$data['count'] = $count;
// Check if since_id is specified.
if ($since_id > 0)
{
$data['since_id'] = $since_id;
}
// Check if max_id is specified.
if ($max_id > 0)
{
$data['max_id'] = $max_id;
}
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to favorite the status specified in the ID parameter as the authenticating user
*
* @param integer $id The numerical ID of the desired status.
* @param boolean $entities When set to true, each tweet will include a node called "entities,". This node offers a variety
* of metadata about the tweet in a discreet structure, including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function createFavorites($id, $entities = null)
{
// Set the API path.
$path = '/favorites/create.json';
$data['id'] = $id;
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'POST', $data);
}
/**
* Method to un-favorites the status specified in the ID parameter as the authenticating user.
*
* @param integer $id The numerical ID of the desired status.
* @param boolean $entities When set to true, each tweet will include a node called "entities,". This node offers a variety
* of metadata about the tweet in a discreet structure, including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function deleteFavorites($id, $entities = null)
{
// Set the API path.
$path = '/favorites/destroy.json';
$data['id'] = $id;
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'POST', $data);
}
}