followers.php
2.99 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
134
135
136
137
138
139
140
141
142
143
144
<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @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;
/**
* GitHub API References class for the Joomla Platform.
*
* @documentation https://developer.github.com/v3/users/followers
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
class JGithubPackageUsersFollowers extends JGithubPackage
{
/**
* List followers of a user.
*
* @param string $user The name of the user. If not set the current authenticated user will be used.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getList($user = '')
{
// Build the request path.
$path = ($user)
? '/users/' . $user . '/followers'
: '/user/followers';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* List users followed by another user.
*
* @param string $user The name of the user. If not set the current authenticated user will be used.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getListFollowedBy($user = '')
{
// Build the request path.
$path = ($user)
? '/users/' . $user . '/following'
: '/user/following';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Check if you are following a user.
*
* @param string $user The name of the user.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return boolean
*/
public function check($user)
{
// Build the request path.
$path = '/user/following/' . $user;
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case '204' :
// You are following this user
return true;
break;
case '404' :
// You are not following this user
return false;
break;
default :
throw new UnexpectedValueException('Unexpected response code: ' . $response->code);
break;
}
}
/**
* Follow a user.
*
* Following a user requires the user to be logged in and authenticated with
* basic auth or OAuth with the user:follow scope.
*
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function follow($user)
{
// Build the request path.
$path = '/user/following/' . $user;
return $this->processResponse(
$this->client->put($this->fetchUrl($path), ''),
204
);
}
/**
* Unfollow a user.
*
* Unfollowing a user requires the user to be logged in and authenticated with
* basic auth or OAuth with the user:follow scope.
*
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function unfollow($user)
{
// Build the request path.
$path = '/user/following/' . $user;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
}