Yaffs site version 1.1
[yaffs-website] / vendor / php-instagram-api / php-instagram-api / Instagram / Core / Proxy.php
diff --git a/vendor/php-instagram-api/php-instagram-api/Instagram/Core/Proxy.php b/vendor/php-instagram-api/php-instagram-api/Instagram/Core/Proxy.php
deleted file mode 100644 (file)
index 22eb5dd..0000000
+++ /dev/null
@@ -1,564 +0,0 @@
-<?php
-
-/**
-* Instagram PHP
-* @author Galen Grover <galenjr@gmail.com>
-* @license http://opensource.org/licenses/mit-license.php The MIT License
-*/
-
-namespace Instagram\Core;
-
-/**
- * Proxy
- *
- * This class performs all the API calls
- *
- * It uses the supplied HTTP client as a default (cURL)
- * 
- */
-class Proxy {
-
-    /**
-     * HTTP Client
-     * 
-     * @var \Instagram\Net\ClientInterface
-     * @access protected
-     */
-    protected $client;
-
-    /**
-     * Instagram access token
-     * 
-     * @var string
-     * @access protected
-     */
-    protected $access_token = null;
-
-    /**
-     * Client ID
-     * 
-     * @var string
-     * @access protected
-     */
-    protected $client_id = null;
-
-    /**
-     * API URL
-     * 
-     * @var string
-     * @access protected
-     */
-    protected $api_url = 'https://api.instagram.com/v1';
-
-    /**
-     * Constructor
-     *
-     * @param \Instagram\Net\ClientInterface $client HTTP Client
-     * @param string $access_token The access token from authentication
-     * @access public
-     */
-    public function __construct( \Instagram\Net\ClientInterface $client, $access_token = null ) {
-        $this->client = $client;
-        $this->access_token = $access_token;
-    }
-
-    /**
-     * Get the access token
-     * 
-     * @param array $data Auth data
-     * @return string Returns the access token
-     */
-    public function getAccessToken( array $data ) {
-        $response = $this->apiCall(
-            'post',
-            'https://api.instagram.com/oauth/access_token',
-            $data
-        );
-        return $response;
-    }
-
-    /**
-     * Set the access token
-     * 
-     * @param string $access_token The access token
-     * @access public
-     */
-    public function setAccessToken( $access_token ) {
-        $this->access_token = $access_token;
-    }
-
-    /**
-     * Set the client ID
-     * 
-     * @param string $client_id the client ID
-     * @access public
-     */
-    public function setClientID( $client_id ) {
-        $this->client_id = $client_id;
-    }
-
-    /**
-     * Logout of instagram
-     *
-     * This hasn't been implemented by instagram yet
-     * 
-     * @access public
-     */
-    public function logout() {
-        $this->client->get( 'https://instagram.com/accounts/logout/', array() );
-    }
-
-    /**
-     * Get the media associated with an object
-     *
-     * This function is used by the individual object functions
-     * getLocationMedia, getTagMedia, atc...
-     * 
-     * @param  string $api_endpoint API endpoint for the object type
-     * @param  string $id Id of the object to get the media for
-     * @param  array $params Extra parameters for the API call
-     * @return StdClass Returns the raw response
-     * @access protected
-     */
-    protected function getObjectMedia( $api_endpoint, $id, array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/%s/%s/media/recent', $this->api_url, strtolower( $api_endpoint ), $id  ),
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get location media
-     * 
-     * @param string $id Location ID
-     * @param array $params Extra params to pass to the API
-     * @return StdClass Returns the location media
-     * @access public
-     */
-    public function getLocationMedia( $id, array $params = null ) {
-        return $this->getObjectMedia( 'Locations', $id, $params );
-    }
-
-    /**
-     * Get tag media
-     * 
-     * @param string $id Location ID
-     * @param array $params Extra params to pass to the API
-     * @return StdClass Returns the location media
-     * @access public
-     */
-    public function getTagMedia( $id, array $params = null ) {
-        return $this->getObjectMedia( 'Tags', $id, $params );
-    }
-
-    /**
-     * Get user media
-     * 
-     * @param string $id Location ID
-     * @param array $params Extra params to pass to the API
-     * @return StdClass Returns the location media
-     * @access public
-     */
-    public function getUserMedia( $id, array $params = null ) {
-        return $this->getObjectMedia( 'Users', $id, $params );
-    }
-
-    /**
-     * Get user
-     * 
-     * @param string $id User ID
-     * @return StdClass Returns the user data
-     * @access public
-     */
-    public function getUser( $id ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/users/%s', $this->api_url, $id )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Get a user's follows
-     * 
-     * @param string $id User's ID
-     * @param array $params Extra params to pass to the API
-     * @return StdClass Returns the user's followers
-     * @access public
-     */
-    public function getUserFollows( $id, array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/users/%s/follows', $this->api_url, $id ),
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get a user's followers
-     * 
-     * @param string $id User's ID
-     * @param array $params Extra params to pass to the API
-     * @return StdClass Returns the user's followers
-     * @access public
-     */
-    public function getUserFollowers( $id, array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/users/%s/followed-by', $this->api_url, $id ),
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get media comments
-     * 
-     * @param string $id Media ID
-     * @return StdClass Returns the media data
-     * @access public
-     */
-    public function getMediaComments( $id ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/media/%s/comments', $this->api_url, $id )
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get media likes
-     * 
-     * @param string $id Media ID
-     * @return StdClass Returns the media likes
-     * @access public
-     */
-    public function getMediaLikes( $id ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/media/%s/likes', $this->api_url, $id )
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get media comments
-     * 
-     * @return StdClass Returns the current user data
-     * @access public
-     */
-    public function getCurrentUser() {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/users/self', $this->api_url )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Get media
-     * 
-     * @param string $id Media ID
-     * @return StdClass Returns the media data
-     * @access public
-     */
-    public function getMedia( $id ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/media/%s', $this->api_url, $id )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Get tag
-     * 
-     * @param string $id Tag ID
-     * @return StdClass Returns the tag data
-     * @access public
-     */
-    public function getTag( $tag ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/tags/%s', $this->api_url, $tag )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Get location
-     * 
-     * @param string $id Location ID
-     * @return StdClass Returns the location data
-     * @access public
-     */
-    public function getLocation( $id ) {
-        $response = $this->apiCall(
-            'get',
-            sprintf( '%s/locations/%s', $this->api_url, $id )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Search users
-     * 
-     * @param array $params Search params
-     * @return array Returns an array of user data
-     * @access public
-     */
-    public function searchUsers( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/users/search',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Search tags
-     * 
-     * @param array $params Search params
-     * @return array Returns an array of tag data
-     * @access public
-     */
-    public function searchTags( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/tags/search',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Search media
-     * 
-     * @param array $params Search params
-     * @return array Returns an array of media data
-     * @access public
-     */
-    public function searchMedia( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/media/search',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Search locations
-     * 
-     * @param array $params Search params
-     * @return array Returns an array of location data
-     * @access public
-     */
-    public function searchLocations( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/locations/search',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get popular media
-     * 
-     * @param array $params Extra params
-     * @return array Returns an array of popular media data
-     * @access public
-     */
-    public function getPopularMedia( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/media/popular',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get the current user's feed
-     * 
-     * @param array $params Extra params
-     * @return array Returns an array of media data
-     * @access public
-     */
-    public function getFeed( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/users/self/feed',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get the current users follow requests
-     * 
-     * @param $params Extra params (not used in API, here in case it's added)
-     * @return array Returns an array of user data
-     * @access public
-     */
-    public function getFollowRequests( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/users/self/requested-by',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get the current user's liked media
-     * 
-     * @param array $params Extra params
-     * @return array Returns an array of media data
-     * @access public
-     */
-    public function getLikedMedia( array $params = null ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . '/users/self/media/liked',
-            $params
-        );
-        return $response->getRawData();
-    }
-
-    /**
-     * Get a user's relationship to the current user
-     * 
-     * @param string $user_id User to check relationship for
-     * @return StdClass Returns the relationship
-     * @access public
-     */
-    public function getRelationshipToCurrentUser( $user_id ) {
-        $response = $this->apiCall(
-            'get',
-            $this->api_url . sprintf( '/users/%s/relationship', $user_id )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Modify a relationship with the current user
-     * @param string $user_id User ID of the user to change the relationship for
-     * @param string $relationship New relationship {@link http://instagram.com/developer/endpoints/relationships/#post_relationship}
-     * @return StdClass Returns the status
-     * @access public
-     */
-    public function modifyRelationship( $user_id, $relationship ) {
-        $response = $this->apiCall(
-            'post',
-            $this->api_url . sprintf( '/users/%s/relationship', $user_id ),
-            array( 'action' => $relationship )
-        );
-        return $response->getData();
-    }
-
-    /**
-     * Add a like form the current user on a media
-     * 
-     * @param string $media_id Media ID to like
-     * @return StdClass Returns the status
-     * @access public
-     */
-    public function like( $media_id ) {
-        $this->apiCall(
-            'post',
-            $this->api_url . sprintf( '/media/%s/likes', $media_id )
-        );
-    }
-
-    /**
-     * Delete a like form the current user on a media
-     * 
-     * @param string $media_id Media ID to unlike
-     * @return StdClass Returns the status
-     * @access public
-     */
-    public function unLike( $media_id ) {
-        $this->apiCall(
-            'delete',
-            $this->api_url . sprintf( '/media/%s/likes', $media_id )
-        );
-    }
-
-    /**
-     * Add a comment to a media
-     * 
-     * @param string $media_id Media ID
-     * @param string $text Comment text
-     * @return StdClass Returns the status
-     * @access public
-     */
-    public function addMediaComment( $media_id, $text ) {
-        $this->apiCall(
-            'post',
-            $this->api_url . sprintf( '/media/%s/comments', $media_id ),
-            array( 'text' => $text )
-        );
-    }
-
-    /**
-     * Delete a comment from a media
-     * 
-     * @param string $media_id Media ID
-     * @param string $comment_id Comment ID to delete
-     * @return StdClass
-     * @access public
-     */
-    public function deleteMediaComment( $media_id, $comment_id ) {
-        $this->apiCall(
-            'delete',
-            $this->api_url . sprintf( '/media/%s/comments/%s', $media_id, $comment_id )
-        );
-    }
-
-    /**
-     * Make a call to the API
-     * 
-     * @param string $method HTTP method to use
-     * @param string $url URL
-     * @param array $params API parameters
-     * @param boolean $throw_exception True to throw exceptoins
-     * @throws APIException, APIAuthException
-     * @return  \Instagram\Net\ApiResponse Returns teh API response
-     * @access private
-     */
-    private function apiCall( $method, $url, array $params = null, $throw_exception = true ){
-
-        $raw_response = $this->client->$method(
-            $url,
-            array(
-                'access_token'  => $this->access_token,
-                'client_id'     => isset( $params['client_id'] ) ? $params['client_id'] : $this->client_id
-            ) + (array) $params
-        );
-
-        $response = new \Instagram\Net\ApiResponse( $raw_response );
-
-        if ( !$response->isValid() ) {
-            if ( $throw_exception ) {
-                if ( $response->getErrorType() == 'OAuthAccessTokenException' ) {
-                    throw new \Instagram\Core\ApiAuthException( $response->getErrorMessage(), $response->getErrorCode(), $response->getErrorType() );
-                }
-                else {
-                    throw new \Instagram\Core\ApiException( $response->getErrorMessage(), $response->getErrorCode(), $response->getErrorType() );
-                }
-            }
-            else {
-                return false;
-            }
-        }
-        return $response;
-    }
-
-
-}
\ No newline at end of file