orgs.php
2.58 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
<?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 Activity class for the Joomla Platform.
*
* @since 3.3 (CMS)
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*
* @documentation https://developer.github.com/v3/orgs/
*
* @property-read JGithubPackageOrgsMembers $members GitHub API object for members.
* @property-read JGithubPackageOrgsTeams $teams GitHub API object for teams.
*/
class JGithubPackageOrgs extends JGithubPackage
{
protected $name = 'Orgs';
protected $packages = array('members', 'teams');
/**
* List User Organizations.
*
* If a user name is given, public and private organizations for the authenticated user will be listed.
*
* @param string $user The user name.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getList($user = '')
{
// Build the request path.
$path = ($user)
? '/users/' . $user . '/orgs'
: '/user/orgs';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get an Organization.
*
* @param string $org The organization name.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function get($org)
{
// Build the request path.
$path = '/orgs/' . $org;
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Edit an Organization.
*
* @param string $org The organization name.
* @param string $billingEmail Billing email address. This address is not publicized.
* @param string $company The company name.
* @param string $email The email address.
* @param string $location The location name.
* @param string $name The name.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function edit($org, $billingEmail = '', $company = '', $email = '', $location = '', $name = '')
{
// Build the request path.
$path = '/orgs/' . $org;
$args = array('billing_email', 'company', 'email', 'location', 'name');
$data = array();
$fArgs = func_get_args();
foreach ($args as $i => $arg)
{
if (array_key_exists($i + 1, $fArgs) && $fArgs[$i + 1])
{
$data[$arg] = $fArgs[$i + 1];
}
}
// Send the request.
return $this->processResponse(
$this->client->patch($this->fetchUrl($path), $data)
);
}
}