Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
members.php000064400000012405151156703660006723 0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright Copyright (C) 2005 - 2020 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 Orgs Members class for the Joomla Platform.
*
* @documentation https://developer.github.com/v3/orgs/members/
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
class JGithubPackageOrgsMembers extends JGithubPackage
{
/**
* Members list.
*
* List all users who are members of an organization.
* A member is a user that belongs to at least 1 team in the organization.
* If the authenticated user is also a member of this organization then
* both concealed and public members will be returned.
* If the requester is not a member of the organization the query will be
* redirected to the public members list.
*
* @param string $org The name of the organization.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return boolean|mixed
*/
public function getList($org)
{
// Build the request path.
$path = '/orgs/' . $org . '/members';
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case 302 :
// Requester is not an organization member.
return false;
break;
case 200 :
return json_decode($response->body);
break;
default :
throw new UnexpectedValueException('Unexpected response code:
' . $response->code);
break;
}
}
/**
* Check membership.
*
* Check if a user is, publicly or privately, a member of the
organization.
*
* @param string $org The name of the organization.
* @param string $user The name of the user.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return boolean
*/
public function check($org, $user)
{
// Build the request path.
$path = '/orgs/' . $org . '/members/' . $user;
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case 204 :
// Requester is an organization member and user is a member.
return true;
break;
case 404 :
// Requester is an organization member and user is not a member.
// Requester is not an organization member and is inquiring about
themselves.
return false;
break;
case 302 :
// Requester is not an organization member.
return false;
break;
default :
throw new UnexpectedValueException('Unexpected response code:
' . $response->code);
break;
}
}
/**
* Add a member.
*
* To add someone as a member to an org, you must add them to a team.
*/
/**
* Remove a member.
*
* Removing a user from this list will remove them from all teams and they
will no longer have
* any access to the organization’s repositories.
*
* @param string $org The name of the organization.
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function remove($org, $user)
{
// Build the request path.
$path = '/orgs/' . $org . '/members/' . $user;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
/**
* Public members list.
*
* Members of an organization can choose to have their membership
publicized or not.
*
* @param string $org The name of the organization.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getListPublic($org)
{
// Build the request path.
$path = '/orgs/' . $org . '/public_members';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Check public membership.
*
* @param string $org The name of the organization.
* @param string $user The name of the user.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return object
*/
public function checkPublic($org, $user)
{
// Build the request path.
$path = '/orgs/' . $org . '/public_members/' . $user;
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case 204 :
// Response if user is a public member.
return true;
break;
case 404 :
// Response if user is not a public member.
return false;
break;
default :
throw new UnexpectedValueException('Unexpected response code:
' . $response->code);
break;
}
}
/**
* Publicize a user’s membership.
*
* @param string $org The name of the organization.
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function publicize($org, $user)
{
// Build the request path.
$path = '/orgs/' . $org . '/public_members/' . $user;
return $this->processResponse(
$this->client->put($this->fetchUrl($path), ''),
204
);
}
/**
* Conceal a user’s membership.
*
* @param string $org The name of the organization.
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function conceal($org, $user)
{
// Build the request path.
$path = '/orgs/' . $org . '/public_members/' . $user;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
}
teams.php000064400000022624151156703660006406 0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright Copyright (C) 2005 - 2020 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 Orgs Teams class for the Joomla Platform.
*
* All actions against teams require at a minimum an authenticated user who
is a member
* of the owner’s team in the :org being managed. Additionally, OAuth
users require “user” scope.
*
* @documentation https://developer.github.com/v3/orgs/teams/
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
class JGithubPackageOrgsTeams extends JGithubPackage
{
/**
* List teams.
*
* @param string $org The name of the organization.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getList($org)
{
// Build the request path.
$path = '/orgs/' . $org . '/teams';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get team.
*
* @param integer $id The team id.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function get($id)
{
// Build the request path.
$path = '/teams/' . (int) $id;
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Create team.
*
* In order to create a team, the authenticated user must be an owner of
the organization.
*
* @param string $org The name of the organization.
* @param string $name The name of the team.
* @param array $repoNames Repository names.
* @param string $permission The permission.
* pull - team members can pull, but not
push to or administer these repositories. Default
* push - team members can pull and push,
but not administer these repositories.
* admin - team members can pull, push and
administer these repositories.
*
* @throws UnexpectedValueException
*
* @since 3.3 (CMS)
*
* @return object
*/
public function create($org, $name, array $repoNames = array(),
$permission = '')
{
// Build the request path.
$path = '/orgs/' . $org . '/teams';
$data = array(
'name' => $name,
);
if ($repoNames)
{
$data['repo_names'] = $repoNames;
}
if ($permission)
{
if (false == in_array($permission, array('pull',
'push', 'admin')))
{
throw new UnexpectedValueException('Permissions must be either
"pull", "push", or "admin".');
}
$data['permission'] = $permission;
}
return $this->processResponse(
$this->client->post($this->fetchUrl($path), $data),
201
);
}
/**
* Edit team.
*
* In order to edit a team, the authenticated user must be an owner of the
org that the team is associated with.
*
* @param integer $id The team id.
* @param string $name The name of the team.
* @param string $permission The permission.
* pull - team members can pull, but not
push to or administer these repositories. Default
* push - team members can pull and push,
but not administer these repositories.
* admin - team members can pull, push and
administer these repositories.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return object
*/
public function edit($id, $name, $permission = '')
{
// Build the request path.
$path = '/teams/' . (int) $id;
$data = array(
'name' => $name,
);
if ($permission)
{
if (false == in_array($permission, array('pull',
'push', 'admin')))
{
throw new UnexpectedValueException('Permissions must be either
"pull", "push", or "admin".');
}
$data['permission'] = $permission;
}
return $this->processResponse(
$this->client->patch($this->fetchUrl($path), $data)
);
}
/**
* Delete team.
*
* In order to delete a team, the authenticated user must be an owner of
the org that the team is associated with.
*
* @param integer $id The team id.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function delete($id)
{
// Build the request path.
$path = '/teams/' . $id;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
/**
* List team members.
*
* In order to list members in a team, the authenticated user must be a
member of the team.
*
* @param integer $id The team id.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getListMembers($id)
{
// Build the request path.
$path = '/teams/' . $id . '/members';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get team member.
*
* In order to get if a user is a member of a team, the authenticated user
must be a member of the team.
*
* @param integer $id The team id.
* @param string $user The name of the user.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return object
*/
public function isMember($id, $user)
{
// Build the request path.
$path = '/teams/' . $id . '/members/' . $user;
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case 204 :
// Response if user is a member
return true;
break;
case 404 :
// Response if user is not a member
return false;
break;
default :
throw new UnexpectedValueException('Unexpected response code:
' . $response->code);
break;
}
}
/**
* Add team member.
*
* In order to add a user to a team, the authenticated user must have
‘admin’ permissions
* to the team or be an owner of the org that the team is associated with.
*
* @param integer $id The team id.
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function addMember($id, $user)
{
// Build the request path.
$path = '/teams/' . $id . '/members/' . $user;
return $this->processResponse(
$this->client->put($this->fetchUrl($path), ''),
204
);
}
/**
* Remove team member.
*
* In order to remove a user from a team, the authenticated user must have
‘admin’ permissions
* to the team or be an owner of the org that the team is associated with.
* NOTE: This does not delete the user, it just remove them from the team.
*
* @param integer $id The team id.
* @param string $user The name of the user.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function removeMember($id, $user)
{
// Build the request path.
$path = '/teams/' . $id . '/members/' . $user;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
/**
* List team repos.
*
* @param integer $id The team id.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function getListRepos($id)
{
// Build the request path.
$path = '/teams/' . $id . '/repos';
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Check if the repo is managed by this team.
*
* @param integer $id The team id.
* @param string $repo The name of the GitHub repository.
*
* @throws UnexpectedValueException
* @since 3.3 (CMS)
*
* @return object
*/
public function checkRepo($id, $repo)
{
// Build the request path.
$path = '/teams/' . $id . '/repos/' . $repo;
$response = $this->client->get($this->fetchUrl($path));
switch ($response->code)
{
case 204 :
// Response if repo is managed by this team.
return true;
break;
case 404 :
// Response if repo is not managed by this team.
return false;
break;
default :
throw new UnexpectedValueException('Unexpected response code:
' . $response->code);
break;
}
}
/**
* Add team repo.
*
* In order to add a repo to a team, the authenticated user must be an
owner of the
* org that the team is associated with. Also, the repo must be owned by
the organization,
* or a direct form of a repo owned by the organization.
*
* If you attempt to add a repo to a team that is not owned by the
organization, you get:
* Status: 422 Unprocessable Entity
*
* @param integer $id The team id.
* @param string $owner The name of the owner of the GitHub
repository.
* @param string $repo The name of the GitHub repository.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function addRepo($id, $owner, $repo)
{
// Build the request path.
$path = '/teams/' . $id . '/repos/' . $owner .
'/' . $repo;
return $this->processResponse(
$this->client->put($this->fetchUrl($path), ''),
204
);
}
/**
* Remove team repo.
*
* In order to remove a repo from a team, the authenticated user must be
an owner
* of the org that the team is associated with. NOTE: This does not delete
the
* repo, it just removes it from the team.
*
* @param integer $id The team id.
* @param string $owner The name of the owner of the GitHub
repository.
* @param string $repo The name of the GitHub repository.
*
* @since 3.3 (CMS)
*
* @return object
*/
public function removeRepo($id, $owner, $repo)
{
// Build the request path.
$path = '/teams/' . (int) $id . '/repos/' . $owner .
'/' . $repo;
return $this->processResponse(
$this->client->delete($this->fetchUrl($path)),
204
);
}
}