sonarrradarrplexorganizrnginxdashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboard
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							251 lines
						
					
					
						
							7.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							251 lines
						
					
					
						
							7.5 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace Github\Api;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * Searching users, getting user information.
							 | 
						|
								 *
							 | 
						|
								 * @link   http://developer.github.com/v3/users/
							 | 
						|
								 *
							 | 
						|
								 * @author Joseph Bielawski <stloyd@gmail.com>
							 | 
						|
								 * @author Thibault Duplessis <thibault.duplessis at gmail dot com>
							 | 
						|
								 */
							 | 
						|
								class User extends AbstractApi
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * Search users by username.
							 | 
						|
								     *
							 | 
						|
								     * @deprecated This method is deprecated use the Search api instead. See https://developer.github.com/v3/search/legacy/#legacy-search-api-is-deprecated
							 | 
						|
								     * @link http://developer.github.com/v3/search/#search-users
							 | 
						|
								     *
							 | 
						|
								     * @param string $keyword the keyword to search
							 | 
						|
								     *
							 | 
						|
								     * @return array list of users found
							 | 
						|
								     */
							 | 
						|
								    public function find($keyword)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/legacy/user/search/'.rawurlencode($keyword));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request all users.
							 | 
						|
								     *
							 | 
						|
								     * @link https://developer.github.com/v3/users/#get-all-users
							 | 
						|
								     *
							 | 
						|
								     * @param int|null $id ID of the last user that you've seen
							 | 
						|
								     *
							 | 
						|
								     * @return array list of users found
							 | 
						|
								     */
							 | 
						|
								    public function all($id = null)
							 | 
						|
								    {
							 | 
						|
								        if (!is_int($id)) {
							 | 
						|
								            return $this->get('/users');
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return $this->get('/users', ['since' => rawurldecode($id)]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get extended information about a user by its username.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/users/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username to show
							 | 
						|
								     *
							 | 
						|
								     * @return array information about the user
							 | 
						|
								     */
							 | 
						|
								    public function show($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get extended information about a user by its username.
							 | 
						|
								     *
							 | 
						|
								     * @link https://developer.github.com/v3/orgs/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username to show
							 | 
						|
								     *
							 | 
						|
								     * @return array information about organizations that user belongs to
							 | 
						|
								     */
							 | 
						|
								    public function organizations($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/orgs');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get user organizations.
							 | 
						|
								     *
							 | 
						|
								     * @link https://developer.github.com/v3/orgs/#list-your-organizations
							 | 
						|
								     *
							 | 
						|
								     * @return array information about organizations that authenticated user belongs to
							 | 
						|
								     */
							 | 
						|
								    public function orgs()
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/user/orgs');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request the users that a specific user is following.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/users/followers/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username       the username
							 | 
						|
								     * @param array  $parameters     parameters for the query string
							 | 
						|
								     * @param array  $requestHeaders additional headers to set in the request
							 | 
						|
								     *
							 | 
						|
								     * @return array list of followed users
							 | 
						|
								     */
							 | 
						|
								    public function following($username, array $parameters = [], array $requestHeaders = [])
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/following', $parameters, $requestHeaders);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request the users following a specific user.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/users/followers/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username       the username
							 | 
						|
								     * @param array  $parameters     parameters for the query string
							 | 
						|
								     * @param array  $requestHeaders additional headers to set in the request
							 | 
						|
								     *
							 | 
						|
								     * @return array list of following users
							 | 
						|
								     */
							 | 
						|
								    public function followers($username, array $parameters = [], array $requestHeaders = [])
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/followers', $parameters, $requestHeaders);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request the repository that a specific user is watching.
							 | 
						|
								     *
							 | 
						|
								     * @deprecated see subscriptions method
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username
							 | 
						|
								     *
							 | 
						|
								     * @return array list of watched repositories
							 | 
						|
								     */
							 | 
						|
								    public function watched($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/watched');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request starred repositories that a specific user has starred.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/activity/starring/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username  the username
							 | 
						|
								     * @param int    $page      the page number of the paginated result set
							 | 
						|
								     * @param int    $perPage   the number of results per page
							 | 
						|
								     * @param string $sort      sort by (possible values: created, updated)
							 | 
						|
								     * @param string $direction direction of sort (possible values: asc, desc)
							 | 
						|
								     *
							 | 
						|
								     * @return array list of starred repositories
							 | 
						|
								     */
							 | 
						|
								    public function starred($username, $page = 1, $perPage = 30, $sort = 'created', $direction = 'desc')
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/starred', [
							 | 
						|
								            'page' => $page,
							 | 
						|
								            'per_page' => $perPage,
							 | 
						|
								            'sort' => $sort,
							 | 
						|
								            'direction' => $direction,
							 | 
						|
								        ]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Request the repository that a specific user is watching.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/activity/watching/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username
							 | 
						|
								     *
							 | 
						|
								     * @return array list of watched repositories
							 | 
						|
								     */
							 | 
						|
								    public function subscriptions($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/subscriptions');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * List public repositories for the specified user.
							 | 
						|
								     *
							 | 
						|
								     * @link https://developer.github.com/v3/repos/#list-user-repositories
							 | 
						|
								     *
							 | 
						|
								     * @param string $username    the username
							 | 
						|
								     * @param string $type        role in the repository
							 | 
						|
								     * @param string $sort        sort by
							 | 
						|
								     * @param string $direction   direction of sort, asc or desc
							 | 
						|
								     * @param string $visibility  visibility of repository
							 | 
						|
								     * @param string $affiliation relationship to repository
							 | 
						|
								     *
							 | 
						|
								     * @return array list of the user repositories
							 | 
						|
								     */
							 | 
						|
								    public function repositories($username, $type = 'owner', $sort = 'full_name', $direction = 'asc', $visibility = 'all', $affiliation = 'owner,collaborator,organization_member')
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/repos', [
							 | 
						|
								            'type' => $type,
							 | 
						|
								            'sort' => $sort,
							 | 
						|
								            'direction' => $direction,
							 | 
						|
								            'visibility' => $visibility,
							 | 
						|
								            'affiliation' => $affiliation,
							 | 
						|
								        ]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * List repositories that are accessible to the authenticated user.
							 | 
						|
								     *
							 | 
						|
								     * @link https://developer.github.com/v3/repos/#list-your-repositories
							 | 
						|
								     *
							 | 
						|
								     * @param array $params visibility, affiliation, type, sort, direction
							 | 
						|
								     *
							 | 
						|
								     * @return array list of the user repositories
							 | 
						|
								     */
							 | 
						|
								    public function myRepositories(array $params = [])
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/user/repos', $params);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get the public gists for a user.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/gists/
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username
							 | 
						|
								     *
							 | 
						|
								     * @return array list of the user gists
							 | 
						|
								     */
							 | 
						|
								    public function gists($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/gists');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get the public keys for a user.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/users/keys/#list-public-keys-for-a-user
							 | 
						|
								     *
							 | 
						|
								     * @param string $username the username
							 | 
						|
								     *
							 | 
						|
								     * @return array list of the user public keys
							 | 
						|
								     */
							 | 
						|
								    public function keys($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/keys');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * List events performed by a user.
							 | 
						|
								     *
							 | 
						|
								     * @link http://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
							 | 
						|
								     *
							 | 
						|
								     * @param string $username
							 | 
						|
								     *
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public function publicEvents($username)
							 | 
						|
								    {
							 | 
						|
								        return $this->get('/users/'.rawurlencode($username).'/events/public');
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |